On Tue, Dec 14, 2010 at 09:52:58AM -0500, Kenneth Goldman wrote:
Question:
OPENSSL_VERSION_TEXT is undocumented. Can I count on it being there and
up to date, or is it for internal use only?
Request:
OPENSSL_VERSION_NUMBER varies between a long and an int constant, Could
it please be standardized?
It is standardized, but the standard has changed as OpenSSL evolved, it
is quite stable now. Postfix parses the number explained as follows:
/*
* OPENSSL_VERSION_NUMBER(3):
*
* OPENSSL_VERSION_NUMBER is a numeric release version identifier:
*
* MMNNFFPPS: major minor fix patch status
*
* The status nibble has one of the values 0 for development, 1 to e for
* betas 1 to 14, and f for release. Parsed OpenSSL version number. for
* example
*
* 0x000906000 == 0.9.6 dev 0x000906023 == 0.9.6b beta 3 0x00090605f ==
* 0.9.6e release
*
* Versions prior to 0.9.3 have identifiers 0x0930. Versions between
* 0.9.3 and 0.9.5 had a version identifier with this interpretation:
*
* MMNNFFRBB major minor fix final beta/patch
*
* for example
*
* 0x000904100 == 0.9.4 release 0x000905000 == 0.9.5 dev
*
* Version 0.9.5a had an interim interpretation that is like the current
* one, except the patch level got the highest bit set, to keep continu-
* ity. The number was therefore 0x0090581f.
*/
The parser is:
long version = OPENSSL_VERSION_NUMBER; /* SSLeay() for run-time version */
if (version 0x0930) {
info-status = 0;
info-patch = version 0x0f;
version = 4;
info-micro = version 0x0f;
version = 4;
info-minor = version 0x0f;
version = 4;
info-major = version 0x0f;
} else if (version 0x00905800L) {
info-patch = version 0xff;
version = 8;
info-status = version 0xf;
version = 4;
info-micro = version 0xff;
version = 8;
info-minor = version 0xff;
version = 8;
info-major = version 0xff;
} else {
info-status = version 0xf;
version = 4;
info-patch = version 0xff;
version = 8;
info-micro = version 0xff;
version = 8;
info-minor = version 0xff;
version = 8;
info-major = version 0xff;
if (version 0x00906000L)
info-patch = ~0x80;
}
--
Viktor.
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager majord...@openssl.org