32 lines
927 B
Diff
32 lines
927 B
Diff
|
diff --git a/sendmail/usersmtp.c b/sendmail/usersmtp.c
|
||
|
index b4ff5cc..dddbb0a 100644
|
||
|
--- a/sendmail/usersmtp.c
|
||
|
+++ b/sendmail/usersmtp.c
|
||
|
@@ -1346,9 +1346,7 @@ safesaslfile(context, file)
|
||
|
{
|
||
|
long sff;
|
||
|
int r;
|
||
|
-#if SASL <= 10515
|
||
|
size_t len;
|
||
|
-#endif
|
||
|
char *p;
|
||
|
|
||
|
if (file == NULL || *file == '\0')
|
||
|
@@ -1386,9 +1384,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));
|