[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [ooni-probe/master] hotfix: Move logic for detecting supported collectors into deck
commit 52b44ac93f71a8bddb3b3a154f5517a6abda18e8
Author: Arturo Filastò <arturo@xxxxxxxxxxx>
Date: Tue Feb 16 13:21:16 2016 +0100
hotfix: Move logic for detecting supported collectors into deck
---
ooni/deck.py | 11 +++++++++++
ooni/errors.py | 6 ++++++
ooni/oonicli.py | 24 +++++++++---------------
3 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/ooni/deck.py b/ooni/deck.py
index 83a9a70..4049103 100644
--- a/ooni/deck.py
+++ b/ooni/deck.py
@@ -6,6 +6,9 @@ from ooni.settings import config
from ooni.utils import log
from ooni import errors as e
+from twisted import version as _twisted_version
+from twisted.python.versions import Version
+
from twisted.python.filepath import FilePath
from twisted.internet import defer
@@ -158,6 +161,14 @@ class Deck(InputFile):
if not has_test_helper(missing_option):
raise
self.requiresTor = True
+
+ if net_test_loader.collector and net_test_loader.collector.startswith('https://'):
+ _twisted_14_0_2_version = Version('twisted', 14, 0, 2)
+ if _twisted_version < _twisted_14_0_2_version:
+ raise e.HTTPCollectorUnsupported
+ elif net_test_loader.collector and net_test_loader.collector.startswith('http://'):
+ if config.advanced.insecure_collector is not True:
+ raise e.InsecureCollector
self.netTestLoaders.append(net_test_loader)
@defer.inlineCallbacks
diff --git a/ooni/errors.py b/ooni/errors.py
index 55b97e1..3b327f7 100644
--- a/ooni/errors.py
+++ b/ooni/errors.py
@@ -277,3 +277,9 @@ class ProtocolAlreadyRegistered(Exception):
class LibraryNotInstalledError(Exception):
pass
+
+class InsecureCollector(Exception):
+ pass
+
+class HTTPSCollectorUnsupported(Exception):
+ pass
diff --git a/ooni/oonicli.py b/ooni/oonicli.py
index 864f700..1ba70d5 100644
--- a/ooni/oonicli.py
+++ b/ooni/oonicli.py
@@ -6,8 +6,6 @@ import yaml
import random
import urlparse
-from twisted import version as _twisted_version
-from twisted.python.versions import Version
from twisted.python import usage
from twisted.python.util import spewer
from twisted.internet import defer, reactor, protocol
@@ -262,25 +260,21 @@ def createDeck(global_options, url=None):
log.err(e)
print e.net_test_loader.usageOptions().getUsage()
sys.exit(4)
+ except errors.HTTPSCollectorUnsupported:
+ log.err("HTTPS collectors require a twisted version of at least 14.0.2.")
+ sys.exit(6)
+ except errors.InsecureCollector:
+ log.err("Attempting to report to an insecure collector.")
+ log.err("To enable reporting to insecure collector set the "
+ "advanced->insecure_collector option to true in "
+ "your ooniprobe.conf file.")
+ sys.exit(7)
except Exception as e:
if config.advanced.debug:
log.exception(e)
log.err(e)
sys.exit(5)
- if net_test_loader.collector and net_test_loader.collector.startswith('https://'):
- _twisted_14_0_2_version = Version('twisted', 14, 0, 2)
- if _twisted_version < _twisted_14_0_2_version:
- log.err("HTTPS collectors require a twisted version of at least 14.0.2.")
- sys.exit(6)
- elif net_test_loader.collector and net_test_loader.collector.startswith('http://'):
- if config.advanced.insecure_collector is not True:
- log.err("Attempting to report to an insecure collector.")
- log.err("To enable reporting to insecure collector set the "
- "advanced->insecure_collector option to true in "
- "your ooniprobe.conf file.")
- sys.exit(7)
-
return deck
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits