diff --git a/connectd/connectd.c b/connectd/connectd.c index 93fea082c98e..b2f3638ceb53 100644 --- a/connectd/connectd.c +++ b/connectd/connectd.c @@ -857,7 +857,8 @@ void release_one_waiting_connection(struct daemon *daemon, const char *why) c = connecting_htable_pick(daemon->connecting, pseudorand_u64(), &it); for (size_t i = 0; i < connecting_htable_count(daemon->connecting); i++) { if (c->waiting) { - status_peer_debug(&c->id, "Unblocking for %s", why); + status_peer_info(&c->id, "Unblocking for %s", why); + status_info("Unblocking for %s", why); c->waiting = false; c->start = time_mono(); try_connect_one_addr(c); @@ -1635,31 +1636,33 @@ static void connect_init(struct daemon *daemon, const u8 *msg) enum addr_listen_announce *proposed_listen_announce; struct wireaddr *announceable; char *tor_password; - bool dev_disconnect, dev_throttle_gossip, dev_limit_connections_inflight; + bool dev_disconnect = false, dev_throttle_gossip = false, dev_limit_connections_inflight = false; + bool announce_websocket; char *errstr; /* Fields which require allocation are allocated off daemon */ if (!fromwire_connectd_init(daemon, msg, - &chainparams, - &daemon->our_features, - &daemon->id, - &proposed_wireaddr, - &proposed_listen_announce, - &proxyaddr, - &daemon->always_use_proxy, - &daemon->dev_allow_localhost, - &daemon->use_dns, - &tor_password, - &daemon->timeout_secs, - &daemon->websocket_helper, - &daemon->dev_fast_gossip, - &dev_disconnect, - &daemon->dev_no_ping_timer, - &daemon->dev_handshake_no_reply, - &dev_throttle_gossip, - &daemon->dev_no_reconnect, - &daemon->dev_fast_reconnect, - &dev_limit_connections_inflight)) { + &chainparams, + &daemon->our_features, + &daemon->id, + &proposed_wireaddr, + &proposed_listen_announce, + &proxyaddr, + &daemon->always_use_proxy, + &daemon->dev_allow_localhost, + &daemon->use_dns, + &tor_password, + &daemon->timeout_secs, + &daemon->websocket_helper, + &announce_websocket, + &daemon->dev_fast_gossip, + &dev_disconnect, + &daemon->dev_no_ping_timer, + &daemon->dev_handshake_no_reply, + &dev_throttle_gossip, + &daemon->dev_no_reconnect, + &daemon->dev_fast_reconnect, + &dev_limit_connections_inflight)) { /* This is a helper which prints the type expected and the actual * message, then exits (it should never be called!). */ master_badmsg(WIRE_CONNECTD_INIT, msg); @@ -1908,9 +1911,10 @@ static void try_connect_peer(struct daemon *daemon, * progress (useful for startup of large nodes) */ connect->waiting = (connecting_htable_count(daemon->connecting) > daemon->max_connect_in_flight); - if (connect->waiting) - status_peer_debug(id, "Too many connections, waiting..."); - else { + if (connect->waiting) { + status_peer_info(id, "Too many connections, waiting..."); + status_info("Too many connections, waiting..."); + } else { connect->start = time_mono(); try_connect_one_addr(connect); } diff --git a/connectd/connectd_wire.csv b/connectd/connectd_wire.csv index 4b4d54577265..d3af2709d545 100644 --- a/connectd/connectd_wire.csv +++ b/connectd/connectd_wire.csv @@ -18,6 +18,7 @@ msgdata,connectd_init,use_dns,bool, msgdata,connectd_init,tor_password,wirestring, msgdata,connectd_init,timeout_secs,u32, msgdata,connectd_init,websocket_helper,wirestring, +msgdata,connectd_init,announce_websocket,bool, msgdata,connectd_init,dev_fast_gossip,bool, # If this is set, then fd 5 is dev_disconnect_fd. msgdata,connectd_init,dev_disconnect,bool, diff --git a/lightningd/connect_control.c b/lightningd/connect_control.c index ae0bde7a378e..611b5ba265fe 100644 --- a/lightningd/connect_control.c +++ b/lightningd/connect_control.c @@ -711,6 +711,7 @@ int connectd_init(struct lightningd *ld) ld->tor_service_password ? ld->tor_service_password : "", ld->config.connection_timeout_secs, websocket_helper_path, + !ld->deprecated_ok, ld->dev_fast_gossip, ld->dev_disconnect_fd >= 0, ld->dev_no_ping_timer, diff --git a/tests/utils.py b/tests/utils.py index 9fc902aac23b..1b115f554d78 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -4,6 +4,7 @@ from pyln.client import Millisatoshi from pyln.testing.utils import EXPERIMENTAL_DUAL_FUND, EXPERIMENTAL_SPLICING from pyln.proto.onion import TlvPayload +import pytest import struct import subprocess import tempfile @@ -674,16 +675,16 @@ def serialize_payload_final_tlv(amount_msat, delay, total_msat, blockheight, pay # I wish we could force libwally to use different entropy and thus force it to # create 71-byte sigs always! def did_short_sig(node): - # This can take a moment to appear in the log! - time.sleep(1) - return node.daemon.is_in_log('overgrind: short signature length') + try: + wait_for(lambda: node.daemon.is_in_log('overgrind: short signature length'), timeout=5) + return True + except (TimeoutError, ValueError): + return False def check_feerate(nodes, actual_feerate, expected_feerate): - # Feerate can't be lower. - assert actual_feerate > expected_feerate - 2 - if actual_feerate >= expected_feerate + 2: + assert actual_feerate >= expected_feerate - 10 + if actual_feerate >= expected_feerate + 10: if any([did_short_sig(n) for n in nodes]): return - # Use assert as it shows the actual values on failure - assert actual_feerate < expected_feerate + 2 + assert actual_feerate == pytest.approx(expected_feerate, rel=0.001, abs=10)