diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-04-24 22:15:47 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-04-24 22:15:47 -0400 |
commit | f8bb0064d6a06770e6187ba57a2f4a764336aa84 (patch) | |
tree | 95c4e9e5bc7a0e8432977d6037e006253335b180 /src/or/connection.c | |
parent | cab5f82d125d721fa4b73568323ac1b6009002c3 (diff) | |
parent | 07e26005a6cb7e47f1f90fcf6a377dfaaaa56789 (diff) | |
download | tor-f8bb0064d6a06770e6187ba57a2f4a764336aa84.tar.gz tor-f8bb0064d6a06770e6187ba57a2f4a764336aa84.zip |
Merge remote-tracking branch 'public/bug6026' into maint-0.2.4
Diffstat (limited to 'src/or/connection.c')
-rw-r--r-- | src/or/connection.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index 2520d559b1..6e754a0f7a 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2073,6 +2073,8 @@ retry_all_listeners(smartlist_t *replaced_conns, const or_options_t *options = get_options(); int retval = 0; const uint16_t old_or_port = router_get_advertised_or_port(options); + const uint16_t old_or_port_ipv6 = + router_get_advertised_or_port_by_af(options,AF_INET6); const uint16_t old_dir_port = router_get_advertised_dir_port(options, 0); SMARTLIST_FOREACH_BEGIN(get_connection_array(), connection_t *, conn) { @@ -2101,8 +2103,9 @@ retry_all_listeners(smartlist_t *replaced_conns, smartlist_free(listeners); - /* XXXprop186 should take all advertised ports into account */ if (old_or_port != router_get_advertised_or_port(options) || + old_or_port_ipv6 != router_get_advertised_or_port_by_af(options, + AF_INET6) || old_dir_port != router_get_advertised_dir_port(options, 0)) { /* Our chosen ORPort or DirPort is not what it used to be: the * descriptor we had (if any) should be regenerated. (We won't |