[tor-commits] [ooni-probe/master] Fix method connectionFailed to handle socket timeouts.
art at torproject.org
art at torproject.org
Tue Apr 30 13:01:44 UTC 2013
commit 61cea5561d9a22dd9009331ca16b7506a3c24d7f
Author: Isis Lovecruft <isis at torproject.org>
Date: Thu Feb 28 17:42:31 2013 +0000
Fix method connectionFailed to handle socket timeouts.
---
nettests/experimental/tls_handshake.py | 33 +++++++++++++++++++------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/nettests/experimental/tls_handshake.py b/nettests/experimental/tls_handshake.py
index 4c42017..610cdff 100644
--- a/nettests/experimental/tls_handshake.py
+++ b/nettests/experimental/tls_handshake.py
@@ -292,22 +292,29 @@ class TLSHandshakeTest(nettest.NetTestCase):
specifying the host port, i.e. ('1.1.1.1', 443)
"""
addr, port = host
- if isinstance(connection, IOError):
- ## On some *nix distros, /dev/random is 0600 root:root and we get
- ## a permissions error when trying to read
- if connection.message.find("[Errno 13]"):
- raise NotRootError(
- "%s" % connection.message.split("[Errno 13]", 1)[1])
-
- if isinstance(connection, socket_error):
- if connection.message.find("[Errno 101]"):
- raise HostUnreachableError(
- "Host unreachable: %s:%s" % (addr, port))
-
- log.err(connection)
+
+ if not isinstance(connection, SSL.Connection):
+ if isinstance(connection, IOError):
+ ## On some *nix distros, /dev/random is 0600 root:root and
+ ## we get a permissions error when trying to read
+ if connection.message.find("[Errno 13]"):
+ raise NotRootError(
+ "%s" % connection.message.split("[Errno 13]", 1)[1])
+ elif isinstance(connection, socket_error):
+ if connection.message.find("[Errno 101]"):
+ raise HostUnreachableError(
+ "Host unreachable: %s:%s" % (addr, port))
+ elif isinstance(connection, Exception):
+ log.debug("connectionFailed: got Exception:")
+ log.err("Connection failed with reason: %s"
+ % connection.message)
+ else:
+ log.err("Connection failed with reason: %s" % str(connection))
+
self.report['host'] = addr
self.report['port'] = port
self.report['state'] = 'CONNECTION_FAILED'
+
return connection
def connectionSucceeded(connection, host, timeout):
More information about the tor-commits
mailing list