diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-06 16:26:47 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-15 09:35:59 -0400 |
commit | e05414d2411a5354dc43bde3a791938697a9799b (patch) | |
tree | 76b1f504e62e80c8d66f865f62742cf34f0160d8 /src/or/channel.c | |
parent | b440560b8bdd6034ddf94720bf9e3683aca68f72 (diff) | |
download | tor-e05414d2411a5354dc43bde3a791938697a9799b.tar.gz tor-e05414d2411a5354dc43bde3a791938697a9799b.zip |
Fix several places where md-using relays would get wrong behavior.
This patch replaces a few calls to router_get_by_id_digest ("do we
have a routerinfo?") with connection_or_digest_is_known_relay ("do
we know this relay to be in the consensus, or have been there some
time recently?").
Found while doing the 21585 audit; fixes bug 23533. Bugfix on
0.3.0.1-alpha.
Diffstat (limited to 'src/or/channel.c')
-rw-r--r-- | src/or/channel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/or/channel.c b/src/or/channel.c index 17b2191b77..2970b96791 100644 --- a/src/or/channel.c +++ b/src/or/channel.c @@ -2696,7 +2696,7 @@ channel_do_open_actions(channel_t *chan) router_set_status(chan->identity_digest, 1); } else { /* only report it to the geoip module if it's not a known router */ - if (!router_get_by_id_digest(chan->identity_digest)) { + if (!connection_or_digest_is_known_relay(chan->identity_digest)) { if (channel_get_addr_if_possible(chan, &remote_addr)) { char *transport_name = NULL; if (chan->get_transport_name(chan, &transport_name) < 0) |