[tor-commits] [tor/master] Minor changes to bug5603

nickm at torproject.org nickm at torproject.org
Tue Jun 5 15:53:00 UTC 2012


commit 64167e1772b62a06fe8853b84c3cd027abcc7f74
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Jun 5 11:39:31 2012 -0400

    Minor changes to bug5603
    
      * Minor stylistic changes to comments and doxygen
      * Use strcmp_opt; it already exists.
      * Tighten bridge_has_digest implementation a little.
---
 src/or/circuitbuild.c |   54 ++++++++++++++++--------------------------------
 1 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 8e7948c..b80c713 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -4912,52 +4912,34 @@ learned_router_identity(const tor_addr_t *addr, uint16_t port,
   }
 }
 
-/** Returns true if <b>bridge</b> has the same identity digest as
- *  <b>digest</b>. <b>digest</b> is optional in which case it matches
- *  bridges without identity digests. */
+/** Return true if <b>bridge</b> has the same identity digest as
+ *  <b>digest</b>. If <b>digest</b> is NULL, it matches
+ *  bridges with unspecified identity digests. */
 static int
 bridge_has_digest(const bridge_info_t *bridge, const char *digest)
 {
-  if (!digest && tor_digest_is_zero(bridge->identity))
-    return 1;
-  if (digest && tor_memeq(digest, bridge->identity, DIGEST_LEN))
-    return 1;
-  return 0;
-}
-
-/** Returns true if <b>bridge</b> uses the same pluggable transport as
- *  <b>transport_name</b>. <b>transport_name</b> is optional in which
- *  case it matches bridges without pluggable transports. */
-static int
-bridge_has_transport_name(const bridge_info_t *bridge,
-                          const char *transport_name)
-{
-  if (!transport_name && !bridge->transport_name)
-    return 1;
-  if (transport_name && !strcmp(transport_name, bridge->transport_name))
-    return 1;
-  return 0;
+  if (digest)
+    return tor_memeq(digest, bridge->identity, DIGEST_LEN);
+  else
+    return tor_digest_is_zero(bridge->identity);
 }
 
-/** We want to add a new bridge at <b>addr</b>:<b>port</b>, with
- *  optional <b>digest</b> and <b>transport_name</b>. See if this
- *  generates any conflicts with already registered bridges, try to
- *  resolve them and warn the user.
- *
- *  This function might end up marking already registered bridges to
- *  be deleted.
+/** We are about to add a new bridge at <b>addr</b>:<b>port</b>, with optional
+ * <b>digest</b> and <b>transport_name</b>. Mark for removal any previously
+ * existing bridge with the same address and port, and warn the user as
+ * appropriate.
  */
 static void
 bridge_resolve_conflicts(const tor_addr_t *addr, uint16_t port,
                          const char *digest, const char *transport_name)
 {
-  /** Iterate the already-registered bridge list:
+  /* Iterate the already-registered bridge list:
 
-      If you find a bridge with the same adress and port, mark it for
-      removal. It doesn't make sense to have two active bridges with
-      the same IP:PORT. If the bridge in question has a different
-      digest or transport than <b>digest</b>/<b>transport_name</b>,
-      it's probably a misconfiguration and we should warn the user.
+     If you find a bridge with the same adress and port, mark it for
+     removal. It doesn't make sense to have two active bridges with
+     the same IP:PORT. If the bridge in question has a different
+     digest or transport than <b>digest</b>/<b>transport_name</b>,
+     it's probably a misconfiguration and we should warn the user.
   */
   SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, bridge) {
     if (bridge->marked_for_removal)
@@ -4968,7 +4950,7 @@ bridge_resolve_conflicts(const tor_addr_t *addr, uint16_t port,
       bridge->marked_for_removal = 1;
 
       if (!bridge_has_digest(bridge, digest) ||
-          !bridge_has_transport_name(bridge, transport_name)) {
+          strcmp_opt(bridge->transport_name, transport_name)) {
         /* warn the user */
         char *bridge_description_new, *bridge_description_old;
         tor_asprintf(&bridge_description_new, "%s:%u:%s:%s",





More information about the tor-commits mailing list