diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-12-06 14:44:03 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-12-06 14:44:03 -0500 |
commit | c470a6d278c6340c2e2d10cac0796e6041b88dee (patch) | |
tree | f986a4135c9c2bd8e04a6908e52144b72b30102a | |
parent | 1432cc8429b55ea561c551941ed54e5871050fa0 (diff) | |
parent | f1a5000b98c4f0e5ee1618165bde533aaff0fd79 (diff) | |
download | tor-c470a6d278c6340c2e2d10cac0796e6041b88dee.tar.gz tor-c470a6d278c6340c2e2d10cac0796e6041b88dee.zip |
Merge remote-tracking branch 'teor/bug24488'
-rw-r--r-- | changes/bug24488 | 4 | ||||
-rw-r--r-- | src/or/dirserv.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/changes/bug24488 b/changes/bug24488 new file mode 100644 index 0000000000..b8094e29e6 --- /dev/null +++ b/changes/bug24488 @@ -0,0 +1,4 @@ + o Minor bugfixes (directory authorities, IPv6): + - When creating a routerstatus (vote) from a routerinfo (descriptor), + set the IPv6 address to the unspecified IPv6 address, and explicitly + initialise the port to zero. Fixes bug 24488; bugfix on 0.2.4.1-alpha. diff --git a/src/or/dirserv.c b/src/or/dirserv.c index ce737d0b1d..c8ec788332 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2228,7 +2228,8 @@ routers_make_ed_keys_unique(smartlist_t *routers) } /** Extract status information from <b>ri</b> and from other authority - * functions and store it in <b>rs</b>>. + * functions and store it in <b>rs</b>. <b>rs</b> is zeroed out before it is + * set. * * We assume that ri-\>is_running has already been set, e.g. by * dirserv_set_router_is_running(ri, now); @@ -2294,6 +2295,9 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, OR port and it's reachable so copy it to the routerstatus. */ tor_addr_copy(&rs->ipv6_addr, &ri->ipv6_addr); rs->ipv6_orport = ri->ipv6_orport; + } else { + tor_addr_make_null(&rs->ipv6_addr, AF_INET6); + rs->ipv6_orport = 0; } if (options->TestingTorNetwork) { |