diff --git a/handshake_manager.go b/handshake_manager.go index a0b04d4..ca496bc 100644 --- a/handshake_manager.go +++ b/handshake_manager.go @@ -201,14 +201,6 @@ func (c *HandshakeManager) AddVpnIP(vpnIP uint32) *HostInfo { // main receive thread for very long by waiting to add items to the pending map c.OutboundHandshakeTimer.Add(vpnIP, c.config.tryInterval) - // If this is a static host, we don't need to wait for the HostQueryReply - // We can trigger the handshake right now - if _, ok := c.lightHouse.staticList[vpnIP]; ok { - select { - case c.trigger <- vpnIP: - default: - } - } return hostinfo } diff --git a/inside.go b/inside.go index 6e65559..9663d71 100644 --- a/inside.go +++ b/inside.go @@ -94,6 +94,15 @@ func (f *Interface) getOrHandshake(vpnIp uint32) *HostInfo { ixHandshakeStage0(f, vpnIp, hostinfo) // FIXME: Maybe make XX selectable, but probably not since psk makes it nearly pointless for us. //xx_handshakeStage0(f, ip, hostinfo) + + // If this is a static host, we don't need to wait for the HostQueryReply + // We can trigger the handshake right now + if _, ok := f.lightHouse.staticList[vpnIp]; ok { + select { + case f.handshakeManager.trigger <- vpnIp: + default: + } + } } return hostinfo