diff options
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r-- | src/or/connection_or.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 4c0960ceca..202548a6b6 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -1928,8 +1928,11 @@ connection_or_send_netinfo(or_connection_t *conn) return -1; out += len; - /* My address. */ - if ((me = router_get_my_routerinfo())) { + /* My address -- only include it if I'm a public relay, or if I'm a + * bridge and this is an incoming connection. If I'm a bridge and this + * is an outgoing connection, act like a normal client and omit it. */ + if ((public_server_mode(get_options()) || !conn->is_outgoing) && + (me = router_get_my_routerinfo())) { tor_addr_t my_addr; *out++ = 1; /* only one address is supported. */ |