diff options
-rw-r--r-- | src/or/dirserv.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index abbc123f9..2d9387ee1 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; } |