summaryrefslogtreecommitdiff
path: root/src/or/connection.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-04-24 22:16:07 -0400
committerNick Mathewson <nickm@torproject.org>2013-04-24 22:16:07 -0400
commitef83db4fe85f2c73b5891d5b8e53ca776dc230f8 (patch)
tree921ca883fac4b8f39daacbfcdd50aedad79c0cb4 /src/or/connection.c
parent68ea7d24d8e1ceb594ae5a63a3d433bd78a079cd (diff)
parentf8bb0064d6a06770e6187ba57a2f4a764336aa84 (diff)
downloadtor-ef83db4fe85f2c73b5891d5b8e53ca776dc230f8.tar.gz
tor-ef83db4fe85f2c73b5891d5b8e53ca776dc230f8.zip
Merge remote-tracking branch 'origin/maint-0.2.4'
Diffstat (limited to 'src/or/connection.c')
-rw-r--r--src/or/connection.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index af52f58e93..87fa79970e 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -2184,6 +2184,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) {
@@ -2212,8 +2214,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