diff options
author | Guido van Rossum <guido@python.org> | 2013-10-18 15:07:14 -0700 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2013-10-18 15:07:14 -0700 |
commit | b9659a88356bc85c7adffa20f1358227317536b8 (patch) | |
tree | 61f6ed17c509507450751607422139fd7146cbf8 | |
parent | 207d620f409874fbb60b584c10e1f58f2f899562 (diff) | |
download | trollius-b9659a88356bc85c7adffa20f1358227317536b8.tar.gz |
Tentative fix for Windows ssl breakage on hostname mismatch.
-rw-r--r-- | tulip/selector_events.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tulip/selector_events.py b/tulip/selector_events.py index adf8d38..63164f0 100644 --- a/tulip/selector_events.py +++ b/tulip/selector_events.py @@ -584,16 +584,23 @@ class _SelectorSslTransport(_SelectorTransport): self._loop.add_writer(self._sock_fd, self._on_handshake) return except Exception as exc: + self._loop.remove_reader(self._sock_fd) + self._loop.remove_writer(self._sock_fd) self._sock.close() if self._waiter is not None: self._waiter.set_exception(exc) return except BaseException as exc: + self._loop.remove_reader(self._sock_fd) + self._loop.remove_writer(self._sock_fd) self._sock.close() if self._waiter is not None: self._waiter.set_exception(exc) raise + self._loop.remove_reader(self._sock_fd) + self._loop.remove_writer(self._sock_fd) + # Verify hostname if requested. peercert = self._sock.getpeercert() if (self._server_hostname is not None and @@ -612,8 +619,6 @@ class _SelectorSslTransport(_SelectorTransport): compression=self._sock.compression(), ) - self._loop.remove_reader(self._sock_fd) - self._loop.remove_writer(self._sock_fd) self._loop.add_reader(self._sock_fd, self._on_ready) self._loop.add_writer(self._sock_fd, self._on_ready) self._loop.call_soon(self._protocol.connection_made, self) |