Appendix D – Diagnosing Activation Problems

Beginning in RLM v11.0, the activation server writes debugging information to the database. This information contains, at a minimum, some request data and the status response. To see this debug data, select the AdminDebugging tab. Here you will see 3 buttons: View Debug Log, Enable Debug Logging, and Disable Debug Logging. If you want to see the debug output, press the Enable Debug Logging, then View Debug Log. You can clear the log from within the page where you are viewing it.

Note

You should not run continuously with debug logging turned on, since this will tend to fill your database with log data.

On the client side, you can set the environment variable RLM_ACT_DEBUG before running your activation utility (or RLM). With this environment variable set, debug output will be written to the process’s stdout.

In addition, beginning in RLM v14.1, you can set the environment variable RLM_ACT_DIAGNOSTICS to the name of a file. This file will get the same output that RLM_ACT_DEBUG produces. This is most useful for GUI-based applications which do not have a convenient process stdout.

When you call rlm_act_request(), errors can come from either the server side, or locally. This section lists most of these errors and what they mean.


Errors Detected and Returned by the Activation Server (ISV_mklic)

Status Return

Problem

Solution

RLM_EH_BADPARAM (-123)

Error creating license

If RLM_EH_BADPARAM is returned without a corresponding secondary error, this is an error on the server side generating the license. Most likely, this means that some part of the license contains illegal characters – generally in the “extra” parameters supplied in the product definition, activation key, or in the rlm_act_request() call itself.

RLM_EH_ACT_BADLICKEY (-135)

Bad license key in activation binary/settings file.

Your ISV_mklic binary (or generator settings file) has incorrect RLM license keys. Re-build and install the new binary or settings file.

RLM_EH_BAD_HTTP (-136)

An unknown HTTP error was returned to the RLM activation client.

This is usually an installation problem. However, this can also be caused by antivirus or firewall software. Some installation software. error possibilities are:

  • You have specified an ISV name which is incorrect.

  • The ISV web server is not configured correctly.

  • The ISV_mklic binary is not for the correct architecture

RLM_EH_ACT_UNLICENSED (-159)

Activation platform unlicensed for RLM (in license_to_run.h).

This happens if you have built a custom license generator (for example, to support an ISV-defined hostid) and you are running ActPro on a platform which isn’t licensed for RLM.

RLM_EH_ACTPRO_UNLICENSED (-160)

Activation Pro license missing or invalid.

Check the actpro.lic file in the cgi-bin directory. Make sure it is for “rlm_actpro_ISVNAME” where ISVNAME is your ISV name, and that it hasn’t expired.

RLM_ACT_NO_KEY (-1002)

No activation key supplied to the activation server.

This is an error in the configuration of your software.

RLM_ACT_NO_PROD (-1003)

Activation key specifies a non-existent product.

Make sure your activation key refers to an existing product. This is a setup problem.

RLM_ACT_CANT_WRITE_KEYS (-1004)

Cannot write the license key fulfillment data.

This is an internal server error. Check to make sure the MySQL server is running correctly.

RLM_ACT_KEY_USED (-1005)

Activation key already used.

The supplied activation key has already been used and no more activations are available.

RLM_ACT_BAD_HOSTID (-1006)

No hostid supplied to the activation server.

This is an error in the configuration of your software.

RLM_ACT_BAD_HOSTID_TYPE (-1007)

No acceptable hostid type transmitted to activation server.

By default, activation will only accept hostids of types: 32-bit, ethernet, disksn, uuid, rlmidN, or ISV-defined. In addition hostids with value 0 are rejected as is 32-bit hostid 7f0100 (the default Linux hostid). In addition, both the product definition and the activation key can specify the list of acceptable hostid types, you may not have passed one of these types. Finally, this error will also occur if there is an illegal character in a valid hostid type.

RLM_ACT_CANTREAD_DB (-1010)

Cannot initialize MySQL or connect to the database.

Make sure that the isvname.mysql file in the cgi-bin directory contains the correct server name/port/username/password.

This error can also result from:

  1. A missing column in the “licf” table when attempting to revoke a license, or

  2. A missing or empty or bad generator settings file in the case of RLM Hosted Activation.

To debug this problem, once you are sure you have a good generator settings file, set the environment variable RLM_ACT_SQL_DEBUG, then run the activation generator as follows:

ISV_mklic << EOF
akey=1&hostid=2
EOF


The generator will then print (to stdout) the SQL error status.

RLM_ACT_CANT_WRITE_FULFILL (-1011)

Cannot write the license key fulfillment data.

This is an internal server error. Check to make sure the MySQL server is running correctly.

RLM_ACT_CLIENT_TIME_BAD (-1012)

Time on client machine is more than 7 days off from server machine.

Correct the time difference between client and server machines (must be < 7 days).

