From: Antoine Pitrou Date: Mon, 26 Apr 2010 17:23:33 +0000 (+0000) Subject: When calling getpeername() in SSLSocket.__init__, only silence exceptions X-Git-Tag: v2.7b2~186 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=278d665c6a407ca1c1b26009b5a51f341f64a027;p=thirdparty%2FPython%2Fcpython.git 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 1d29bef72d62..bfeb559f82c2 100644 --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -78,6 +78,7 @@ from _ssl import \ 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 @@ class SSLSocket(socket): # 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: