Cryptlex LexActivator 3.10.2: Revoke or deletion of license key does not make IsProductGenuine return an error

Reproduction:

  1. create a Node-locked license key
  2. activate the license key on a client machine, and keep calling IsProductGenuine once in a while for current status check
  3. Revoke or delete the license key on the dashboard

Result:
IsProductGenuine kept returning LA_OK so the client cannot notice if the license is revoked.

NOTE: If Activate is called, it will return LA_E_REVOKED
NOTE: if the step 3 is Suspend the license, it works fine since IsProductGenuine returns LA_SUSPENDED

Hi Aki,

Have you set the license callback? The license callback will return you the correct status code. And once the callback has invoked ( meaning server sync has finished), this will be reflected in further calls to IsLicenseGenuine function.

Oh I haven’t specify callback. So, in Cryptlex v3, specifying callback is mandatory in order to this specific case works fine? (The other information such as expiration date/suspended state seems to be server-synced properly without specifying callback)

Please let me know.

Specifying callback is not must, it is just for notification purpose.

hmm… that means if there’s a case like “server sync is properly invoked after the license is revoked from dashboard” + “however, IsLicenseGenuine still returns LA_OK”, it can be a bug. Is my understanding correct?

In order to check if server sync is invoked, the easiest way sounded like settings a callback.

Server sync is set to 180s and waited for 5min, so for sure server sync is invoked… but let me double check and update with you.

I registered the callback and analyze the LexActivator V3 behavior.
Looks like, both of suspend and revoke cases, callback is invoked telling it is suspended, revoked.

However, IsLicenseGenuine behaves differently:

  • Suspended: IsLicenseGenuine returns LA_SUSPENDED
  • Revoked: IsLicenseGenuine returns LA_OK

If I close down the application and restart again, IsLicenseGenuine will return LA_E_REVOKED

So, I’d say this is a bug of LexActivator (unless in this case by design IsLicenseGenuine is supposed to return LA_OK)

I believe the same case should be happening with “license key is deleted from the dashboard after activation” case instead of Revoked case.

Can you take a look at this case?

We will get this checked and get back to you. Which programming language are you using?

Thanks a lot for your help

We’re using C++ on Visual studio 2019.

Hi Aki,

This was a caching bug, and has been fixed now in v3.11.1.

Regards,
Adnan

Thank you very much for the fix!

I’m trying to find what’s changed on recent LexActivator version (ie Change Log), but not in LexActivator document website nor downloaded zip.

Where can I find such change logs?

Please let me know.

Please refer to the following:

https://docs.cryptlex.com/changelog