Merge remote-tracking branch 'linus/bug6362'

This commit is contained in:
Nick Mathewson 2012-08-27 09:50:22 -04:00
commit 6f7dbd3d34
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

@ -1554,8 +1554,9 @@ router_rebuild_descriptor(int force)
ri->cache_info.published_on = time(NULL); ri->cache_info.published_on = time(NULL);
ri->onion_pkey = crypto_pk_dup_key(get_onion_key()); /* must invoke from ri->onion_pkey = crypto_pk_dup_key(get_onion_key()); /* must invoke from
* main thread */ * 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; const port_cfg_t *ipv6_orport = NULL;
SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) { SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) {
if (p->type == CONN_TYPE_OR_LISTENER && if (p->type == CONN_TYPE_OR_LISTENER &&
@ -1580,6 +1581,7 @@ router_rebuild_descriptor(int force)
ri->ipv6_orport = ipv6_orport->port; ri->ipv6_orport = ipv6_orport->port;
} }
} }
ri->identity_pkey = crypto_pk_dup_key(get_server_identity_key()); ri->identity_pkey = crypto_pk_dup_key(get_server_identity_key());
if (crypto_pk_get_digest(ri->identity_pkey, if (crypto_pk_get_digest(ri->identity_pkey,
ri->cache_info.identity_digest)<0) { ri->cache_info.identity_digest)<0) {