From cb6c636698d2d08e259b9ba18d44e347bc7bd1cd Mon Sep 17 00:00:00 2001 From: juga0 Date: Wed, 31 Jan 2018 14:50:33 +0000 Subject: [PATCH] Add tor directory parameter to launch_tor --- bwscanner/attacher.py | 5 ++--- bwscanner/scanner.py | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bwscanner/attacher.py b/bwscanner/attacher.py index 4c87d6f..08aed14 100644 --- a/bwscanner/attacher.py +++ b/bwscanner/attacher.py @@ -135,7 +135,7 @@ def got_newconsensus(event): @defer.inlineCallbacks -def connect_to_tor(launch_tor, circuit_build_timeout, control_port=None, +def connect_to_tor(launch_tor, circuit_build_timeout, tor_dir=None, control_port=None, tor_overrides=None): """ Launch or connect to a Tor instance @@ -158,8 +158,7 @@ def connect_to_tor(launch_tor, circuit_build_timeout, control_port=None, if launch_tor: log.info("Spawning a new Tor instance.") - # TODO: Pass in data_dir directory so consensus can be cached - tor = yield txtorcon.launch(reactor) + tor = yield txtorcon.launch(reactor, data_directory=tor_dir) else: log.info("Trying to connect to a running Tor instance.") if control_port: diff --git a/bwscanner/scanner.py b/bwscanner/scanner.py index a720fa6..a7ba050 100755 --- a/bwscanner/scanner.py +++ b/bwscanner/scanner.py @@ -21,6 +21,7 @@ class ScanInstance(object): def __init__(self, data_dir): self.data_dir = data_dir self.measurement_dir = os.path.join(data_dir, 'measurements') + self.tor_dir = os.path.join(data_dir, 'tor_data') def __repr__(self): return '' % self.data_dir @@ -58,7 +59,8 @@ def cli(ctx, data_dir, loglevel, logfile, launch_tor, circuit_build_timeout): os.makedirs(ctx.obj.measurement_dir) # Create a connection to a Tor instance - ctx.obj.tor_state = connect_to_tor(launch_tor, circuit_build_timeout) + ctx.obj.tor_state = connect_to_tor(launch_tor, circuit_build_timeout, + ctx.obj.tor_dir) # Set up the logger to only output log lines of level `loglevel` and above. setup_logging(log_level=loglevel, log_name=logfile)