From: Joe Perches Date: Thu, 29 Sep 2011 15:01:14 GMT Subject: Re: [PATCH v4] send-email: auth plain/login fix Message-ID: <1317308474.1854.8.camel@Joe-Laptop> In-Reply-To: <20110929141616.GU10763@in.waw.pl> On Thu, 2011-09-29 at 16:16 +0200, Zbigniew Jędrzejewski-Szmek wrote: > git send-email was not authenticating properly when communicating over > TLS with a server supporting only AUTH PLAIN and AUTH LOGIN. This is > e.g. the standard server setup under debian with exim4 and probably > everywhere where system accounts are used. > > The problem (only?) exists when libauthen-sasl-cyrus-perl > (Authen::SASL::Cyrus) is installed. Importing Authen::SASL::Perl > makes Authen::SASL use the perl implementation which works > better. [] > diff --git a/git-send-email.perl b/git-send-email.perl [] > @@ -1098,6 +1098,10 @@ X-Mailer: git-send-email $gitversion > } > > if (defined $smtp_authuser) { > + eval { > + require Authen::SASL; > + Authen::SASL->import(qw(Perl)); > + }; Thanks for keeping at this. One comment: This is a workaround for a nominal defect. As such, I think the code should be commented to note why it exists. How about adding a comment like: if (defined $smtp_authuser) { # Workaround AUTH PLAIN/LOGIN interaction defect # with Authen::SASL::Cyrus eval { require Authen::SASL;