commit dbee38d1b95d943435cbb6bc989a9a5024b4e8e8
Author: Damian Johnson <[email protected]>
Date: Mon Oct 7 23:09:04 2013 -0700
Referencing a single reject-all policy
Oddly, the only exit policy I can find with greater than five occurances is
the
reject-all policy. Maybe a scripting bug. Reguardless, referencing a single
reject-all instance saves us a little memory (1.3 MB with the present
consensus, which is 1.6%).
---
stem/descriptor/server_descriptor.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/stem/descriptor/server_descriptor.py
b/stem/descriptor/server_descriptor.py
index 79af0cc..521d07a 100644
--- a/stem/descriptor/server_descriptor.py
+++ b/stem/descriptor/server_descriptor.py
@@ -82,6 +82,7 @@ SINGLE_FIELDS = (
)
DEFAULT_IPV6_EXIT_POLICY = stem.exit_policy.MicroExitPolicy("reject 1-65535")
+REJECT_ALL_POLICY = stem.exit_policy.ExitPolicy("reject *:*")
def _parse_file(descriptor_file, is_bridge = False, validate = True, **kwargs):
@@ -284,7 +285,11 @@ class ServerDescriptor(Descriptor):
entries, policy = _get_descriptor_components(raw_contents, validate,
("accept", "reject"))
- self.exit_policy = stem.exit_policy.ExitPolicy(*policy)
+ if policy == [u'reject *:*']:
+ self.exit_policy = REJECT_ALL_POLICY
+ else:
+ self.exit_policy = stem.exit_policy.ExitPolicy(*policy)
+
self._parse(entries, validate)
if validate:
_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits