Log in

View Full Version : FlexLM 6.1 an Vendor Defined HostID


McGinster
September 25th, 2002, 17:17
Hi all

I have a question regarding FlexLM 6.1
I have a target that uses Vendor_Defined_HostID
lc_set_attr with multiple calls of 3A

So I persume that different ID's are supported
Looking deeper in the calls I found that there
are 4 Vendordefined ID's with different integer
values. The 4th argument seems to be a pointer
to a function (it's always the same pointer for all
4 ID's), but it's never called.

How to proceed from this point ?. I have already
extracted the Keys 1-5 and Seeds 1/2. Target
does not use cryptfilters,checkout filters or lc_new_job

What really drives me crazy is that the license file
I already have uses HOSTID=ANY and a VENDOR_STRING and it works.

Perhaps somebody can help me in understand this

Greetings


McGinster

VoxQuietis
September 26th, 2002, 12:57
You should look within the SDK for the vendor defined hostid example. It is usually applied for the incorporation of non-Globetrotter dongles. So if You want to generate a license with HOSTID=STRANGE_DONGLE=12345678 then You need to declare the STRANGE_DONGLE as a vendor defined hostid. After that lmcrypt can produce a valid license.

I should also point to the fact, that the mentionend declaration is only required for the parsing of the feature line, i.e. You don't need to supply a fully working STRANGE_DONGLE.c file. Usually the S/W vendor implements a check, whether You are running the application on a STRANGE_DONGLE= xxx machine. If he doesn't do that check, it should be considered as a flawed implementation, where a simple HOSTID=ANY does overcome all the additional protection.

So don't waste You're time with the actual implementation of the vendor defined hostid unless You're shure that You want to reverse it, e.g. because You are interested in emulating a dongle.

HTH
- Vox.

McGinster
September 27th, 2002, 14:17
Hi again

Tried it, and failed

Changed vendor_hostid.c, the build rules for lmcrypt
and added the call for the vendorid in lmcrypt.c right after
the call to lc_init

I still get -8 for the license checkout

Perhaps I have overseen something ...
I used the values from lc_set_attr
where esp->c points to the hostid struct
this struct contains a char* to the hostidname
a int value, in this case 3e9, then 0 and then
a pointer to a function. I used the values of char*
and int. Is that correct ?

Greetings

McGinster