summarylogtreecommitdiffstats
path: root/sendmail-8.17.2-sasl2-in-etc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sendmail-8.17.2-sasl2-in-etc.patch')
-rw-r--r--sendmail-8.17.2-sasl2-in-etc.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/sendmail-8.17.2-sasl2-in-etc.patch b/sendmail-8.17.2-sasl2-in-etc.patch
new file mode 100644
index 000000000000..ac01c7ce6d7e
--- /dev/null
+++ b/sendmail-8.17.2-sasl2-in-etc.patch
@@ -0,0 +1,31 @@
+diff --git a/sendmail/usersmtp.c b/sendmail/usersmtp.c
+index f60537d..8c2dcf7 100644
+--- a/sendmail/usersmtp.c
++++ b/sendmail/usersmtp.c
+@@ -1379,9 +1379,7 @@ safesaslfile(context, file)
+ {
+ long sff;
+ int r;
+-# if SASL <= 10515
+ size_t len;
+-# endif
+ char *p;
+
+ if (SM_IS_EMPTY(file))
+@@ -1419,9 +1417,16 @@ safesaslfile(context, file)
+ # endif /* SASL <= 10515 */
+
+ p = (char *) file;
++ len = strlen(p);
+ if ((r = safefile(p, RunAsUid, RunAsGid, RunAsUserName, sff,
+ S_IRUSR, NULL)) == 0)
+ return SASL_OK;
++#if SASL > 10515
++ /* Expect /usr/lib/sasl2/Sendmail.conf to be missing - config now in /etc/sasl2 */
++ if (type == SASL_VRFY_CONF && r == ENOENT &&
++ len >= 8 && strncmp(p, "/usr/lib", 8) == 0)
++ return SASL_CONTINUE;
++#endif /* SASL > 10515 */
+ if (LogLevel > (r != ENOENT ? 8 : 10))
+ sm_syslog(LOG_WARNING, NOQID, "error: safesasl(%s) failed: %s",
+ p, sm_errstring(r));