Re: [PATCH] send-email: Net::SMTP::starttls was introduced in v3.01 (Re: [BUG] git-send-email broken: Can't locate object method "starttls")
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 31, 2017, 22:51 UTC
- Message-ID
- <xmqqy3tc8wso.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <20170531224415.GC81679@aiede.mtv.corp.google.com>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 29 quoted lines
> Subject: send-email: Net::SMTP::starttls was introduced in v3.01 > > We cannot rely on the starttls method being present in the copy > of Net::SMTP shipped with perl until v5.21.5~169 (Update libnet to > CPAN version 3.01, 2014-10-10). > > Reported-by: Brandon Williams <bmwill@google.com> > Reported-by: Eric Biggers <ebiggers3@gmail.com> > Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> > --- > Hi Eric, > > Eric Biggers wrote: > >> There seems to be a bug in 'git send-email' caused by this commit: >> >> commit 0ead000c3aca13a10ae51a3c74c866981e0d33b8 >> Author: Dennis Kaarsemaker <dennis@kaarsemaker.net> >> Date: Fri Mar 24 22:37:32 2017 +0100 >> >> send-email: Net::SMTP::SSL is obsolete, use only when necessary >> >> When running git send-email I get the following error: >> >> Can't locate object method "starttls" via package "Net::SMTP" at /usr/lib/git-core/git-send-email line 1410. >> >> The perl version is 5.18.2, and the Net::SMTP version is 2.31. > > Thanks for reporting. Does this patch help?
Good, you beat me to it ;-) Once we get this confirmed, let's queue an emergency fix.
Thanks.
Show 20 quoted lines
>
> Regards,
> Jonathan
>
> git-send-email.perl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 0d90439d9..3441e3cf5 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -1354,7 +1354,7 @@ EOF
> }
>
> 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("3.01");
> $smtp_domain ||= maildomain();
>
> if ($smtp_encryption eq 'ssl') {