Re: git send-email doesn't work with IPv6 and STARTTLS
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- May 1, 2014, 20:55 UTC
- Message-ID
- <20140501205509.GC9218@google.com>
- In-Reply-To
- <20140501204814.GA31294@genua.de>
Hi,
Steffen Ullrich wrote:
Show 11 quoted lines
> git-send-mail does not use Net::SMTP directly for SSL support, but: > - for direct connections (port 465) it uses Net::SMTP::SSL which just > replaces the superclass if Net::SMTP with IO::Socket::SSL and thus > implicitly supports IPv6 (because IO::Socket::SSL does) > - for plain connections with SSL upgrade git-send-mail uses Net::SMTP for > the initial connect and then does Net::SMTP::SSL->start_SSL (e.g. > inherited from IO::Socket::SSL) to upgrade the socket to SSL. > > The problem here is that Net::SMTP does not support IPv6, but this > should be solvable by using Net::INETGlue::INET_is_INET6 before loading > Net::SMTP.
Sounds like a good change, fwiw. Even after Net::SMTP is fixed, it would be useful as a way to make sure git works well with old versions of Net::SMTP too.
Show 11 quoted lines
> But all these tricks are just workarounds for missing IPv6 and SSL support > directly in the Net::SMTP, Net::FTP and Net::POP3. > I therefore repeat my proposal from RT#93823 (no response yet) to add > transparent support for IPv6 and SSL into these modules. By transparent I > mean that the features are available if the necessary modules are installed > (e.g. IO::Socket::SSL for SSL and IO::Socket::INET6 or IO::Socket::IP for > IPv6), but that it works like before if they are not installed. > > I don't have these patches yet, but most of the necessary code is already > there in Net::SSLGlue and Net::INET6Glue. > Would you accept and incorporate such patches?
Thanks for a kind offer. I am not Net::SMTP upstream, but I'd be happy to work with upstream to get such patches applied.
Thanks for your work, Jonathan