commit 236c92a0a78285a73b53c6d0f5edba7982407e9b Author: David Goulet dgoulet@torproject.org Date: Fri Mar 23 10:11:37 2018 -0400
chan: Use channel_is_client() in channel_do_open_actions()
Make sure we actually only report client channel to the geoip cache instead of looking if it is a known relay. Looking if it is a known relay can be unreliable because they come and go from the consensus.
Fixes #24904
Signed-off-by: David Goulet dgoulet@torproject.org --- changes/bug24904 | 4 ++++ src/or/channel.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/changes/bug24904 b/changes/bug24904 new file mode 100644 index 000000000..648d9a583 --- /dev/null +++ b/changes/bug24904 @@ -0,0 +1,4 @@ + o Minor bugfix (channel, client): + - Better identify client connection when reporting to the geoip client + cache. Fixes bug 24904; bugfix on 0.3.1.7. + diff --git a/src/or/channel.c b/src/or/channel.c index ff1cfde2a..a4740dd75 100644 --- a/src/or/channel.c +++ b/src/or/channel.c @@ -1849,8 +1849,8 @@ channel_do_open_actions(channel_t *chan) circuit_build_times_network_is_live(get_circuit_build_times_mutable()); router_set_status(chan->identity_digest, 1); } else { - /* only report it to the geoip module if it's not a known router */ - if (!connection_or_digest_is_known_relay(chan->identity_digest)) { + /* only report it to the geoip module if it's a client */ + if (channel_is_client(chan)) { if (channel_get_addr_if_possible(chan, &remote_addr)) { char *transport_name = NULL; channel_tls_t *tlschan = BASE_CHAN_TO_TLS(chan);
tor-commits@lists.torproject.org