Applied to my tree as 7de104bf663c041fca8e6d1dc16dd6d97bfa6848 http://github.com/rspier/qpsmtpd/commit/7de104bf663c041fca8e6d1dc16dd6d97bfa6848
(Charlie, this didn't apply normally, so I had to do it by hand.) -R Charlie Brady wrote: > > > > On Sun, 29 Nov 2009, Rick wrote: > > > Trying to get SMTP auth working with alpine, I came across a bug. > > Alpine sends AUTH PLAIN and waits for a 334 response, then sends the > > auth string. According to the RFC, the server should reply with 334 > > and a nothing else, but in Auth.pm qpsmtpd responds with "334 Please > > continue." the "Please continue" is interpreted as a non-zero > > length initial challenge which causes alpine (and maybe other > > clients?) to abort the session. > > > > The simple fix is to change this part in Auth.pm: > > > > if ( $mechanism eq "plain" ) { > > if (!$prekey) { > > $session->respond( 334, "Please continue" ); > > $prekey= <STDIN>; > > } > > > > To this: > > > > if ( $mechanism eq "plain" ) { > > if (!$prekey) { > > $session->respond( 334, " " ); > > $prekey= <STDIN>; > > } > > Signed-off-by: Charlie Brady <charl...@budge.apana.org.au> > > bash-3.2$ git diff > diff --git a/lib/Qpsmtpd/Auth.pm b/lib/Qpsmtpd/Auth.pm > index 993c176..422c3f4 100644 > --- a/lib/Qpsmtpd/Auth.pm > +++ b/lib/Qpsmtpd/Auth.pm > @@ -20,7 +20,7 @@ sub SASL { > > if ( $mechanism eq "plain" ) { > if (!$prekey) { > - $session->respond( 334, "Please continue" ); > + $session->respond( 334, " " ); > $prekey= <STDIN>; > } > ( $loginas, $user, $passClear ) = split /\x0/, > bash-3.2$ > > Rick, if you prefer, you could submit the patch, and I will follow with: > > Acked-by: Charlie Brady <charl...@budge.apana.org.au> > > > There's a space in there, otherwise qpsmtpd won't send any response > > which is equally as bad. > > > > I suggest somebody commit this small change to the source tree. > > -Rick > > > > >