lkundrak / rpms / sendmail

Forked from rpms/sendmail 4 years ago
Clone
619babf
diff --git a/sendmail/usersmtp.c b/sendmail/usersmtp.c
619babf
index c217ffa..e4dadd3 100644
619babf
--- a/sendmail/usersmtp.c
619babf
+++ b/sendmail/usersmtp.c
619babf
@@ -1331,9 +1331,7 @@ safesaslfile(context, file)
90a31a9
 {
90a31a9
 	long sff;
90a31a9
 	int r;
90a31a9
-#if SASL <= 10515
90a31a9
 	size_t len;
90a31a9
-#endif /* SASL <= 10515 */
90a31a9
 	char *p;
90a31a9
 
90a31a9
 	if (file == NULL || *file == '\0')
619babf
@@ -1369,9 +1367,16 @@ safesaslfile(context, file)
90a31a9
 #endif /* SASL <= 10515 */
90a31a9
 
90a31a9
 	p = (char *) file;
90a31a9
+	len = strlen(p);
90a31a9
 	if ((r = safefile(p, RunAsUid, RunAsGid, RunAsUserName, sff,
90a31a9
 			  S_IRUSR, NULL)) == 0)
90a31a9
 		return SASL_OK;
90a31a9
+#if SASL > 10515
90a31a9
+	/* Expect /usr/lib/sasl2/Sendmail.conf to be missing - config now in /etc/sasl2 */
90a31a9
+	if (type == SASL_VRFY_CONF && r == ENOENT &&
90a31a9
+            len >= 8 && strncmp(p, "/usr/lib", 8) == 0)
90a31a9
+		return SASL_CONTINUE;
90a31a9
+#endif /* SASL > 10515 */
90a31a9
 	if (LogLevel > (r != ENOENT ? 8 : 10))
90a31a9
 		sm_syslog(LOG_WARNING, NOQID, "error: safesasl(%s) failed: %s",
90a31a9
 			  p, sm_errstring(r));