diff --git a/src/or/bridges.c b/src/or/bridges.c index f766931b46..88154c6c8a 100644 --- a/src/or/bridges.c +++ b/src/or/bridges.c @@ -218,7 +218,7 @@ get_configured_bridge_by_exact_addr_port_digest(const tor_addr_t *addr, if (digest && tor_memeq(bridge->identity, digest, DIGEST_LEN)) return bridge; - else if (!digest) + else if (!digest || tor_digest_is_zero(bridge->identity)) return bridge; } @@ -297,7 +297,7 @@ learned_router_identity(const tor_addr_t *addr, uint16_t port, (void)ed_id; int learned = 0; bridge_info_t *bridge = - get_configured_bridge_by_addr_port_digest(addr, port, digest); + get_configured_bridge_by_exact_addr_port_digest(addr, port, digest); if (bridge && tor_digest_is_zero(bridge->identity)) { memcpy(bridge->identity, digest, DIGEST_LEN); learned = 1; diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index c3c576c812..729e4b0391 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -3365,14 +3365,7 @@ guard_selection_have_enough_dir_info_to_build_circuits(guard_selection_t *gs) * guards in our list, since these are the guards that we typically use for * circuits. */ num_primary_to_check = get_n_primary_guards_to_use(GUARD_USAGE_TRAFFIC); - /* - We had added this to try to guarantee that we'd not normally try a guard - without a descriptor, even if we didn't use the first guard. But it led - to problems with the chutney bridges+ipv6-min test. A better solution is - needed. - - num_primary_to_check++; - */ + num_primary_to_check++; SMARTLIST_FOREACH_BEGIN(gs->primary_entry_guards, entry_guard_t *, guard) { entry_guard_consider_retry(guard);