This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Ben.Darnell
Recipients Ben.Darnell, kiilerix, pitrou
Date 2013-04-28.02:46:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1367117207.57.0.834655607665.issue13721@psf.upfronthosting.co.za>
In-reply-to
Content
We found a related issue with Tornado: https://github.com/facebook/tornado/pull/750

We call wrap_socket with do_handshake_on_connect=False and then call do_handshake when the socket is ready.  If the getpeername call in wrap_socket fails with ENOTCONN because the connection was reset immediately after it was opened, then do_handshake will fail with an AttributeError (because self._sslobj is None).  do_handshake should fail with a clearer error (perhaps socket.error with ENOTCONN or ECONNABORTED?) if self._sslobj is None.

Also, Mac OS X appears to return EINVAL from getpeername in this case, instead of ENOTCONN.  wrap_socket should probably treat ENOTCONN and EINVAL from getpeername as equivalent.
History
Date User Action Args
2013-04-28 02:46:47Ben.Darnellsetrecipients: + Ben.Darnell, pitrou, kiilerix
2013-04-28 02:46:47Ben.Darnellsetmessageid: <1367117207.57.0.834655607665.issue13721@psf.upfronthosting.co.za>
2013-04-28 02:46:47Ben.Darnelllinkissue13721 messages
2013-04-28 02:46:47Ben.Darnellcreate