From 122a588c25c8aa2348e3821c7cfaa5ec5c9291a9 Mon Sep 17 00:00:00 2001 From: Michael Schmoock Date: Tue, 2 Aug 2022 20:58:20 +0200 Subject: [PATCH] connectd: DNS Bolt7 #911 no longer EXPERIMENTAL Changelog-Changed: Bolt7 #911 DNS annoucenent support is no longer EXPERIMENTAL --- connectd/connectd.c | 11 ----------- lightningd/options.c | 4 ---- tests/test_gossip.py | 28 ++++++++-------------------- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/connectd/connectd.c b/connectd/connectd.c index ae514cc287f3..c57a1646df2c 100644 --- a/connectd/connectd.c +++ b/connectd/connectd.c @@ -766,14 +766,12 @@ static void try_connect_one_addr(struct connecting *connect) bool use_proxy = connect->daemon->always_use_proxy; const struct wireaddr_internal *addr = &connect->addrs[connect->addrnum]; struct io_conn *conn; -#if EXPERIMENTAL_FEATURES /* BOLT7 DNS RFC #911 */ bool use_dns = connect->daemon->use_dns; struct addrinfo hints, *ais, *aii; struct wireaddr_internal addrhint; int gai_err; struct sockaddr_in *sa4; struct sockaddr_in6 *sa6; -#endif assert(!connect->conn); @@ -823,7 +821,6 @@ static void try_connect_one_addr(struct connecting *connect) af = AF_INET6; break; case ADDR_TYPE_DNS: -#if EXPERIMENTAL_FEATURES /* BOLT7 DNS RFC #911 */ if (use_proxy) /* hand it to the proxy */ break; if (!use_dns) { /* ignore DNS when we can't use it */ @@ -875,12 +872,6 @@ static void try_connect_one_addr(struct connecting *connect) addr = &connect->addrs[connect->addrnum]; } freeaddrinfo(ais); -#endif - tal_append_fmt(&connect->errors, - "%s: EXPERIMENTAL_FEATURES needed. ", - type_to_string(tmpctx, - struct wireaddr_internal, - addr)); goto next; case ADDR_TYPE_WEBSOCKET: af = -1; @@ -1636,10 +1627,8 @@ static void add_seed_addrs(struct wireaddr_internal **addrs, NULL, broken_reply, NULL); if (new_addrs) { for (size_t j = 0; j < tal_count(new_addrs); j++) { -#if EXPERIMENTAL_FEATURES /* BOLT7 DNS RFC #911 */ if (new_addrs[j].type == ADDR_TYPE_DNS) continue; -#endif struct wireaddr_internal a; a.itype = ADDR_INTERNAL_WIREADDR; a.u.wireaddr = new_addrs[j]; diff --git a/lightningd/options.c b/lightningd/options.c index 54f5213b118a..5eee7b20bc61 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -195,7 +195,6 @@ static char *opt_set_accept_extra_tlv_types(const char *arg, } #endif -#if EXPERIMENTAL_FEATURES /* BOLT7 DNS RFC #911 */ /* Returns the number of wireaddr types already announced */ static size_t num_announced_types(enum wire_addr_type type, struct lightningd *ld) { @@ -210,7 +209,6 @@ static size_t num_announced_types(enum wire_addr_type type, struct lightningd *l } return num; } -#endif static char *opt_add_addr_withtype(const char *arg, struct lightningd *ld, @@ -257,7 +255,6 @@ static char *opt_add_addr_withtype(const char *arg, tal_arr_expand(&ld->proposed_wireaddr, wi); } -#if EXPERIMENTAL_FEATURES /* BOLT7 DNS RFC #911 */ /* Add ADDR_TYPE_DNS to announce DNS hostnames */ if (is_dnsaddr(address) && ala & ADDR_ANNOUNCE) { /* BOLT-hostnames #7: @@ -282,7 +279,6 @@ static char *opt_add_addr_withtype(const char *arg, tal_arr_expand(&ld->proposed_listen_announce, ADDR_ANNOUNCE); tal_arr_expand(&ld->proposed_wireaddr, wi); } -#endif return NULL; diff --git a/tests/test_gossip.py b/tests/test_gossip.py index aa871dccaa2d..fec573363712 100644 --- a/tests/test_gossip.py +++ b/tests/test_gossip.py @@ -5,7 +5,7 @@ from pyln.client import RpcError, Millisatoshi from utils import ( DEVELOPER, wait_for, TIMEOUT, only_one, sync_blockheight, - expected_node_features, COMPAT, EXPERIMENTAL_FEATURES, + expected_node_features, COMPAT, mine_funding_to_announce, default_ln_port ) @@ -124,13 +124,6 @@ def test_announce_address(node_factory, bitcoind): '::'], 'log-level': 'io', 'dev-allow-localhost': None} - if not EXPERIMENTAL_FEATURES: # BOLT7 DNS RFC #911 - opts = {'disable-dns': None, 'announce-addr': - ['4acth47i6kxnvkewtm6q7ib2s3ufpo5sqbsnzjpbi7utijcltosqemad.onion', - '1.2.3.4:1234', - '::'], - 'log-level': 'io', - 'dev-allow-localhost': None} l1, l2 = node_factory.get_nodes(2, opts=[opts, {}]) l1.rpc.connect(l2.info['id'], 'localhost', l2.port) @@ -140,14 +133,6 @@ def test_announce_address(node_factory, bitcoind): l1.wait_channel_active(scid) l2.wait_channel_active(scid) - if not EXPERIMENTAL_FEATURES: # BOLT7 DNS RFC #911 - l1.daemon.wait_for_log(r"\[OUT\] 0101.*47" - "010102030404d2" - "017f000001...." - "0200000000000000000000000000000000...." - "04e00533f3e8f2aedaa8969b3d0fa03a96e857bbb28064dca5e147e934244b9ba5023003....") - return - # We should see it send node announce with all addresses (257 = 0x0101) # Note: local ephemeral port is masked out. # Note: Since we `disable-dns` it should not announce a resolved IPv4 @@ -173,7 +158,6 @@ def test_announce_address(node_factory, bitcoind): assert addresses_dns[0]['port'] == 1236 -@unittest.skipIf(not EXPERIMENTAL_FEATURES, "BOLT7 DNS RFC #911") @pytest.mark.developer("gossip without DEVELOPER=1 is slow") def test_announce_and_connect_via_dns(node_factory, bitcoind): """ Test that DNS annoucements propagate and can be used when connecting. @@ -238,7 +222,6 @@ def test_announce_and_connect_via_dns(node_factory, bitcoind): l4.rpc.connect(l1.info['id']) -@unittest.skipIf(not EXPERIMENTAL_FEATURES, "BOLT7 DNS RFC #911") def test_only_announce_one_dns(node_factory, bitcoind): # and test that we can't announce more than one DNS address l1 = node_factory.get_node(expect_fail=True, start=False, @@ -247,7 +230,6 @@ def test_only_announce_one_dns(node_factory, bitcoind): wait_for(lambda: l1.daemon.is_in_stderr("Only one DNS can be announced")) -@unittest.skipIf(not EXPERIMENTAL_FEATURES, "BOLT7 DNS RFC #911") 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 @@ -259,7 +241,13 @@ def test_announce_dns_without_port(node_factory, bitcoind): info = l1.rpc.getinfo() assert info['address'][0]['type'] == 'dns' assert info['address'][0]['address'] == 'example.com' - assert info['address'][0]['port'] == 19846 + + if TEST_NETWORK == 'regtest': + default_port = 19846 + else: + assert TEST_NETWORK == 'liquid-regtest' + default_port = 20735 + assert info['address'][0]['port'] == default_port @pytest.mark.developer("needs DEVELOPER=1")