summaryrefslogtreecommitdiff
path: root/debian/patches/8.13/8.13.8/sasl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/8.13/8.13.8/sasl.patch')
-rw-r--r--debian/patches/8.13/8.13.8/sasl.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/patches/8.13/8.13.8/sasl.patch b/debian/patches/8.13/8.13.8/sasl.patch
new file mode 100644
index 0000000..468cb74
--- /dev/null
+++ b/debian/patches/8.13/8.13.8/sasl.patch
@@ -0,0 +1,29 @@
+diff -u -r -N sendmail-8.13.8.orig/sendmail/usersmtp.c sendmail-8.13.8/sendmail/usersmtp.c
+--- sendmail-8.13.8.orig/sendmail/usersmtp.c 2006-11-16 10:26:06.003494000 +0100
++++ sendmail-8.13.8/sendmail/usersmtp.c 2006-11-16 10:34:24.744797703 +0100
+@@ -553,6 +553,9 @@
+
+ if (sasl_clt_init)
+ return SASL_OK;
++ /* Beware, callbacks are ignored if sasl_client_init() has
++ * been called before (by a library such as libnss_ldap)
++ */
+ result = sasl_client_init(callbacks);
+
+ /* should we retry later again or just remember that it failed? */
+@@ -1579,9 +1582,13 @@
+
+ /* make a new client sasl connection */
+ # if SASL >= 20000
++ /* We provide the callbacks again because global callbacks in
++ * sasl_client_init() are ignored if sasl has been initialized
++ * before, for example, by a library such as libnss-ldap.
++ */
+ saslresult = sasl_client_new(bitnset(M_LMTP, m->m_flags) ? "lmtp"
+ : "smtp",
+- CurHostName, NULL, NULL, NULL, 0,
++ CurHostName, NULL, NULL, callbacks, 0,
+ &mci->mci_conn);
+ # else /* SASL >= 20000 */
+ saslresult = sasl_client_new(bitnset(M_LMTP, m->m_flags) ? "lmtp"
+