[tor-commits] [doctor/master] Support address ranges for relays we track
atagar at torproject.org
atagar at torproject.org
Sat Feb 20 20:42:16 UTC 2016
commit 44b3a702b34604d67cfaa0da50e5ae243e5c41c2
Author: Damian Johnson <atagar at torproject.org>
Date: Sat Feb 20 12:42:54 2016 -0800
Support address ranges for relays we track
Ewww, but Stem's ExitPolicy already supports exactly what we want in a
delightfully efficient way so taking advantage of that.
---
track_relays.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/track_relays.py b/track_relays.py
index a65356d..bc46216 100755
--- a/track_relays.py
+++ b/track_relays.py
@@ -10,6 +10,7 @@ import datetime
import traceback
import stem.descriptor.remote
+import stem.exit_policy
import stem.util.conf
import util
@@ -111,7 +112,10 @@ def main():
for relay in get_tracked_relays():
if relay.address:
if '/' in relay.address:
- tracked_address_ranges[relay.address] = relay
+ # It's a total hack, but taking advantage of exit policies where we
+ # already support address ranges.
+
+ tracked_address_ranges[stem.exit_policy.ExitPolicyRule('accept %s:*' % relay.address)] = relay
else:
tracked_addresses[relay.address] = relay
@@ -127,7 +131,9 @@ def main():
elif desc.fingerprint in tracked_fingerprints:
found_relays[tracked_fingerprints[desc.fingerprint]] = desc
else:
- pass # TODO: implement for tracked_address_ranges
+ for addr_entry, relay in tracked_address_ranges.items():
+ if addr_entry.is_match(desc.address):
+ found_relays[relay] = desc
if found_relays:
log.debug("Sending a notification for %i relay entries..." % len(found_relays))
More information about the tor-commits
mailing list