From fe2751bf1e0388ddfa3fdfa88ed70b2bc94e2173 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Mon, 6 May 2024 03:23:54 +0200
Subject: Adding debian version 2.4.47+dfsg-3+deb10u7.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 debian/patches/do-not-second-guess-sonames | 68 ++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 debian/patches/do-not-second-guess-sonames

(limited to 'debian/patches/do-not-second-guess-sonames')

diff --git a/debian/patches/do-not-second-guess-sonames b/debian/patches/do-not-second-guess-sonames
new file mode 100644
index 0000000..bbf099c
--- /dev/null
+++ b/debian/patches/do-not-second-guess-sonames
@@ -0,0 +1,68 @@
+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.
+
+--- a/libraries/libldap/cyrus.c
++++ b/libraries/libldap/cyrus.c
+@@ -74,28 +74,6 @@
+  */
+ int ldap_int_sasl_init( void )
+ {
+-#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
+ 
+ /* SASL 2 takes care of its own memory completely internally */
+ #if SASL_VERSION_MAJOR < 2 && !defined(CSRIMALLOC)
+--- a/servers/slapd/sasl.c
++++ b/servers/slapd/sasl.c
+@@ -1145,26 +1145,6 @@ int slap_sasl_init( void )
+ #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,
-- 
cgit v1.2.3