From 278d665c6a407ca1c1b26009b5a51f341f64a027 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Mon, 26 Apr 2010 17:23:33 +0000 Subject: When calling getpeername() in SSLSocket.__init__, only silence exceptions caused by the "socket not connected" condition. --- Lib/ssl.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 _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: -- cgit v0.12