nmh-workers
[Top] [All Lists]

Re: smtp authentication problem

2022-02-01 14:41:41
I am using nmh-1.7.1 taken from the Debian "bookworm" (the current
"testing") distribution. Initially, and in the session recorded above,
I was using the normal binary deb, but for experimenting under gdb I
obviously needed an unstripped version so I got the source deb,
unpacked nmh_1.7.1.orig.tar.gz and built it using "LDADD=-Bstatic
./configure --with-cyrus-sasl --with-tls --prefix=`pwd`/testdir".

So, try the following patch.  It worked for me when I tested it against
your SMTP server (well, I don't have an account there, but with this
patch it was able to successfully use the PLAIN mechanism).

--Ken

diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c
index fb1afa14..b6b6e570 100644
--- a/mts/smtp/smtp.c
+++ b/mts/smtp/smtp.c
@@ -955,7 +956,12 @@ EHLOset (char *s)
 
     for (ehlo = EHLOkeys; *ehlo; ehlo++) {
        ep = *ehlo;
-       if (has_prefix(ep, s)) {
+       /*
+        * Make sure the character after the EHLO keyword is either
+        * a NUL or a space; this makes sure we don't get tripped up
+        * on things like AUTH= if we're looking for AUTH
+        */
+       if (has_prefix(ep, s) && (ep[len] == '\0' || ep[len] == ' ')) {
            for (ep += len; *ep == ' '; ep++)
                continue;
            return ep;

<Prev in Thread] Current Thread [Next in Thread>