RLM_ACT_TOOMANY_HOSTID_CHANGES (-1014)

Refresh-type activation has had it’s hostid changed too many times.

RLM_ACT_BLACLISTED (-1015)

Activation attempted from a host which is banned for this server.

Update the banned list if it is not accurate.

RLM_ACT_NOT_WHITELISTED (-1016)

Activation attempted from a host not on the Allowed Hosts for this activation key.

Update the Allowed Hosts list if it is not accurate.

RLM_ACT_KEY_EXPIRED (-1017)

The activation key itself has expired.

This would be a normal error for your customer who attempts to use an expired activation key.

RLM_ACT_BAD_GENERATOR (-1020)

Generator settings file missing or empty. License keys in generator (ISV.gen) bad or expired, or the generator is missing.

Make sure that the <isv>.gen file is present and correct (it will be 0-length on install until replaced). If you built your own generator, check to make sure it was built with a correct license_to_run.h

RLM_ACT_NO_KEY_MATCH (-1021)

Activation Key can’t be found in database.

This would be a normal error for a customer who uses an incorrect activation key.

RLM_ACT_DB_READERR (-1026)

Error reading data from MySQL.

The activation key table has the wrong number of columns (this can happen if you use a v9.1 database with the v9.2 software). The product definition table has the wrong number of columns.

RLM_ACT_GEN_PARAM_ERR (-1027)

Error in generator call to rlm_sign_license().

The license string passed into rlm_sign_license() is incorrect, most likely because something in your extra license parameters is invalid.

RLM_ACT_UNSUPPORTED_CMD (-1028)

Unsupported command.

This is an error that a non-Activation Pro server returns when an advanced command is issued to it. This error also results in ActPro when attempting to activate a multilicense product with a REFRESH activation key.

RLM_ACT_REVOKE_TOOLATE (-1029)

Revoke attempted after license expiration. This is a warning – the rehostable hostid has been deleted.

Licenses cannot be revoked after they expire. If you receive this error, you can reactivate the license if there is activation count remaining in the activation key. The activation server will NOT have returned count to the activation key, however, the rehostable hostid will be deleted.

RLM_ACT_KEY_DISABLED (-1030)

Activation Key Disabled

This results from an rlm_act_info() or rlm_act_keyvalid() call if the activation key has been disabled.

RLM_ACT_KEY_NO_HOSTID (-1031)

Key not fulfilled on this hostid.

This results from an rlm_act_keyvalid() call if the activation key has not been fulfilled on the specified hostid.

RLM_ACT_KEY_HOSTID_REVOKED (-1032)

Key revoked on this hostid.

This results from an rlm_act_keyvalid() call if the activation key has been revoked on the specified hostid.

RLM_ACT_NO_FULFILLMENTS (-1033)

No fulfillments to revoke.

This results from an rlm_revoke() call if the activation key has no fulfillments to revoke. This can be treated as a warning.

RLM_ACT_LICENSE_TOOBIG (-1034)

Generated license exceeds maximum size.

A product definition that specified multiple licenses created a license that exceeds RLM_ACT_MAX_LICENSE characters.

RLM_ACT_NO_REHOST (-1035)

Rehostable hostids not supported for this product.

A rehostable hostid cannot be used for a counted license, and it also cannot be used for any product definition that specifies multiple licenses.

RLM_ACT_NO_CLEAR (-1038)

Unencrypted requests not allowed on this server.

The Activation Pro server does not allow unencrypted requests. Set in the admin/generator settings tab.

RLM_ACT_KEY_TOOMANY (-1042)

Request for more licenses than remain on the activation key.

Request fewer licenses.

RLM_ACT_SUB_BADTYPE (-1043)

A subscription activation key specifies a product with an invalid license type.

Subscription activation keys can only activate products with Nodelocked, Uncounted or Single license types.


Errors Detected and Returned Locally by rlm_act_request() or by the HTTP Server

Status Return

Problem

Solution

RLM_EH_NET_INIT (-103)

Can’t initialize the networking code.

Most likely the URL specified in the call is incorrect.

RLM_EH_NET_WERR (-104)

Cannot write data to network.

Most likely the URL specified in the call is incorrect.

RLM_EH_NET_RERR (-105)

Can’t read returned message from network.

If the write succeeds and the read fails, there are several possibilities:

  • The MySQL server is down or you have specified the wrong port.

  • The server, when it does the reverse DNS lookup on the client system, times out. This will be noted in the debug log as of v12.1 If this is the case, increasing the client-side timeout from the default 15 (or 20) seconds to 25 seconds should solve the problem. See Setting the Activation Timeout for more information.

  • Your connection might be slow. Activation uses a 10-20 second timeout by default, try setting the environment variable RLM_ACT_TIMEOUT to 45 or 60 to get a 45 or 60-second timeout, or

  • There is a proxy server in the middle. Try setting HTTP_PROXY.

  • Anti-virus or firewall software is blocking the return from the activation server.

