From 2ff26b261db4f55c34812ce8c7c17b5392bf78e6 Mon Sep 17 00:00:00 2001 From: Wade Simmons Date: Thu, 11 Apr 2024 13:02:13 -0400 Subject: [PATCH] need to hold lock during cacheCb --- handshake_manager.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/handshake_manager.go b/handshake_manager.go index 241a168..640227a 100644 --- a/handshake_manager.go +++ b/handshake_manager.go @@ -376,11 +376,11 @@ func (hm *HandshakeManager) StartHandshake(vpnIp iputil.VpnIp, cacheCb func(*Han hm.Lock() if hh, ok := hm.vpnIps[vpnIp]; ok { - hm.Unlock() // We are already trying to handshake with this vpn ip if cacheCb != nil { cacheCb(hh) } + hm.Unlock() return hh.hostinfo } @@ -422,9 +422,7 @@ func (hm *HandshakeManager) StartHandshake(vpnIp iputil.VpnIp, cacheCb func(*Han } hm.Unlock() - if !hm.lightHouse.IsLighthouseIP(vpnIp) { - hm.lightHouse.QueryServer(vpnIp) - } + hm.lightHouse.QueryServer(vpnIp) return hostinfo }