diff options
author | Linus Nordberg <linus@torproject.org> | 2012-09-05 13:35:39 +0200 |
---|---|---|
committer | Linus Nordberg <linus@torproject.org> | 2012-09-05 13:35:39 +0200 |
commit | f7c97cd40b92084164952dadf3dfeb6164aa6826 (patch) | |
tree | c245fe7bb28a6f098fa12fe5a11dbece3295117f /src/or/dirserv.c | |
parent | c77d1b7bda554d80c309c1d448d32f3220537b4f (diff) | |
download | tor-f7c97cd40b92084164952dadf3dfeb6164aa6826.tar.gz tor-f7c97cd40b92084164952dadf3dfeb6164aa6826.zip |
Remove AuthDirPublishIPv6 and let AuthDirHasIPv6Connectivity fill its function.
See #4771 for rationale.
Note that this patch does not take suggested changes in #4470 into
account and keeps treating AuthDirHasIPv6Connectivity as an
AUTOBOOL. Thus, bug fixes for that are included here as well.
This is a fix on master, unreleased as of now.
Diffstat (limited to 'src/or/dirserv.c')
-rw-r--r-- | src/or/dirserv.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index f229e5995f..086db032a4 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1017,7 +1017,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now) IPv6 OR port since that'd kill all dual stack relays until a majority of the dir auths have IPv6 connectivity. */ answer = (now < node->last_reachable + REACHABLE_TIMEOUT && - (options->AuthDirHasIPv6Connectivity == 0 || + (options->AuthDirHasIPv6Connectivity != 1 || tor_addr_is_null(&router->ipv6_addr) || now < node->last_reachable6 + REACHABLE_TIMEOUT)); } @@ -2495,13 +2495,11 @@ 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 (options->AuthDirPublishIPv6 == 1 && + if (options->AuthDirHasIPv6Connectivity == 1 && !tor_addr_is_null(&ri->ipv6_addr) && - (options->AuthDirHasIPv6Connectivity == 0 || - node->last_reachable6 >= now - REACHABLE_TIMEOUT)) { - /* We're configured for publishing IPv6 OR ports. There's an IPv6 - OR port and it's reachable (or we know that we're not on IPv6) - so copy it to the routerstatus. */ + node->last_reachable6 >= now - REACHABLE_TIMEOUT) { + /* We're configured as having IPv6 connectivity. There's an IPv6 + OR port and it's reachable so copy it to the routerstatus. */ tor_addr_copy(&rs->ipv6_addr, &ri->ipv6_addr); rs->ipv6_orport = ri->ipv6_orport; } |