Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix git send-email #1480

Closed
dscho opened this issue Feb 6, 2018 · 3 comments
Closed

Fix git send-email #1480

dscho opened this issue Feb 6, 2018 · 3 comments
Assignees
Milestone

Comments

@dscho
Copy link
Member

dscho commented Feb 6, 2018

Due to the Perl upgrade, git send-email stopped working. The reason: the Net-SSLeay module really wants to be compiled for specific Perl versions, and we still shipped the one for the previous Perl version.

This is not a biggie usually, as most Git for Windows users use modern ways to collaborate on code.

However, when contributing to the Git mailing list, this command comes in pretty handy, and it is also used in Git for Windows' mostly-automated release engineering (to send the announcement mail after everything was published).

@dscho dscho added this to the v2.16.1(3) milestone Feb 6, 2018
@dscho dscho self-assigned this Feb 6, 2018
@dscho
Copy link
Member Author

dscho commented Feb 6, 2018

Fixed via git-for-windows/MSYS2-packages@e9ccd75.

@dscho dscho closed this as completed Feb 6, 2018
dscho added a commit to git-for-windows/build-extra that referenced this issue Feb 6, 2018
The Perl upgrade in v2.16.1(2) broke `git send-email`; This [has
been fixed](git-for-windows/git#1480)
by updating the Net-SSLeay Perl module.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@realmonster
Copy link

using PortableGit-2.25.0-32-bit and PortableGit-2.25.0-64-bit

git send-email doesn't work with TLS, it says:

$ git send-email --smtp-debug 1 -1
....
....
Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): y
Net::SMTP>>> Net::SMTP(3.10)
Net::SMTP>>>   Net::Cmd(3.10)
Net::SMTP>>>     Exporter(5.72)
Net::SMTP>>>   IO::Socket::IP(0.38)
Net::SMTP>>>     IO::Socket(1.38)
Net::SMTP>>>       IO::Handle(1.36)
Net::SMTP=GLOB(0x80746b28)<<< 220 example.org ESMTP Haraka/2.8.25 ready
Net::SMTP=GLOB(0x80746b28)>>> EHLO example.org
Net::SMTP=GLOB(0x80746b28)<<< 250-example.org Hello ***deleted by me***
Net::SMTP=GLOB(0x80746b28)<<< 250-PIPELINING
Net::SMTP=GLOB(0x80746b28)<<< 250-8BITMIME
Net::SMTP=GLOB(0x80746b28)<<< 250-SMTPUTF8
Net::SMTP=GLOB(0x80746b28)<<< 250-SIZE 0
Net::SMTP=GLOB(0x80746b28)<<< 250-STARTTLS
Net::SMTP=GLOB(0x80746b28)<<< 250 AUTH PLAIN LOGIN
Not using SSL_VERIFY_PEER due to out-of-date IO::Socket::SSL.
To use SSL please install IO::Socket::SSL with version>=2.007 at /usr/share/perl5/core_perl/Net/SMTP.pm line 270, <FIN> line 3.

Real reason is following:

$ perl -e "require IO::Socket::SSL;"
Can't load '/usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLeay.dll' for module Net::SSLeay: No such file or directory at /usr/lib/perl5/core_perl/DynaLoader.pm line 193.
 at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 19.
Compilation failed in require at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 19.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 19.
Compilation failed in require at -e line 1.

Why is that? Well, because SSLeay.dll is actually there, and by accessed time I can tell that it really find it. The issue is with its loading. In dependencies it has msys-crypto-1.0.0.dll and msys-ssl-1.0.0.dll which is missing. Fix is to add msys-crypto-1.0.0.dll and msys-ssl-1.0.0.dll into /usr/bin
I grabbed them from one of older git portable and it worked.

@dscho
Copy link
Member Author

dscho commented Feb 1, 2020

Ah, right. It all needs to be re-built with OpenSSL v1.1.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants