@@ -8,9 +8,6 @@ sendemail.smtpEncryption::
See linkgit:git-send-email[1] for description. Note that this
setting is not subject to the 'identity' mechanism.
-sendemail.smtpssl (deprecated)::
- Deprecated alias for 'sendemail.smtpEncryption = ssl'.
-
sendemail.smtpsslcertpath::
Path to ca-certificates (either a directory or a single file).
Set it to an empty string to disable certificate verification.
@@ -236,9 +236,6 @@ The --smtp-server-option option must be repeated for each option you want
to pass to the server. Likewise, different lines in the configuration files
must be used for each option.
---smtp-ssl::
- Legacy alias for '--smtp-encryption ssl'.
-
--smtp-ssl-cert-path::
Path to a store of trusted CA certificates for SMTP SSL/TLS
certificate validation (either a directory that has been processed
@@ -77,7 +77,6 @@ sub usage {
--smtp-user <str> * Username for SMTP-AUTH.
--smtp-pass <str> * Password for SMTP-AUTH; not necessary.
--smtp-encryption <str> * tls or ssl; anything else disables.
- --smtp-ssl * Deprecated. Use '--smtp-encryption ssl'.
--smtp-ssl-cert-path <str> * Path to ca-certificates (either directory or file).
Pass an empty string to disable certificate
verification.
@@ -236,7 +235,7 @@ sub do_edit {
my ($cover_cc, $cover_to);
my ($to_cmd, $cc_cmd);
my ($smtp_server, $smtp_server_port, @smtp_server_options);
-my ($smtp_authuser, $smtp_encryption, $smtp_ssl_cert_path);
+my ($smtp_authuser, $smtp_ssl_cert_path);
my ($batch_size, $relogin_delay);
my ($identity, $aliasfiletype, @alias_files, $smtp_domain, $smtp_auth);
my ($confirm);
@@ -250,6 +249,9 @@ sub do_edit {
my $use_xmailer = 1;
my $validate = 1;
my $target_xfer_encoding = 'auto';
+my $smtp_encryption = '';
+# Deprecated variables
+my $deprecated_smtp_ssl;
my %config_bool_settings = (
"thread" => \$thread,
@@ -266,10 +268,12 @@ sub do_edit {
);
my %config_settings = (
+ "smtpencryption" => \$smtp_encryption,
"smtpserver" => \$smtp_server,
"smtpserverport" => \$smtp_server_port,
"smtpserveroption" => \@smtp_server_options,
"smtpuser" => \$smtp_authuser,
+ "smtpssl" => \$deprecated_smtp_ssl,
"smtppass" => \$smtp_authpass,
"smtpdomain" => \$smtp_domain,
"smtpauth" => \$smtp_auth,
@@ -366,18 +370,6 @@ sub read_config {
$$target = $v;
}
}
-
- if (!defined $smtp_encryption) {
- my $setting = "$prefix.smtpencryption";
- my $enc = Git::config(@repo, $setting);
- return unless defined $enc;
- return if $configured->{$setting}++;
- if (defined $enc) {
- $smtp_encryption = $enc;
- } elsif (Git::config_bool(@repo, "$prefix.smtpssl")) {
- $smtp_encryption = 'ssl';
- }
- }
}
# sendemail.identity yields to --identity. We must parse this
@@ -426,7 +418,7 @@ sub read_config {
"smtp-server-port=s" => \$smtp_server_port,
"smtp-user=s" => \$smtp_authuser,
"smtp-pass:s" => \$smtp_authpass,
- "smtp-ssl" => sub { $smtp_encryption = 'ssl' },
+ "smtp-ssl" => sub { $deprecated_smtp_ssl = 1 },
"smtp-encryption=s" => \$smtp_encryption,
"smtp-ssl-cert-path=s" => \$smtp_ssl_cert_path,
"smtp-debug:i" => \$debug_net_smtp,
@@ -484,8 +476,8 @@ sub read_config {
"(via command-line or configuration option)\n")
if defined $relogin_delay and not defined $batch_size;
-# 'default' encryption is none -- this only prevents a warning
-$smtp_encryption = '' unless (defined $smtp_encryption);
+die __("Use of deprecated option --smtp-ssl (or smtp.smtpssl config), use --smtp-encryption=ssl (or sendemail.smtpEncryption=ssl) instead\n")
+ if $deprecated_smtp_ssl;
# Set CC suppressions
my(%suppress_cc);
@@ -1849,6 +1849,15 @@ test_expect_success 'aliases and sendemail.identity' '
test_i18ngrep "cloud-aliases" stderr
'
+test_expect_success 'deprecated --smtp-ssl (or sendemail.smtpssl=true)' '
+ test_must_fail git -c sendemail.smtpssl=true send-email -1 2>stderr &&
+ test_i18ngrep "deprecated option.*or.*config" stderr &&
+ test_must_fail git send-email --smtp-ssl -1 &&
+ test_i18ngrep "deprecated option.*or.*config" stderr &&
+ test_must_fail git -c sendemail.identity=test -c sendemail.test.smtpssl=true send-email -1 &&
+ test_i18ngrep "deprecated option.*or.*config" stderr
+'
+
test_sendmail_aliases () {
msg="$1" && shift &&
expect="$@" &&
Remove the sendemail.smtpssl configuration variable and its associated --smtp-ssl command-line option. This has been documented as deprecated since f6bebd121a ("git-send-email: add support for TLS via Net::SMTP::SSL", 2008-06-25) and 65180c6618 ("List send-email config options in config.txt.", 2009-07-22), respectively. Waiting for 10 years should be enough. This allows us to fix a special case in read_config(). We couldn't just parse sendemail.smtpEncryption like everything else because we'd need to fall back on sendemail.smtpssl. Now that we don't need to do that we don't need this special case anymore. Let's still find out if someone's using this and die() with a helpful message if that's the case. Because of my recent improvements to the command-line and config parsing we can also revert fa835cd572 ("git-send-email: prevent undefined variable warnings if no encryption is set", 2008-06-26), since we now sensibly support setting defaults for these mixed config & command-line options. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- Documentation/config/sendemail.txt | 3 --- Documentation/git-send-email.txt | 3 --- git-send-email.perl | 26 +++++++++----------------- t/t9001-send-email.sh | 9 +++++++++ 4 files changed, 18 insertions(+), 23 deletions(-)