+ peerId = idsCache.Find(buf[:n])
+ if peerId == nil {
+ govpn.Printf(`[identity-unknown bind="%s" addr="%s"]`, *bindAddr, addr)
+ udpBufs <- buf
+ continue
+ }
+ conf = confs[*peerId]
+ if conf == nil {
+ govpn.Printf(
+ `[conf-get-failed bind="%s" peer="%s"]`,
+ *bindAddr, peerId.String(),
+ )
+ udpBufs <- buf
+ continue
+ }
+ hs := govpn.NewHandshake(
+ addr,
+ UDPSender{conn: conn, addr: raddr},
+ conf,
+ )
+ hs.Server(buf[:n])
+ udpBufs <- buf
+ hsLock.Lock()
+ handshakes[addr] = hs
+ hsLock.Unlock()
+ continue