From 8f196b2d7b626b2e94f722090bf2737ce7fdfb0b Mon Sep 17 00:00:00 2001 From: Alex Myers Date: Thu, 27 Jul 2023 15:08:00 -0500 Subject: [PATCH] gossipd: actually update own node announcement if needed When an outdated own node announcement is present, it fails the nannounce_different test and also fails to kick off the forced regen timer. Changelog-Fixed: Node announcements are refreshed more reliably. --- gossipd/gossip_generation.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gossipd/gossip_generation.c b/gossipd/gossip_generation.c index 4c70b1e5c..0825cb1ec 100644 --- a/gossipd/gossip_generation.c +++ b/gossipd/gossip_generation.c @@ -287,6 +287,11 @@ static bool update_own_node_announcement(struct daemon *daemon, &only_missing_tlv)) { if (always_refresh) goto send; + /* Update if old announcement is at least 7 days old. */ + if (timestamp > self->bcast.timestamp && + timestamp - self->bcast.timestamp > + GOSSIP_PRUNE_INTERVAL(daemon->rstate->dev_fast_gossip_prune) / 2) + goto send; return false; }