[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#6302) second-guessing of libsasl ABI is incorrect for Linux distributions



--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Patch attached.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=do-not-second-guess-sonames

Rip out code that second-guesses the libsasl soname / Debian shlibs.  If
cyrus sasl upstream is breaking the ABI, this needs to be fixed upstream
there, not kludged around upstream here!

Debian bug #546885

Upstream ITS #6302 filed.

Index: trunk/libraries/libldap/cyrus.c
===================================================================
--- trunk.orig/libraries/libldap/cyrus.c
+++ trunk/libraries/libldap/cyrus.c
@@ -78,28 +78,6 @@
 	/* XXX not threadsafe */
 	static int sasl_initialized = 0;
 
-#ifdef HAVE_SASL_VERSION
-	/* 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, "%u.%d.%d", (unsigned)rc >> 24, (rc >> 16) & 0xff,
-			rc & 0xffff );
-
-		Debug( LDAP_DEBUG_ANY,
-		"ldap_int_sasl_init: SASL library version mismatch:"
-		" expected " SASL_VERSION_STRING ","
-		" got %s\n", version, 0, 0 );
-		return -1;
-	}
-	}
-#endif
 	if ( sasl_initialized ) {
 		return 0;
 	}
Index: trunk/servers/slapd/sasl.c
===================================================================
--- trunk.orig/servers/slapd/sasl.c
+++ trunk/servers/slapd/sasl.c
@@ -1135,26 +1135,6 @@
 #endif
 
 #ifdef HAVE_CYRUS_SASL
-#ifdef HAVE_SASL_VERSION
-	/* 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, "%u.%d.%d", (unsigned)rc >> 24, (rc >> 16) & 0xff,
-			rc & 0xffff );
-		Debug( LDAP_DEBUG_ANY, "slap_sasl_init: SASL library version mismatch:"
-			" expected %s, got %s\n",
-			SASL_VERSION_STRING, version, 0 );
-		return -1;
-	}
-#endif
 
 	sasl_set_mutex(
 		ldap_pvt_sasl_mutex_new,

--BXVAT5kNtrzKuDFl--