X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=cmd%2Fgovpn-server%2Fmain.go;h=8aa26ec83bdb8878766fd28efd96c06f6a6e9d98;hb=cae1bf7a68f5be04942cdb96f91e5eca44232f5c;hp=6697f2b42351229f4711af3a212ba485f3658585;hpb=1f0e56f6a94ab99ef3b46eb1b07f65c802f508c0;p=govpn.git diff --git a/cmd/govpn-server/main.go b/cmd/govpn-server/main.go index 6697f2b..8aa26ec 100644 --- a/cmd/govpn-server/main.go +++ b/cmd/govpn-server/main.go @@ -113,6 +113,7 @@ func main() { var udpPktData []byte var ethEvent EthEvent var peerId *govpn.PeerId + var peerConf *govpn.PeerConf var handshakeProcessForce bool ethSink := make(chan EthEvent) @@ -208,12 +209,18 @@ MainCycle: udpReady <- struct{}{} continue } + peerConf = peerId.Conf() + if peerConf == nil { + log.Println("Can not get peer configuration", peerId.String()) + udpReady <- struct{}{} + continue + } state, exists = states[addr] if !exists { - state = govpn.HandshakeNew(udpPkt.Addr) + state = govpn.HandshakeNew(udpPkt.Addr, peerConf) states[addr] = state } - peer = state.Server(peerId, conn, udpPktData) + peer = state.Server(conn, udpPktData) if peer != nil { log.Println("Peer handshake finished", peer) if _, exists = peers[addr]; exists {