sendmail/backport-sendmail-8.17.1-sasl2-in-etc.patch

32 lines
918 B
Diff
Raw Normal View History

2020-01-01 00:11:22 +08:00
diff --git a/sendmail/usersmtp.c b/sendmail/usersmtp.c
2022-03-21 16:51:46 +08:00
index 5fe0791..2417558 100644
2020-01-01 00:11:22 +08:00
--- a/sendmail/usersmtp.c
+++ b/sendmail/usersmtp.c
2022-03-21 16:51:46 +08:00
@@ -1374,9 +1374,7 @@ safesaslfile(context, file)
2020-01-01 00:11:22 +08:00
{
long sff;
int r;
2022-03-21 16:51:46 +08:00
-# if SASL <= 10515
2020-01-01 00:11:22 +08:00
size_t len;
2022-03-21 16:51:46 +08:00
-# endif
2020-01-01 00:11:22 +08:00
char *p;
2022-03-21 16:51:46 +08:00
if (SM_IS_EMPTY(file))
@@ -1414,9 +1414,16 @@ safesaslfile(context, file)
# endif /* SASL <= 10515 */
2020-01-01 00:11:22 +08:00
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));