When server announce auth as "PLAIN LOGIN" instead of the common inverse order

"LOGIN PLAIN" make sure qmail-remote can authenticate.
This commit is contained in:
Renato Botelho 2010-09-20 13:35:44 +00:00
parent 0fab0893cc
commit 8d9c1f0443
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=261484
3 changed files with 15 additions and 1 deletions

View file

@ -7,7 +7,7 @@
PORTNAME= qmail
PORTVERSION= ${QMAIL_VERSION}.${SPAMCONTROL_VERSION}
PORTREVISION= 0
PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES+= http://www.fehcom.de/qmail/spamcontrol/:spamcontrol \
${MASTER_SITE_LOCAL:S/$/:spamcontrol/}

View file

@ -642,6 +642,7 @@ post-patch:
@cd ${UCSPISRC} && package/compile
@cd ${WRKSRC} && ./install_spamcontrol.sh
@${PATCH} -d ${WRKSRC} < ${FILESDIR}/extra-patch-spamcontrol-qmail-smtpd.c
@${PATCH} -d ${WRKSRC} < ${FILESDIR}/extra-patch-spamcontrol-qmail-remote.c
. if defined(WITH_SPF_PATCH) && defined(SPF_SPAMCONTROL_PATCH)
@${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_SPAMCONTROL_PATCH}
. if defined(WITH_EXTTODO_PATCH) && defined(EXTTODO_PATCH)

View file

@ -0,0 +1,13 @@
--- qmail-remote.c.orig 2010-09-20 10:31:12.000000000 -0300
+++ qmail-remote.c 2010-09-20 10:32:12.000000000 -0300
@@ -507,6 +507,10 @@
j = str_chr(smtptext.s+i+8,'L'); /* AUTH LOGIN */
if (j > 0)
if (case_starts(smtptext.s+i+8+j,"LOGIN")) { mailfrom_login(); flagauth = 1; return; }
+ /* Deal with EHLO messages like "PLAIN LOGIN" in this order */
+ j = str_chr(smtptext.s+i+14,'L'); /* AUTH LOGIN */
+ if (j > 0)
+ if (case_starts(smtptext.s+i+14+j,"LOGIN")) { mailfrom_login(); flagauth = 1; return; }
j = str_chr(smtptext.s+i+8,'P'); /* AUTH PLAIN */
if (j > 0)
if (case_starts(smtptext.s+i+8+j,"PLAIN")) { mailfrom_plain(); flagauth = 2; return; }