[tor-commits] [tor/maint-0.3.3] chan: Use channel_is_client() in channel_do_open_actions()
nickm at torproject.org
nickm at torproject.org
Mon Mar 26 23:47:53 UTC 2018
commit 236c92a0a78285a73b53c6d0f5edba7982407e9b
Author: David Goulet <dgoulet at 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 at 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);
More information about the tor-commits
mailing list