[tor-commits] [stem/master] Simplify assertion that descriptor ends with router-sig-ed25519

atagar at torproject.org atagar at torproject.org
Thu Mar 30 04:18:02 UTC 2017

commit b69544ba095710c4b8a6b38c4a965b668b1b8717
Author: Damian Johnson <atagar at torproject.org>
Date:   Tue Mar 14 13:46:09 2017 -0700

    Simplify assertion that descriptor ends with router-sig-ed25519
    The spec says 'next-to-last' but we allow it to be at the end too. Not quite
    sure why, maybe related to sanitized bridge descriptors? Anywho, might as well
    combine these two conditionals into one and fix the message.
 stem/descriptor/server_descriptor.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/stem/descriptor/server_descriptor.py b/stem/descriptor/server_descriptor.py
index 76173a0..9c44256 100644
--- a/stem/descriptor/server_descriptor.py
+++ b/stem/descriptor/server_descriptor.py
@@ -669,10 +669,8 @@ class ServerDescriptor(Descriptor):
     if 'identity-ed25519' in entries.keys():
       if 'router-sig-ed25519' not in entries.keys():
         raise ValueError('Descriptor must have router-sig-ed25519 entry to accompany identity-ed25519')
-      if 'router-sig-ed25519' != list(entries.keys())[-2]:
-        if 'router-sig-ed25519' != list(entries.keys())[-1]:
-          raise ValueError("Descriptor must end with a 'router-sig-ed25519' entry")
+      elif 'router-sig-ed25519' not in list(entries.keys())[-2:]:
+        raise ValueError("Descriptor must have 'router-sig-ed25519' as the next-to-last entry")
     if not self.exit_policy:
       raise ValueError("Descriptor must have at least one 'accept' or 'reject' entry")

More information about the tor-commits mailing list