commit 5671586dc75eb282ae8d2d04f0fcb5e1e5064c9f Author: Linus Nordberg linus@torproject.org Date: Tue Aug 14 14:03:58 2012 +0200
Make all relays, not only bridges, capable of advertising an IPv6 OR port.
Closes #6362. --- changes/bug6362 | 3 +++ src/or/router.c | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/changes/bug6362 b/changes/bug6362 new file mode 100644 index 0000000..9514969 --- /dev/null +++ b/changes/bug6362 @@ -0,0 +1,3 @@ + o Major features: + - All kind of relays, not only bridges, can now advertise an IPv6 + OR port. Implements ticket 6362. diff --git a/src/or/router.c b/src/or/router.c index 20767d8..f5ea237 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1539,8 +1539,9 @@ router_rebuild_descriptor(int force) ri->cache_info.published_on = time(NULL); ri->onion_pkey = crypto_pk_dup_key(get_onion_key()); /* must invoke from * main thread */ - if (options->BridgeRelay) { - /* For now, only bridges advertise an ipv6 or-address. And only one. */ + + /* For now, at most one IPv6 or-address is being advertised. */ + { const port_cfg_t *ipv6_orport = NULL; SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) { if (p->type == CONN_TYPE_OR_LISTENER && @@ -1565,6 +1566,7 @@ router_rebuild_descriptor(int force) ri->ipv6_orport = ipv6_orport->port; } } + ri->identity_pkey = crypto_pk_dup_key(get_server_identity_key()); if (crypto_pk_get_digest(ri->identity_pkey, ri->cache_info.identity_digest)<0) {