Message187950
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. |
|
Date |
User |
Action |
Args |
2013-04-28 02:46:47 | Ben.Darnell | set | recipients:
+ Ben.Darnell, pitrou, kiilerix |
2013-04-28 02:46:47 | Ben.Darnell | set | messageid: <1367117207.57.0.834655607665.issue13721@psf.upfronthosting.co.za> |
2013-04-28 02:46:47 | Ben.Darnell | link | issue13721 messages |
2013-04-28 02:46:47 | Ben.Darnell | create | |
|