[stem/master] Referencing a single reject-all policy

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:
participants (1)
-
atagar@torproject.org