commit 79c875ecdc546094dc761241a8f4cd7caccf9c0e Author: Nick Mathewson nickm@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,
tor-commits@lists.torproject.org