From d94cb3a96dce17f34a516dc4f9bc65d55b2e510c Mon Sep 17 00:00:00 2001 From: Luna Yao <40349250+ZnqbuZ@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:30:23 +0200 Subject: [PATCH] peer_mgr: ignore unsupported peer --- easytier/src/dns/peer_mgr.rs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/easytier/src/dns/peer_mgr.rs b/easytier/src/dns/peer_mgr.rs index 30292112..0baf8d7a 100644 --- a/easytier/src/dns/peer_mgr.rs +++ b/easytier/src/dns/peer_mgr.rs @@ -99,14 +99,20 @@ impl DnsPeerMgr { self.dirty.mark(); - match self.fetch(peer_id).await { - Ok(info) => { - self.peers.insert(peer_id, info).await; - } - Err(error) => { - tracing::warn!(%peer_id, ?error, "failed to fetch dns export config from peer"); - self.peers.invalidate(&peer_id).await; - } + let invalidate = route.dns.is_empty() + || match self.fetch(peer_id).await { + Ok(info) => { + self.peers.insert(peer_id, info).await; + false + } + Err(error) => { + tracing::warn!(%peer_id, ?error, "failed to fetch dns export config from peer"); + true + } + }; + + if invalidate { + self.peers.invalidate(&peer_id).await; } self.dirty.notify_one();