From fa35c9b4f1edaa886629d9087ee8916be5bf98e8 Mon Sep 17 00:00:00 2001 From: Janito Vaqueiro Ferreira Filho Date: Mon, 31 May 2021 14:00:34 +0000 Subject: [PATCH] Only apply offset to times in the future Times in the past don't have any security implications, so there's no point in trying to apply the offset to them as well. --- zebra-network/src/peer_set/candidate_set.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/zebra-network/src/peer_set/candidate_set.rs b/zebra-network/src/peer_set/candidate_set.rs index 3b02afed..ea4d00b7 100644 --- a/zebra-network/src/peer_set/candidate_set.rs +++ b/zebra-network/src/peer_set/candidate_set.rs @@ -375,7 +375,12 @@ fn limit_last_seen_times(addrs: &mut Vec, last_seen_limit: DateTime32) let offset = most_recent_reported_seen_time.timestamp() - last_seen_limit.timestamp(); for addr in addrs { - let last_seen = addr.get_last_seen().timestamp() - offset; - addr.set_last_seen(last_seen.into()); + let old_last_seen = addr.get_last_seen().timestamp(); + + if old_last_seen > last_seen_limit.timestamp() { + let new_last_seen = old_last_seen - offset; + + addr.set_last_seen(new_last_seen.into()); + } } }