From 7c80a4502ce3f0b6d95bf2cee134a89765894b74 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Thu, 10 May 2012 18:48:30 +0200 Subject: [PATCH] Include IPv6 OR ports in status documents only if we're a bridge authority. --- src/or/dirserv.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/or/dirserv.c b/src/or/dirserv.c index abbc123f91..2d9387ee19 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2468,11 +2468,13 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, strlcpy(rs->nickname, ri->nickname, sizeof(rs->nickname)); rs->or_port = ri->or_port; rs->dir_port = ri->dir_port; - if (!tor_addr_is_null(&ri->ipv6_addr) && + if (authdir_mode_bridge(options) && + !tor_addr_is_null(&ri->ipv6_addr) && node->last_reachable6 >= now - REACHABLE_TIMEOUT) { - /* There's an IPv6 OR port and it's reachable so copy it to the - routerstatus. FIXME: If we're not on IPv6, copy it regardless - of reachability. */ + /* We're a bridge authority (we're not ready for IPv6 relays in + the consensus quite yet). There's an IPv6 OR port and it's + reachable so copy it to the routerstatus. FIXME: If we're not + on IPv6, copy it regardless of reachability. */ tor_addr_copy(&rs->ipv6_addr, &ri->ipv6_addr); rs->ipv6_orport = ri->ipv6_orport; }