]> granicus.if.org Git - python/commitdiff
Merged revisions 80509 via svnmerge from
authorAntoine Pitrou <solipsis@pitrou.net>
Mon, 26 Apr 2010 17:32:49 +0000 (17:32 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Mon, 26 Apr 2010 17:32:49 +0000 (17:32 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80509 | antoine.pitrou | 2010-04-26 19:29:05 +0200 (lun., 26 avril 2010) | 10 lines

  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.
  ........
................

Lib/ssl.py

index caee2e589f10ab286f51b55045b659e63bdff139..59aff879b42034543636d2826104b19d40253d1f 100644 (file)
@@ -81,6 +81,7 @@ from socket import dup as _dup
 from socket import socket, AF_INET, SOCK_STREAM
 import base64        # for DER-to-PEM translation
 import traceback
+import errno
 
 class SSLSocket(socket):
 
@@ -115,7 +116,9 @@ class SSLSocket(socket):
         # see if it's connected
         try:
             socket.getpeername(self)
-        except socket_error:
+        except socket_error as e:
+            if e.errno != errno.ENOTCONN:
+                raise
             # no, no connection yet
             self._sslobj = None
         else: