aboutsummaryrefslogtreecommitdiff
path: root/src/feature
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-07-02 09:47:43 -0400
committerNick Mathewson <nickm@torproject.org>2020-07-02 09:47:43 -0400
commit20d1a1cdbd9d4a3d21e80c62027522505731189a (patch)
tree1ef97066998e6f50b3dcb02aa8af3fd3bae51398 /src/feature
parent9b560ea71471b86a85c446f796b8934ea9c1bed8 (diff)
parent82010b0e2e995b3a4c7030c5f2339480a7f1e48e (diff)
downloadtor-20d1a1cdbd9d4a3d21e80c62027522505731189a.tar.gz
tor-20d1a1cdbd9d4a3d21e80c62027522505731189a.zip
Merge remote-tracking branch 'dgoulet/ticket32822_045_01'
Diffstat (limited to 'src/feature')
-rw-r--r--src/feature/nodelist/dirlist.c2
-rw-r--r--src/feature/relay/router.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/feature/nodelist/dirlist.c b/src/feature/nodelist/dirlist.c
index f49d991f9b..bd647ab530 100644
--- a/src/feature/nodelist/dirlist.c
+++ b/src/feature/nodelist/dirlist.c
@@ -294,7 +294,7 @@ dir_server_new(int is_authority,
ent->is_authority = is_authority;
ent->type = type;
ent->weight = weight;
- if (addrport_ipv6) {
+ if (addrport_ipv6 && tor_addr_port_is_valid_ap(addrport_ipv6, 0)) {
if (tor_addr_family(&addrport_ipv6->addr) != AF_INET6) {
log_warn(LD_BUG, "Hey, I got a non-ipv6 addr as addrport_ipv6.");
tor_addr_make_unspec(&ent->ipv6_addr);
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 5e00e4cb32..57da735e87 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -1148,10 +1148,12 @@ init_keys(void)
ds = router_get_trusteddirserver_by_digest(digest);
if (!ds) {
+ tor_addr_port_t ipv6_orport;
+ router_get_advertised_ipv6_or_ap(options, &ipv6_orport);
ds = trusted_dir_server_new(options->Nickname, NULL,
router_get_advertised_dir_port(options, 0),
router_get_advertised_or_port(options),
- NULL,
+ &ipv6_orport,
digest,
v3_digest,
type, 0.0);