From 81630d19f22c1869e20cd91f56237c15abe0c9f6 Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 26 May 2021 15:32:05 +1000 Subject: [PATCH] Add service sanitization to `MetaAddr::sanitize` This makes sure that deserialization and generated `MetaAddr`s are consistent. --- zebra-network/src/meta_addr.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/zebra-network/src/meta_addr.rs b/zebra-network/src/meta_addr.rs index 42566240..95b447ac 100644 --- a/zebra-network/src/meta_addr.rs +++ b/zebra-network/src/meta_addr.rs @@ -262,9 +262,8 @@ impl MetaAddr { let last_seen = Utc.timestamp(ts - ts.rem_euclid(interval), 0); MetaAddr { addr: self.addr, - // services are sanitized during parsing, or set to a fixed valued by - // new_local_listener, so we don't need to sanitize here - services: self.services, + // deserialization also sanitizes services to known flags + services: self.services & PeerServices::all(), last_seen, // the state isn't sent to the remote peer, but sanitize it anyway last_connection_state: NeverAttemptedGossiped,