From: Sergey Matveev Date: Sun, 15 Nov 2015 10:48:13 +0000 (+0300) Subject: Skip peer creation if either up-script or interface call failed X-Git-Tag: 4.2^2~4 X-Git-Url: http://www.git.cypherpunks.ru/?p=govpn.git;a=commitdiff_plain;h=dc9ef60b433449b8ca3ebbf4442b7e5fe72483b6 Skip peer creation if either up-script or interface call failed Signed-off-by: Sergey Matveev --- diff --git a/src/govpn/cmd/govpn-server/common.go b/src/govpn/cmd/govpn-server/common.go index f2cc0d3..6560cfe 100644 --- a/src/govpn/cmd/govpn-server/common.go +++ b/src/govpn/cmd/govpn-server/common.go @@ -20,6 +20,7 @@ package main import ( "bytes" + "log" "sync" "time" @@ -68,6 +69,7 @@ Processor: func callUp(peerId *govpn.PeerId) (string, error) { result, err := govpn.ScriptCall(confs[*peerId].Up, "") if err != nil { + log.Println("Script", confs[*peerId].Up, "call failed", err) return "", err } sepIndex := bytes.Index(result, []byte{'\n'}) diff --git a/src/govpn/cmd/govpn-server/tcp.go b/src/govpn/cmd/govpn-server/tcp.go index 437b500..dcd9606 100644 --- a/src/govpn/cmd/govpn-server/tcp.go +++ b/src/govpn/cmd/govpn-server/tcp.go @@ -117,11 +117,13 @@ func handleTCP(conn net.Conn) { } else { ifaceName, err := callUp(peer.Id) if err != nil { + peer = nil break } tap, err = govpn.TAPListen(ifaceName) if err != nil { log.Println("Unable to create TAP:", err) + peer = nil break } ps = &PeerState{