Make all relays, not only bridges, capable of advertising an IPv6 OR port.

Closes #6362.
This commit is contained in:
Linus Nordberg 2012-08-14 14:03:58 +02:00
parent cdd882ee71
commit 5671586dc7
2 changed files with 7 additions and 2 deletions

3
changes/bug6362 Normal file
View File

@ -0,0 +1,3 @@
o Major features:
- All kind of relays, not only bridges, can now advertise an IPv6
OR port. Implements ticket 6362.

View File

@ -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) {