When calling getpeername() in SSLSocket.__init__, only silence exceptions
caused by the "socket not connected" condition.
diff --git a/Lib/ssl.py b/Lib/ssl.py
index 1d29bef..bfeb559 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -78,6 +78,7 @@
from socket import socket, _fileobject, _delegate_methods, error as socket_error
from socket import getnameinfo as _getnameinfo
import base64 # for DER-to-PEM translation
+import errno
class SSLSocket(socket):
@@ -105,7 +106,9 @@
# see if it's connected
try:
socket.getpeername(self)
- except socket_error:
+ except socket_error, e:
+ if e.errno != errno.ENOTCONN:
+ raise
# no, no connection yet
self._sslobj = None
else: