From 10811b6f51f991980e124a43beb1eb4ebe4dce53 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 12 Sep 2003 00:54:21 +0000 Subject: [PATCH] Clarify/standardize library version mismatch error messages --- libraries/libldap/cyrus.c | 21 ++++++++++++++------- servers/slapd/back-bdb/init.c | 11 ++++++----- servers/slapd/sasl.c | 21 ++++++++++++++------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index bf4d839e44..19a7a07886 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -57,22 +57,29 @@ int ldap_int_sasl_init( void ) }; #ifdef HAVE_SASL_VERSION -#define SASL_BUILD_VERSION ((SASL_VERSION_MAJOR << 24) |\ - (SASL_VERSION_MINOR << 16) | SASL_VERSION_STEP) - + /* stringify the version number, sasl.h doesn't do it for us */ +#define VSTR0(maj, min, pat) #maj "." #min "." #pat +#define VSTR(maj, min, pat) VSTR0(maj, min, pat) +#define SASL_VERSION_STRING VSTR(SASL_VERSION_MAJOR, SASL_VERSION_MINOR, \ + SASL_VERSION_STEP) { int rc; sasl_version( NULL, &rc ); if ( ((rc >> 16) != ((SASL_VERSION_MAJOR << 8)|SASL_VERSION_MINOR)) || (rc & 0xffff) < SASL_VERSION_STEP) { + char version[sizeof("xxx.xxx.xxxxx")]; + sprintf( version, "%d.%d.%d", rc >> 24, rc >> 16 * 0xff, + rc & 0xffff ); #ifdef NEW_LOGGING LDAP_LOG( TRANSPORT, INFO, - "ldap_int_sasl_init: SASL version mismatch, got %x, wanted %x.\n", - rc, SASL_BUILD_VERSION, 0 ); + "ldap_int_sasl_init: SASL library version mismatch:" + " expected " SASL_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #else Debug( LDAP_DEBUG_ANY, - "ldap_int_sasl_init: SASL version mismatch, got %x, wanted %x.\n", - rc, SASL_BUILD_VERSION, 0 ); + "ldap_int_sasl_init: SASL library version mismatch:" + " expected " SASL_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #endif return -1; } diff --git a/servers/slapd/back-bdb/init.c b/servers/slapd/back-bdb/init.c index 740e33888e..8a5a468af1 100644 --- a/servers/slapd/back-bdb/init.c +++ b/servers/slapd/back-bdb/init.c @@ -615,13 +615,14 @@ bdb_initialize( { #ifdef NEW_LOGGING LDAP_LOG( BACK_BDB, ERR, - "bdb_db_initialize: version mismatch: " - "\texpected: %s \tgot: %s\n", DB_VERSION_STRING, version, 0 ); + "bdb_initialize: BDB library version mismatch:" + " expected " DB_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #else Debug( LDAP_DEBUG_ANY, - "bdb_initialize: version mismatch\n" - "\texpected: " DB_VERSION_STRING "\n" - "\tgot: %s \n", version, 0, 0 ); + "bdb_initialize: BDB library version mismatch:" + " expected " DB_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #endif } diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c index feb4d5ecb6..527e95cda9 100644 --- a/servers/slapd/sasl.c +++ b/servers/slapd/sasl.c @@ -965,21 +965,28 @@ int slap_sasl_init( void ) }; #ifdef HAVE_SASL_VERSION -#define SASL_BUILD_VERSION ((SASL_VERSION_MAJOR << 24) |\ - (SASL_VERSION_MINOR << 16) | SASL_VERSION_STEP) + /* stringify the version number, sasl.h doesn't do it for us */ +#define VSTR0(maj, min, pat) #maj "." #min "." #pat +#define VSTR(maj, min, pat) VSTR0(maj, min, pat) +#define SASL_VERSION_STRING VSTR(SASL_VERSION_MAJOR, SASL_VERSION_MINOR, \ + SASL_VERSION_STEP) sasl_version( NULL, &rc ); if ( ((rc >> 16) != ((SASL_VERSION_MAJOR << 8)|SASL_VERSION_MINOR)) || (rc & 0xffff) < SASL_VERSION_STEP) { - + char version[sizeof("xxx.xxx.xxxxx")]; + sprintf( version, "%d.%d.%d", rc >> 24, rc >> 16 & 0xff, + rc & 0xffff ); #ifdef NEW_LOGGING LDAP_LOG( TRANSPORT, INFO, - "slap_sasl_init: SASL version mismatch, got %x, wanted %x.\n", - rc, SASL_BUILD_VERSION, 0 ); + "slap_sasl_init: SASL library version mismatch:" + " expected " SASL_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #else Debug( LDAP_DEBUG_ANY, - "slap_sasl_init: SASL version mismatch, got %x, wanted %x.\n", - rc, SASL_BUILD_VERSION, 0 ); + "slap_sasl_init: SASL library version mismatch:" + " expected " SASL_VERSION_STRING "," + " got %s\n", version, 0, 0 ); #endif return -1; } -- 2.39.5