1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-30 07:56:11 +02:00

Merge branch 'jw/send-email-no-auth'

"git send-email" learned to disable SMTP authentication via the
"--smtp-auth=none" option, even when the smtp username is given
(which turns the authentication on by default).

* jw/send-email-no-auth:
  send-email: explicitly disable authentication
This commit is contained in:
Junio C Hamano 2018-11-06 15:50:20 +09:00
commit 8ac6990b87
2 changed files with 12 additions and 3 deletions

View File

@ -190,7 +190,9 @@ $ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
If at least one of the specified mechanisms matches the ones advertised by the If at least one of the specified mechanisms matches the ones advertised by the
SMTP server and if it is supported by the utilized SASL library, the mechanism SMTP server and if it is supported by the utilized SASL library, the mechanism
is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth` is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth`
is specified, all mechanisms supported by the SASL library can be used. is specified, all mechanisms supported by the SASL library can be used. The
special value 'none' maybe specified to completely disable authentication
independently of `--smtp-user`
--smtp-pass[=<password>]:: --smtp-pass[=<password>]::
Password for SMTP-AUTH. The argument is optional: If no Password for SMTP-AUTH. The argument is optional: If no
@ -204,6 +206,9 @@ or on the command line. If a username has been specified (with
specified (with `--smtp-pass` or `sendemail.smtpPass`), then specified (with `--smtp-pass` or `sendemail.smtpPass`), then
a password is obtained using 'git-credential'. a password is obtained using 'git-credential'.
--no-smtp-auth::
Disable SMTP authentication. Short hand for `--smtp-auth=none`
--smtp-server=<host>:: --smtp-server=<host>::
If set, specifies the outgoing SMTP server to use (e.g. If set, specifies the outgoing SMTP server to use (e.g.
`smtp.example.com` or a raw IP address). Alternatively it can `smtp.example.com` or a raw IP address). Alternatively it can

View File

@ -82,8 +82,11 @@ sub usage {
Pass an empty string to disable certificate Pass an empty string to disable certificate
verification. verification.
--smtp-domain <str> * The domain name sent to HELO/EHLO handshake --smtp-domain <str> * The domain name sent to HELO/EHLO handshake
--smtp-auth <str> * Space-separated list of allowed AUTH mechanisms. --smtp-auth <str> * Space-separated list of allowed AUTH mechanisms, or
"none" to disable authentication.
This setting forces to use one of the listed mechanisms. This setting forces to use one of the listed mechanisms.
--no-smtp-auth Disable SMTP authentication. Shorthand for
`--smtp-auth=none`
--smtp-debug <0|1> * Disable, enable Net::SMTP debug. --smtp-debug <0|1> * Disable, enable Net::SMTP debug.
--batch-size <int> * send max <int> message per connection. --batch-size <int> * send max <int> message per connection.
@ -341,6 +344,7 @@ sub signal_handler {
"smtp-debug:i" => \$debug_net_smtp, "smtp-debug:i" => \$debug_net_smtp,
"smtp-domain:s" => \$smtp_domain, "smtp-domain:s" => \$smtp_domain,
"smtp-auth=s" => \$smtp_auth, "smtp-auth=s" => \$smtp_auth,
"no-smtp-auth" => sub {$smtp_auth = 'none'},
"identity=s" => \$identity, "identity=s" => \$identity,
"annotate!" => \$annotate, "annotate!" => \$annotate,
"no-annotate" => sub {$annotate = 0}, "no-annotate" => sub {$annotate = 0},
@ -1241,7 +1245,7 @@ sub smtp_host_string {
# (smtp_user was not specified), and 0 otherwise. # (smtp_user was not specified), and 0 otherwise.
sub smtp_auth_maybe { sub smtp_auth_maybe {
if (!defined $smtp_authuser || $auth) { if (!defined $smtp_authuser || $auth || (defined $smtp_auth && $smtp_auth eq "none")) {
return 1; return 1;
} }