From e383e14cb381177b0703a29df721b625f8dfa952 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 20 Jan 2026 15:07:07 +1030 Subject: [PATCH] connectd: don't be That Node when someone is gossipping crap. As seen in my logs, we complain about nodes a *lot* (Hi old CLN!). ``` ===>1589311 DEBUG 02e01367e1d7818a7e9a0e8a52badd5c32615e07568dbe0497b6a47f9bef89d6af-connectd: peer_out WIRE_WARNING 139993 DEBUG lightningd: fixup_scan: block 786151 with 1203 txs 55388 DEBUG plugin-bcli: Log pruned 1001 entries (mem 10508118 -> 10298662) 33000 DEBUG gossipd: Unreasonable timestamp in 0102000a38ec41f9137a5a560dac6effbde059c12cb727344821cbdd4ef46964a4791a0f67cd997499a6062fc8b4284bf1b47a91541fd0e65129505f02e4d08542b16fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900000000000d9d56000ba40001690fe262010100900000000000000001000003e8000001f30000000000989680 23515 DEBUG hsmd: Client: Received message 14 from client 22269 DEBUG 024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605-hsmd: Got WIRE_HSMD_ECDH_REQ 14409 DEBUG gossipd: Enqueueing update for announce 0102002f7e4b4deb19947c67292e70cb22f7fac837fa9ee6269393f3c513d0431d52672e7387625856c19299cfd584e1a3f39e0f98df13c99090df9f4d5cca8446776fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900000000000e216b0008050001692e1c390101009000000000000003e800000000000013880000004526945a00 12534 DEBUG gossipd: Previously-rejected announce for 514127x248x1 10761 DEBUG 02e01367e1d7818a7e9a0e8a52badd5c32615e07568dbe0497b6a47f9bef89d6af-channeld-chan#70770: Got it! 10761 DEBUG 02e01367e1d7818a7e9a0e8a52badd5c32615e07568dbe0497b6a47f9bef89d6af-channeld-chan#70770: ... , awaiting 1120 10761 DEBUG 02e01367e1d7818a7e9a0e8a52badd5c32615e07568dbe0497b6a47f9bef89d6af-channeld-chan#70770: Sending master 1020 ``` Signed-off-by: Rusty Russell --- gossipd/gossmap_manage.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gossipd/gossmap_manage.c b/gossipd/gossmap_manage.c index c0589148c..556104c70 100644 --- a/gossipd/gossmap_manage.c +++ b/gossipd/gossmap_manage.c @@ -703,9 +703,16 @@ void gossmap_manage_handle_get_txout_reply(struct gossmap_manage *gm, const u8 * * - MUST ignore the message. */ if (tal_count(outscript) == 0) { - peer_warning(gm, pca->source_peer, - "channel_announcement: no unspent txout %s", - fmt_short_channel_id(tmpctx, scid)); + /* Don't flood them: this happens with pre-25.12 CLN + * nodes, which lost their marbles about some old + * UTXOs. */ + static struct timemono prev; + if (time_greater(timemono_since(prev), time_from_sec(1))) { + peer_warning(gm, pca->source_peer, + "channel_announcement: no unspent txout %s", + fmt_short_channel_id(tmpctx, scid)); + prev = time_mono(); + } goto bad; }