[Pkg-privacy-commits] [onionbalance] 72/117: Fix grammer in comment, perform more reliable check for changed introduction point sets

Donncha O'Cearbahill donncha-guest at moszumanska.debian.org
Wed Dec 16 23:18:48 UTC 2015


This is an automated email from the git hooks/post-receive script.

donncha-guest pushed a commit to branch debian/sid
in repository onionbalance.

commit 9e3ef891e3358cef33448d161ae0c761f05bb1b0
Author: Donncha O'Cearbhaill <donncha at donncha.is>
Date:   Tue Jun 30 14:12:44 2015 +0100

    Fix grammer in comment, perform more reliable check for changed introduction point sets
---
 onionbalance/instance.py                          | 11 ++++++-----
 test/functional/test_publish_master_descriptor.py |  3 ++-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/onionbalance/instance.py b/onionbalance/instance.py
index d6301be..ba6f2ff 100644
--- a/onionbalance/instance.py
+++ b/onionbalance/instance.py
@@ -83,7 +83,7 @@ class Instance(object):
         logger.debug("Received a descriptor for instance %s.onion.",
                      self.onion_address)
 
-        # Reject descriptor if it's timestamp is older than the current
+        # Reject descriptor if its timestamp is older than the current
         # descriptor. Prevent's HSDir's replaying old, expired descriptors.
         if self.timestamp and parsed_descriptor.published < self.timestamp:
             logger.error("Received descriptor for instance %s.onion with "
@@ -100,10 +100,11 @@ class Instance(object):
         )
 
         # If the new introduction points are different, flag this instance
-        # as modified.
-        if not all(ip in self.introduction_points
-                   for ip in introduction_points):
-            logger.info("Found new introduction points for instance "
+        # as modified. Compare the set of introduction point identifiers
+        # (fingerprint of the per IP circuit service key).
+        if (set(ip.identifier for ip in introduction_points) !=
+                set(ip.identifier for ip in self.introduction_points)):
+            logger.info("The introduction point set has changed for instance "
                         "%s.onion.", self.onion_address)
             self.changed_since_published = True
             self.introduction_points = introduction_points
diff --git a/test/functional/test_publish_master_descriptor.py b/test/functional/test_publish_master_descriptor.py
index 5b69b94..9953763 100644
--- a/test/functional/test_publish_master_descriptor.py
+++ b/test/functional/test_publish_master_descriptor.py
@@ -140,4 +140,5 @@ def test_master_descriptor_publication(tmpdir):
             instance_ips = instance_descriptor.introduction_points()
 
             # Check if all instance IPs were included in the master descriptor
-            assert all(ip in instance_ips for ip in master_ips)
+            assert (set(ip.identifier for ip in instance_ips) ==
+                    set(ip.identifier for ip in master_ips))

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/onionbalance.git



More information about the Pkg-privacy-commits mailing list