From: Junio C Hamano Date: Sun, 02 Aug 2015 18:28:49 GMT Subject: Re: [PATCH v1] send-email: provide whitelist of SMTP AUTH mechanisms Message-ID: In-Reply-To: <20150802184353.2a5da936@jvn> Jan Viktorin writes: > Authen::SASL gives: > > No SASL mechanism found > at /usr/share/perl5/vendor_perl/Authen/SASL.pm line 77. > at /usr/share/perl5/core_perl/Net/SMTP.pm line 207. > > The SASL library does not check validity of mechanisms' > names (or I did not find it). It just tries to load one > that matches both the ours and the server side ones. > ... > I would like to include the regex check based on RFC 4422 > as I've already mentioned. at least, it filters out the > unwanted characters like '/', '.', etc. Hmm, is there a way to ask Authen::SASL what SASL mechanism the installed system supports? If so, the enhancement you are adding could be my @to_use; if ($smtp_auth_whitelist is supplied) { my @installed = Authen::SASL::list_mechanisms(); for (@installed) { if ($_ is whitelisted) { push @to_use, $_; } } } and @to_use can later be supplied when we open the connection as the list of mechanisms we allow the library to pick. Just my $.02