Skip to content
This repository was archived by the owner on Mar 2, 2022. It is now read-only.

Commit fac2166

Browse files
committed
Fix bugs running the bwscan tool
1 parent 8c627db commit fac2166

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

bwscanner/circuit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def random_path_to_exit(exit_relay, relays):
3131
class CircuitGenerator(object):
3232
def __init__(self, state):
3333
self.state = state
34-
self.relays = list(set(state.routers.values()))
34+
self.relays = list(set(r for r in state.routers.values() if r))
3535
self.exits = [relay for relay in self.relays if is_valid_exit(relay)]
3636

3737
def __iter__(self):

bwscanner/scanner.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def cli(ctx, data_dir, loglevel, logfile, launch_tor, circuit_build_timeout):
5858
os.makedirs(ctx.obj.measurement_dir)
5959

6060
# Create a connection to a Tor instance
61-
ctx.obj.tor = connect_to_tor(launch_tor, circuit_build_timeout)
61+
ctx.obj.tor_state = connect_to_tor(launch_tor, circuit_build_timeout)
6262

6363
# Set up the logger to only output log lines of level `loglevel` and above.
6464
setup_logging(log_level=loglevel, log_name=logfile)
@@ -91,12 +91,14 @@ def rename_finished_scan(deferred):
9191
click.echo(deferred)
9292
os.rename(scan_data_dir, os.path.join(scan.measurement_dir, scan_time))
9393

94-
scan.tor.addCallback(BwScan, reactor, scan_data_dir, request_timeout=timeout,
95-
request_limit=request_limit, partitions=partitions,
96-
this_partition=current_partition)
97-
scan.tor.addCallback(lambda scanner: scanner.run_scan())
98-
scan.tor.addCallback(lambda _: reactor.stop())
99-
scan.tor.addCallback(rename_finished_scan)
94+
scan.tor_state.addCallback(BwScan, reactor, scan_data_dir,
95+
request_timeout=timeout,
96+
request_limit=request_limit,
97+
partitions=partitions,
98+
this_partition=current_partition)
99+
scan.tor_state.addCallback(lambda scanner: scanner.run_scan())
100+
scan.tor_state.addCallback(lambda _: reactor.stop())
101+
scan.tor_state.addCallback(rename_finished_scan)
100102

101103
reactor.run()
102104

@@ -152,7 +154,7 @@ def aggregate(scan, scan_name, previous):
152154
scan_data_dirs = [os.path.join(scan.measurement_dir, name) for name in recent_scan_names]
153155
log.info("Aggregating data from past {count} scans.", count=len(scan_data_dirs))
154156

155-
scan.tor.addCallback(lambda tor: write_aggregate_data(tor, scan_data_dirs))
156-
scan.tor.addErrback(lambda failure: log.failure("Unexpected error"))
157-
scan.tor.addCallback(lambda _: reactor.stop())
157+
scan.tor_state.addCallback(lambda tor_state: write_aggregate_data(tor_state, scan_data_dirs))
158+
scan.tor_state.addErrback(lambda failure: log.failure("Unexpected error"))
159+
scan.tor_state.addCallback(lambda _: reactor.stop())
158160
reactor.run()

0 commit comments

Comments
 (0)