commit dbee38d1b95d943435cbb6bc989a9a5024b4e8e8 Author: Damian Johnson atagar@torproject.org 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@lists.torproject.org