Index: usersmtp.c =================================================================== RCS file: /cvs/sendmail/usersmtp.c,v retrieving revision 8.482 diff -u -r8.482 usersmtp.c --- usersmtp.c 3 Feb 2010 18:39:55 -0000 8.482 +++ usersmtp.c 10 Mar 2010 04:29:04 -0000 @@ -476,7 +476,8 @@ #if SASL else if (sm_strcasecmp(line, "auth") == 0) { - if (p != NULL && *p != '\0') + if (p != NULL && *p != '\0' && + !bitset(MCIF_AUTH2, mci->mci_flags)) { if (mci->mci_saslcap != NULL) { @@ -488,7 +489,7 @@ mci->mci_saslcap = str_union(mci->mci_saslcap, p, mci->mci_rpool); - mci->mci_flags |= MCIF_AUTH; + mci->mci_flags |= MCIF_AUTH2; } else { @@ -505,6 +506,9 @@ } } } + if (tTd(95, 5)) + sm_syslog(LOG_DEBUG, NOQID, "AUTH flags=%lx, mechs=%s", + mci->mci_flags, mci->mci_saslcap); } #endif /* SASL */ } Index: sendmail.h =================================================================== RCS file: /cvs/sendmail/sendmail.h,v retrieving revision 8.1077 diff -u -r8.1077 sendmail.h --- sendmail.h 2 Feb 2010 18:05:23 -0000 8.1077 +++ sendmail.h 10 Mar 2010 04:29:04 -0000 @@ -803,6 +803,7 @@ # define MCIF_HELO 0x00800000 /* we used HELO: ignore extensions */ #endif /* _FFR_IGNORE_EXT_ON_HELO */ #define MCIF_INLONGLINE 0x01000000 /* in the middle of a long line */ +#define MCIF_AUTH2 0x02000000 /* got 2 AUTH lines */ #define MCIF_ONLY_EHLO 0x10000000 /* use only EHLO in smtpinit */ /* states */ Index: mci.c =================================================================== RCS file: /cvs/sendmail/mci.c,v retrieving revision 8.222 diff -u -r8.222 mci.c --- mci.c 6 Jan 2010 01:33:11 -0000 8.222 +++ mci.c 10 Mar 2010 04:29:04 -0000 @@ -593,6 +593,7 @@ { MCIF_CVT7TO8, "CVT7TO8" }, { MCIF_INMIME, "INMIME" }, { MCIF_AUTH, "AUTH" }, + { MCIF_AUTH2, "AUTH2" }, { MCIF_AUTHACT, "AUTHACT" }, { MCIF_ENHSTAT, "ENHSTAT" }, { MCIF_PIPELINED, "PIPELINED" },