[tor-commits] [tor/master] Would-be fix for bug 7733: learn bridge ID from descriptor

nickm at torproject.org nickm at torproject.org
Mon Sep 22 14:39:56 UTC 2014


commit 79c875ecdc546094dc761241a8f4cd7caccf9c0e
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed May 14 14:34:01 2014 -0400

    Would-be fix for bug 7733: learn bridge ID from descriptor
    
    If somebody has configured a client to use a bridge without setting
    an identity digest (not recommended), learn the identity digest from
    whatever bridge descriptor we have downloaded or have in our cache.
---
 src/or/entrynodes.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index 957217a..daaac13 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -2187,6 +2187,13 @@ learned_bridge_descriptor(routerinfo_t *ri, int from_cache)
       node = node_get_mutable_by_id(ri->cache_info.identity_digest);
       tor_assert(node);
       rewrite_node_address_for_bridge(bridge, node);
+      if (tor_digest_is_zero(bridge->identity)) {
+        memcpy(bridge->identity,ri->cache_info.identity_digest, DIGEST_LEN);
+        log_notice(LD_DIR, "Learned identity %s for bridge at %s:%d",
+                   hex_str(bridge->identity, DIGEST_LEN),
+                   fmt_and_decorate_addr(&bridge->addr),
+                   (int) bridge->port);
+      }
       add_an_entry_guard(node, 1, 1, 0, 0);
 
       log_notice(LD_DIR, "new bridge descriptor '%s' (%s): %s", ri->nickname,





More information about the tor-commits mailing list