send-email: enable SSL level 1 debug output
commit9d605249e53db69b47cdf6145ec9639a45c38100
authorJohn Keeping <john@keeping.me.uk>
Thu, 3 Dec 2015 21:47:18 +0000 (3 21:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 11 Dec 2015 17:41:10 +0000 (11 09:41 -0800)
tree0a66aa344139009287f28414aba2f351f16959fc
parent5cb2e162d21fa45a63f186b31970e2e9c9b10ba9
send-email: enable SSL level 1 debug output

If a server's certificate isn't accepted by send-email, the output is:

Unable to initialize SMTP properly. Check config and use --smtp-debug.

but adding --smtp-debug=1 just produces the same output since we don't
get as far as talking SMTP.

Turning on SSL debug at level 1 gives:

DEBUG: .../IO/Socket/SSL.pm:1796: SSL connect attempt failed error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
DEBUG: .../IO/Socket/SSL.pm:673: fatal SSL error: SSL connect attempt failed error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
DEBUG: .../IO/Socket/SSL.pm:1780: IO::Socket::IP configuration failed

IO::Socket::SSL defines level 1 debug as "print out errors from
IO::Socket::SSL and ciphers from Net::SSLeay".  In fact, it aliases
Net::SSLeay::trace which is defined to guarantee silence at level 0 and
only emit error messages at level 1, so let's enable it by default.

The modification of warnings is needed to avoid a warning about:

Name "IO::Socket::SSL::DEBUG" used only once: possible typo

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl