[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [ooni-probe/master] Catch socket.gaierror
commit 47891d7bdfda807d02cf7b982fa92aa4a888edaa
Author: aagbsn <aagbsn@xxxxxxxx>
Date: Fri Dec 7 03:31:59 2012 +0000
Catch socket.gaierror
Import SOCKSError, ResponseNeverReceived
Add error logging for unknown failure types
Log entire failure instance
Try to catch more details about errors
---
ooni/nettest.py | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/ooni/nettest.py b/ooni/nettest.py
index 22a35c9..fcc945a 100644
--- a/ooni/nettest.py
+++ b/ooni/nettest.py
@@ -8,8 +8,13 @@ from twisted.internet import defer, utils
from twisted.python import usage
from twisted.internet.error import ConnectionRefusedError, DNSLookupError, TCPTimedOutError
+from twisted.internet.defer import TimeoutError
+from twisted.web._newclient import ResponseNeverReceived
from ooni.utils import log
+from ooni.utils.txagentwithsocks import SOCKSError
+
+from socket import gaierror
def failureToString(failure):
"""
@@ -24,10 +29,15 @@ def failureToString(failure):
A string representing the HTTP response error message.
"""
+ string = None
if isinstance(failure.value, ConnectionRefusedError):
log.err("Connection refused. The backend may be down")
string = 'connection_refused_error'
+ elif isinstance(failure.value, gaierror):
+ log.err("Address family for hostname not supported")
+ string = 'address_family_not_supported_error'
+
elif isinstance(failure.value, SOCKSError):
log.err("Sock error. The SOCKS proxy may be down")
string = 'socks_error'
@@ -43,6 +53,13 @@ def failureToString(failure):
elif isinstance(failure.value, ResponseNeverReceived):
log.err("Response Never Received")
string = 'response_never_received'
+
+ elif isinstance(failure.value, TimeoutError):
+ log.err("Deferred Timed Out Error")
+ string = 'deferred_timed_out_error'
+
+ else:
+ log.err("Unknown failure type: %s" % type(failure))
return string
class NoPostProcessor(Exception):
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits