ATG License IP Checks on JBoss

Home/Java/ATG/ATG License IP Checks on JBoss

Some ATG product licenses are bound to a specific list of IP addresses. However, it may validate that in a somewhat counter-intuitive manner, at least under Linux.

If, for example, you are running ATG within JBoss on a server with multiple IP addresses (or multiple NICs), you might expect that if you bind JBoss to a specific IP address, that will be the IP that is used in the license check, since clearly that is the real IP the server is listening on.

Not so. It appears that instead of checking the IP address(es) of the J2EE container, it looks at the machine’s hostname. So if your hostname is configured to a name that is mapped to a different IP in your /etc/hosts file, your license will fail to validate.

The fix is relatively simple, just change the hostname of the server to match the name mapped to the licensed IP address in your /etc/hosts file, and start up JBoss again.

However, since this essentially alters the “identity” of your server it can have other repercussions on your server. So be warned. It may make more sense to get the licenses issued with IPs matching your hostname, not the actual IP you intend to run JBoss/ATG on.

I think this is a bit of a bug, in my opinion.

By | 2017-05-18T15:17:34+00:00 May 23rd, 2008|ATG|3 Comments

About the Author:

3 Comments

  1. A. Knauf January 8, 2009 at 8:22 am - Reply

    Hi Devon.

    Thanks for sharing that information. It cost me half a day until I finally figured out that this was the issue. IMHO (and I agree with you) this is clearly a bug in the ATG implementation – the comparison of the license-authorized IP address *must* match the one the JBoss is originally bound to – not the one the local hostname is bound to (which may differ).

    Cheers & Thanks,
    Axel Knauf

  2. Devon January 8, 2009 at 1:22 pm - Reply

    @Axel: glad I’m not the only one who feels it’s counter-intuitive. I’m sorry you lost the time diagnosing it. Hope your New Year is going well!

  3. Le February 4, 2011 at 10:56 pm - Reply

    Hi,

    Well, I was able to override the JDK class java.net.InetAddress getLocalHost to return a hostname that I want , from java argument passed on jboss startup if it exists.

    Just grab the sun source code, recompile and stick it into sun’s jdk jre/lib/rt.jar

    Seems to work.

    From licensing perspective, you’re not messing with atg code, just sun’s code… well, now they’re both Oracle, you might violate all the licensing contracts.

Leave A Comment