]> granicus.if.org Git - python/commitdiff
Merged revisions 80507 via svnmerge from
authorAntoine Pitrou <solipsis@pitrou.net>
Mon, 26 Apr 2010 17:28:35 +0000 (17:28 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Mon, 26 Apr 2010 17:28:35 +0000 (17:28 +0000)
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.
........

Lib/ssl.py

index 8f88d15757f3fc49dbf52250c7e251d30e593af6..1af9fa9285f748103431ddf78437ff6d997ec812 100644 (file)
@@ -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: