diff --git a/lightningd/options.c b/lightningd/options.c index fc3263a21..9333d21da 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -272,7 +272,10 @@ static char *opt_add_addr_withtype(const char *arg, wi.u.wireaddr.addrlen = strlen(address); strncpy((char * restrict)&wi.u.wireaddr.addr, address, sizeof(wi.u.wireaddr.addr) - 1); - wi.u.wireaddr.port = port; + if (port == 0) + wi.u.wireaddr.port = ld->portnum; + else + wi.u.wireaddr.port = port; tal_arr_expand(&ld->proposed_listen_announce, ADDR_ANNOUNCE); tal_arr_expand(&ld->proposed_wireaddr, wi); diff --git a/tests/test_gossip.py b/tests/test_gossip.py index 466559e0a..0a217e7e1 100644 --- a/tests/test_gossip.py +++ b/tests/test_gossip.py @@ -247,7 +247,6 @@ def test_only_announce_one_dns(node_factory, bitcoind): @unittest.skipIf(not EXPERIMENTAL_FEATURES, "BOLT7 DNS RFC #911") -@pytest.mark.xfail(strict=True, raises=AssertionError) def test_announce_dns_without_port(node_factory, bitcoind): """ Checks that the port of a DNS announcement is set to the corresponding network port. In this case regtest 19846