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
> >
> >
> 

Reply via email to