From: Antoine Pitrou Date: Mon, 26 Apr 2010 17:28:35 +0000 (+0000) Subject: Merged revisions 80507 via svnmerge from X-Git-Tag: v2.6.6rc1~399 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34fbacdc1151480ce5a216785963e3451ab94aca;p=python Merged revisions 80507 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r80507 | antoine.pitrou | 2010-04-26 19:23:33 +0200 (lun., 26 avril 2010) | 4 lines 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 8f88d15757..1af9fa9285 100644 --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -75,8 +75,10 @@ from _ssl import \ SSL_ERROR_INVALID_ERROR_CODE from socket import socket, _fileobject, _delegate_methods +from socket import error as socket_error from socket import getnameinfo as _getnameinfo import base64 # for DER-to-PEM translation +import errno class SSLSocket(socket): @@ -104,7 +106,9 @@ class SSLSocket(socket): # see if it's connected try: socket.getpeername(self) - except: + except socket_error, e: + if e.errno != errno.ENOTCONN: + raise # no, no connection yet self._sslobj = None else: