Guys, I am tiring to right a locking mechanism for my program. I wanted to find something unique on a Linux/Unix system that I could read to lock my code to that machine. Does anyone know of a call I can make to get an unique ID like a disk ID, or system ID? thanx Peter N.
From: "Peter Nikolla" <petern@hvnnet.com>
I am tiring to right
It only took me thirty seconds to figure that you are trying to write.
Depends on why you want it. If you just need a unique ID, the ``hostname'' command will give you the name of your machine, ``uname -a'' will give you that and more. If you are trying to prevent anybody from copying: (a) that's not the Linux way and I'm not sure I would want to help you if I could. (b) it's impossible anyway, since anybody can patch the kernel to find out what your program is looking for and give it a fake one. -- -- Keith Wright <kwright@free-comp-shop.com> Programmer in Chief, Free Computer Shop <http://www.free-comp-shop.com> --- Food, Shelter, Source code. ---
On Mon, Nov 05, 2001 at 08:00:11PM -0500, Peter Nikolla wrote:
I'll agree with Keith on this one, it's fairly impossible to do if you're doing software-only, and probably isn't a good idea anyway. All you'll end up doing is ticking people off as they change system information around on you to bypass the "copy protection". Even semi-devious tricks like locking on root filesystem UUID (which I think would be cool to play with once or twice but not actually use for real code) can be easily fooled by something like tune2fs, if the underlying filesystem has UUIDs at all (ext[23] and XFS do, but does JFS, reiser, etc?) Typically, software tries to lock on hostid, but that's manually changable on every platform I can think of, and since PCs don't have the extra chips for hostid, it's generated in software for Linux/BSD/etc for extra-easy changing. The hostid on some platforms (SPARCs specifically here) are some algorithmic version of the main ethernet controller's MAC address. But that's changable as well via ifconfig. Why are you trying to do this for anyway? Unless your software is so critical that its functions can't be done elsewhere, I think you'll find that most people will see the "lock" business as a reason to not buy the software. -- Randomly Generated Tagline: "Flourescent lights are generating negative ions." - Today's BOFH Excuse
On Tue, 6 Nov 2001, Theo Van Dinter wrote:
There are valid reasons besides software license locking to want to know if you are on a specific machine. Sometimes utilities just need to know, and, considering that a machine may be aliased, it can sometimes be tricky to get good info. <opinion> Also, there are valid reasons for licensing and selling/leasing some products. I used to work for a company which sold a very high-value, small customer base mechanical engineering product. This product would never exist as an open source product because it took too much work to make the product. Although I believe in the open source model, I don't think it's all-encompassing. Some products just need income in order to live. </opinion> Bill
On Tue, Nov 06, 2001 at 02:52:12PM -0500, Bill Mills-Curran wrote:
Absolutely, open-source software is great but there is plenty of room for commercial stuff out there. Licenses are one thing, locking software to a particular machine is another issue entirely. I have no problem with people charging me money for products that are worth it (heck, I *buy* my RedHat CDs whenever possible), but I really don't like the one license/one machine model. There was some talk a while ago about making open-source licensing code, ala flexlm. Essentially there's a daemon somewhere that says "there are X licenses available", and the application can be installed in a billion different places. However, the licensing code will only allow the application to run in X places simultaneously. It's the "book licensing method" -- you can give the book to anyone you want, but it can only be used by one person at a time. It would also be possible to say "unlimited licenses", and then use the licensing system as an audit system to find out how many users are actually using the application, etc. I think the end of the discussion was that open source and this licensing type of system are contrary to each other. Personally, I think it'd be a fun thing to work on if I had the time. -- Randomly Generated Tagline: There are two types of Linux developers - those who can spell, and those who can't. There is a constant pitched battle between the two. (From one of the post-1.1.54 kernel update messages posted to c.o.l.a)
On Tue, 6 Nov 2001, Theo Van Dinter wrote:
<snip>
I've worked with flexlm & actually had to port the source. It turns out that the license server needs to be node-locked. I think that all licensing models (except maybe the MicroSoft "everyone contacts the MS big-brother server" model) require node-locking at some level. Flexlm locks the server to a node, which doles out licenses as necessary. Bill
I would like to thank everyone for there input. Peter N. -----Original Message----- From: wlug-admin@mail.wlug.org [mailto:wlug-admin@mail.wlug.org]On Behalf Of Theo Van Dinter Sent: Tuesday, November 06, 2001 3:06 PM To: wlug@mail.wlug.org Subject: Re: [Wlug] Unique ID On Tue, Nov 06, 2001 at 02:52:12PM -0500, Bill Mills-Curran wrote:
Absolutely, open-source software is great but there is plenty of room for commercial stuff out there. Licenses are one thing, locking software to a particular machine is another issue entirely. I have no problem with people charging me money for products that are worth it (heck, I *buy* my RedHat CDs whenever possible), but I really don't like the one license/one machine model. There was some talk a while ago about making open-source licensing code, ala flexlm. Essentially there's a daemon somewhere that says "there are X licenses available", and the application can be installed in a billion different places. However, the licensing code will only allow the application to run in X places simultaneously. It's the "book licensing method" -- you can give the book to anyone you want, but it can only be used by one person at a time. It would also be possible to say "unlimited licenses", and then use the licensing system as an audit system to find out how many users are actually using the application, etc. I think the end of the discussion was that open source and this licensing type of system are contrary to each other. Personally, I think it'd be a fun thing to work on if I had the time. -- Randomly Generated Tagline: There are two types of Linux developers - those who can spell, and those who can't. There is a constant pitched battle between the two. (From one of the post-1.1.54 kernel update messages posted to c.o.l.a) _______________________________________________ Wlug mailing list Wlug@mail.wlug.org http://mail.wlug.org/mailman/listinfo/wlug
participants (4)
-
Bill Mills-Curran
-
Keith Wright
-
Peter Nikolla
-
Theo Van Dinter