From 4a8e8486739d750c40dcc6df299add9907ae241e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Sat, 13 Jul 2024 02:19:33 +0900 Subject: [PATCH] fix(link): noroute skip --- gold/link/peer.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gold/link/peer.go b/gold/link/peer.go index 53cb190..23cb0c0 100644 --- a/gold/link/peer.go +++ b/gold/link/peer.go @@ -92,15 +92,17 @@ func (m *Me) AddPeer(cfg *PeerConfig) (l *Link) { } } _, cidr, err := net.ParseCIDR(ipnet) - if err == nil { - l.allowedips = append(l.allowedips, cidr) - l.me.router.SetItem(cidr, l) - l.me.connmapmu.Lock() - l.me.connections[cfg.PeerIP] = l - l.me.connmapmu.Unlock() - } else { + if err != nil { panic(err) } + l.allowedips = append(l.allowedips, cidr) + if noroute { + continue + } + l.me.router.SetItem(cidr, l) + l.me.connmapmu.Lock() + l.me.connections[cfg.PeerIP] = l + l.me.connmapmu.Unlock() } } logrus.Infoln("[peer] add peer:", cfg.PeerIP, "allow:", cfg.AllowedIPs)