Skip to content
Snippets Groups Projects
Commit 3cb7a09e authored by Howard Chu's avatar Howard Chu
Browse files

Added check for Cyrus SASL sasl_version()

parent 4114c96c
No related branches found
No related tags found
No related merge requests found
......@@ -2194,6 +2194,12 @@ if test $ol_with_cyrus_sasl != no ; then
if test $ol_enable_spasswd != no ; then
ol_link_spasswd=yes
fi
ac_save_LIBS="$LIBS"
LIBS="$LIBS $ol_link_sasl"
AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
[define if your SASL library has sasl_version()])])
LIBS="$ac_save_LIBS"
fi
else
......
......@@ -56,6 +56,28 @@ int ldap_int_sasl_init( void )
{ SASL_CB_LIST_END, NULL, NULL }
};
#ifdef HAVE_SASL_VERSION
#define SASL_BUILD_VERSION ((SASL_VERSION_MAJOR << 24) |\
(SASL_VERSION_MINOR << 16) | SASL_VERSION_STEP)
{ int rc;
sasl_version( NULL, &rc );
if ( ((rc >> 16) != ((SASL_VERSION_MAJOR << 8)|SASL_VERSION_MINOR)) ||
(rc & 0xffff) < SASL_VERSION_STEP) {
#ifdef NEW_LOGGING
LDAP_LOG( TRANSPORT, INFO,
"ldap_int_sasl_init: SASL version mismatch, got %x, wanted %x.\n",
rc, SASL_BUILD_VERSION, 0 );
#else
Debug( LDAP_DEBUG_ANY,
"ldap_int_sasl_init: SASL version mismatch, got %x, wanted %x.\n",
rc, SASL_BUILD_VERSION, 0 );
#endif
return -1;
}
}
#endif
if ( sasl_initialized ) {
return 0;
}
......
......@@ -1091,6 +1091,27 @@ int slap_sasl_init( void )
{ SASL_CB_LIST_END, NULL, NULL }
};
#ifdef HAVE_SASL_VERSION
#define SASL_BUILD_VERSION ((SASL_VERSION_MAJOR << 24) |\
(SASL_VERSION_MINOR << 16) | SASL_VERSION_STEP)
sasl_version( NULL, &rc );
if ( ((rc >> 16) != ((SASL_VERSION_MAJOR << 8)|SASL_VERSION_MINOR)) ||
(rc & 0xffff) < SASL_VERSION_STEP) {
#ifdef NEW_LOGGING
LDAP_LOG( TRANSPORT, INFO,
"slap_sasl_init: SASL version mismatch, got %x, wanted %x.\n",
rc, SASL_BUILD_VERSION, 0 );
#else
Debug( LDAP_DEBUG_ANY,
"slap_sasl_init: SASL version mismatch, got %x, wanted %x.\n",
rc, SASL_BUILD_VERSION, 0 );
#endif
return -1;
}
#endif
sasl_set_alloc(
ber_memalloc,
ber_memcalloc,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment