I recently hit an issue with 0.9.8p due to OPENSSL_VERSION_NUMBER being
of the form
0xnnnnnnnnn
instead of what the code expected:
0xnnnnnnnnnL
This happened to cause a warning and hence a build failure. The code in
question basically did something like this:
#include <stdio.h>
#include <openssl/opensslv.h>
int main() {
printf("%lx\n", OPENSSL_VERSION_NUMBER);
return(0);
}
$ gcc -Wall -Werror -c /tmp/test.c
/tmp/test.c: In function `main':
/tmp/test.c:5: warning: long unsigned int format, int arg (arg 2)
Re-appending the 'L' to /usr/include/openssl/opensslv.h solved the
issue. Also the manpage for OPENSSL_VERSION_NUMBER still states that
OPENSSL_VERSION_NUMBER should be of the form:
#define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL
I took a look at CVS and head seems to get it right with:
#define OPENSSL_VERSION_NUMBER 0x10100000L
however the OpenSSL_0_9_8-stable branch has:
#define OPENSSL_VERSION_NUMBER 0x00908120
The following patch fixes this.
diff -ruN openssl/crypto/opensslv.h openssl-new/crypto/opensslv.h
--- openssl/crypto/opensslv.h 2010-12-02 20:42:28.000000000 +0100
+++ openssl-new/crypto/opensslv.h 2010-12-29 11:07:46.822416311
+0100
@@ -25,7 +25,7 @@
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
-#define OPENSSL_VERSION_NUMBER 0x00908120
+#define OPENSSL_VERSION_NUMBER 0x00908120L
#ifdef OPENSSL_FIPS
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8r-dev-fips xx XXX xxxx"
#else
-M
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]