summaryrefslogtreecommitdiff
path: root/git-send-email.perl
diff options
context:
space:
mode:
authorRobert Shearman <robertshearman@gmail.com>2008-07-09 22:39:40 +0100
committerJunio C Hamano <gitster@pobox.com>2008-07-09 15:53:10 -0700
commit9d1ccf5e640bdaeddd01a86b40b4c0980c1ef642 (patch)
treee9407349cb0f3e4d597a30f4aad86979f43d1b47 /git-send-email.perl
parent607bb3ff885727a099b39e16abd86f17ae502306 (diff)
downloadgit-9d1ccf5e640bdaeddd01a86b40b4c0980c1ef642.tar.gz
git-send-email: Fix authenticating on some servers when using TLS.
Send HELO again after a successful STARTTLS command to refresh the list of extensions. These may be different to what is returned over a clear connection (for example the AUTH command may be accepted over a secure connection, but not over a clear connection). Furthermore, this behaviour is recommended by RFC 2487 (http://www.ietf.org/rfc/rfc2487.txt). Signed-off-by: Robert Shearman <robertshearman@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-xgit-send-email.perl3
1 files changed, 3 insertions, 0 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 3564419e81..6adb669472 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -773,6 +773,9 @@ X-Mailer: git-send-email $gitversion
$smtp = Net::SMTP::SSL->start_SSL($smtp)
or die "STARTTLS failed! ".$smtp->message;
$smtp_encryption = '';
+ # Send EHLO again to receive fresh
+ # supported commands
+ $smtp->hello();
} else {
die "Server does not support STARTTLS! ".$smtp->message;
}