RLM_EH_BADPARAM with RLM_ACT_BP_TOOMUCH sub-error (-123)

Request is too long to communicate.

Check the length of the extra license parameters, the hostid list, and the log data. Each of these should be < 80 bytes.

RLM_EH_CANTCONNECT_URL (-132)

Can’t connect to the specified URL.

Check that the URL is correct and that the activation server is installed in cgi-bin. Pass the URL without the trailing /cgi-bin, e.g. http://reprisesoftware.com, NOT http://reprisesoftware.com/cgi-bin Also, pre v14.1, you will get this error if your website redirects from HTTP to HTTPS.

RLM_EH_ACT_BADSTAT (-134)

rlm_act_request() received no status in the returned message from ISV_mklic

This is most likely a configuration error on the server side, which causes the ISV_mklic process to return an incomplete reply. The HTTP server error logs might well indicate the problem.

If your server is known to be running correctly, this could be caused by a proxy server that isn’t configured correctly. This can also be caused by the Avast antivirus software - which interrupts the return from the activation server and returns a partial buffer, causing this error. The workaround is to turn off the Avast “Web Shield”. This can be turned off for 10 minutes in the Avast GUI.

RLM_EH_BAD_HTTP (with sub-error equal to HTTP status) (-136)

Other HTTP error

See the full error message for the HTTP status. Use RLM’s extended error messages. For some HTTP 404 errors, we have encountered Apache installations that do not make cgi-bin files executable by default.

RLM_EH_UNLICENSED (-143)

RLM license keys missing or invalid.

Check your license_to_run.h include file and ensure your RLM keys are valid.

RLM_EH_ACT_OLDSERVER (-145)

Activation server version too old.

This happens when a pre-v9 activation server is used with a v9+ client which encrypts the request. This can also happen if there is a proxy server installed at the user site.

RLM_EH_NO_REHOST_TOP_DIR (-148)

Can’t create or chdir to rehostable top-level directory.

A rehostable hostid lives in the RLM temporary directory, which is /var/tmp on Unix and Mac, or %ProgramData%Reprise on Windows.

The rehostable top-level directory is contained in the RLM temporary directory and has the name of the product. Either the top level directory doesn’t exist, it is inaccessible by this user, or the files inside this directory can’t be created or are inaccessible.

RLM_EH_CANT_CREATE_REHOST (-151)

The rehostable hostid for this product could not be created.

Verify that the user has write access to either /var/tmp/{isvname} on Unix/Mac systems, or %ProgramData%Reprise on Windows.

RLM_EH_REHOST_TOP_DIR_EXISTS (-152)

The directory which contains a rehostable hostid for this product already exists, so it cannot be created.

Verify that this product has not already been activated with a rehostable hostid. If it has, it cannot be activated again on the same machine.

RLM_EH_REHOST_EXISTS (-153)

The rehostable hostid already exists for this product, so it cannot be created.

Verify that this product has not already been activated with a rehostable hostid. If it has, it cannot be activated again on the same machine.

RLM_EH_NO_FULFILLMENTS (-154)

No fulfillments exist to revoke.

An attempt was made to revoke a license which had a zero fulfillment count on this server. This can happen if the revoke operation is attempted after already being revoked.

RLM_ACT_BAD_REDIRECT (-1013)

HTTP redirect does not specify hostname, or can’t connect to specified hostname.

This is a web server redirect error – no redirected hostname was specified, or we can’t connect to the redirected hostname. You will also get this error on a pre-v14.1 version of RLM if the redirect is from HTTP to HTTPS.

RLM_ACT_NO_PERMISSION (-1018)

HTTP server did not allow request to be processed.

This is a configuration error – your license generator cannot run on the web server.

RLM_ACT_SERVER_ERROR (-1019)

HTTP request returned HTTP status 500 - INTERNAL_SERVER_ERROR

The activation server is not configured correctly. Look at the web server error log files to find the source of the error. Without this information, it is impossible to diagnose the error. This could also mean incorrect permissions on your isv_mklic binary.

RLM_ACT_NO_AUTH_SUPPLIED (-1022)

Proxy requires authentication.

Supply proxy credentials via the HTTP_PROXY_CREDENTIALS environment variable.

HTTP_PROXY_AUTH_FAILED (-1023)

Proxy credentials didn’t work.

Proxy requires authentication and the credentials supplied failed.

RLM_ACT_NO_BASIC_AUTH (-1024)

Proxy does not support BASIC authentication.

RLM activation uses only basic authentication with proxy servers.

RLM_ACT_BAD_URL (-1036)

License generator not found at this URL.

The URL in the rlm_activate() call is incorrect, or your license generator is not present or not executable.