Skip to content

Server Type and Version Recognition

Ondrej Zizka edited this page Jun 3, 2013 · 3 revisions

The tool can recognize server types and their versions.

It's not just version what is recognized, it's version range. It may happen that the analysis can't provide precise version for a given server, so for example, it recognizes "JBoss AS 5.0.0 - 5.0.1".

It also distinguishes between project and product (e.g. JBoss AS and JBoss EAP) in the following manner: A version (Version class) holds two values: Project version and product version. Any product version is based on some project version. E.g. JBoss EAP 5.1.2 is based on JBoss AS 5.1.0. Therefore, if it's product version 5.1.0, then the Version has values (5.1.2, 5.1.0). When it comes to printing out the version, product will be preferred, if available, e.g. JBoss EAP 5.1.0 will be printed rather than JBoss AS 5.1.2.

JBoss AS 5 / AS 6 / EAP 5

Type

These files are checked; if they are not found, the directory is not recognized as AS 5.

  • jar-versions.xml
  • bin/run.sh
  • lib/jboss-main.jar

Version

As a quick method, CRC32 of jar-versions.xml is matched against a list of CRC32 of AS and EAP releases.

If does not succeed, CRC32 of all .jar files are computed and compared against a list. The least diverging list is used to determine the version.

JBoss AS 7 / WildFly 8 / EAP 6

Type

These files are checked; if they are not found, the directory is not recognized as AS 5.

  • jboss-modules.jar
  • bin/standalone.sh
  • standalone/configuration (dir)

Version

The same .jar list comparison method as for AS 5 / EAP 5 is used.