send-email: Net::SMTP::starttls was introduced in v2.34
authorJonathan Nieder <jrnieder@gmail.com>
Thu, 1 Jun 2017 00:17:43 +0000 (17:17 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Jun 2017 02:23:35 +0000 (11:23 +0900)
We cannot rely on the starttls method being present in Net::SMTP until
c274b798e6881a941d941808c6d89966975cb8c8 (Merge branch 'ipv6_ssl' of
https://github.com/noxxi/perl-libnet into noxxi-ipv6_ssl, 2014-06-02),
which set the module version to 2.34.

This version was first shipped as part of perl in v5.21.5~169 (Update
libnet to CPAN version 3.01, 2014-10-10).

Noticed on an Ubuntu system with perl 5.18.2-2ubuntu1.1, which
provides Net::SMTP version 2.31. The error message is

Can't locate object method "starttls" via package "Net::SMTP" at /usr/lib/git-core/git-send-email line 1410.

Reported-by: Brandon Williams <bmwill@google.com>
Reported-and-tested-by: Eric Biggers <ebiggers3@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl
index 0d90439d9a8e5f701f96afbd19883060a516a341..d326238c0a069c3c5d008497f72c9f2ffcc326c3 100755 (executable)
@@ -1354,7 +1354,7 @@ sub send_message {
                }
 
                require Net::SMTP;
-               my $use_net_smtp_ssl = version->parse($Net::SMTP::VERSION) < version->parse("1.28");
+               my $use_net_smtp_ssl = version->parse($Net::SMTP::VERSION) < version->parse("2.34");
                $smtp_domain ||= maildomain();
 
                if ($smtp_encryption eq 'ssl') {