X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcypherpunks.ru%2Fgovpn%2Fcmd%2Fgovpn-client%2Ftcp.go;h=dc0eb6008a7ede9aa469bac0f553b15e7b7eae02;hb=ce2d12cc15b31a2a1157123f47e58e7857436783;hp=4b11eac1091f8c5cca3bd458d95230fc1ba89b7e;hpb=cee89cfdfbc6b2b429d56f0b420bc5b981e475b8;p=govpn.git diff --git a/src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go b/src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go index 4b11eac..dc0eb60 100644 --- a/src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go +++ b/src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go @@ -37,7 +37,7 @@ func startTCP(timeouted, rehandshaking, termination chan struct{}) { if err != nil { log.Fatalln("Can not connect to address:", err) } - log.Println("Connected to TCP:" + *remoteAddr) + govpn.Printf(`[connected remote="%s"]`, *remoteAddr) handleTCP(conn, timeouted, rehandshaking, termination) } @@ -57,7 +57,7 @@ HandshakeCycle: default: } if prev == len(buf) { - log.Println("Timeouted waiting for the packet") + govpn.Printf(`[packet-timeouted remote="%s"]`, *remoteAddr) timeouted <- struct{}{} break HandshakeCycle } @@ -65,7 +65,7 @@ HandshakeCycle: conn.SetReadDeadline(time.Now().Add(time.Duration(timeout) * time.Second)) n, err = conn.Read(buf[prev:]) if err != nil { - log.Println("Connection timeouted") + govpn.Printf(`[connection-timeouted remote="%s"]`, *remoteAddr) timeouted <- struct{}{} break HandshakeCycle } @@ -80,7 +80,7 @@ HandshakeCycle: if peer == nil { continue } - log.Println("Handshake completed") + govpn.Printf(`[handshake-completed remote="%s"]`, *remoteAddr) knownPeers = govpn.KnownPeers(map[string]**govpn.Peer{*remoteAddr: &peer}) if firstUpCall { go govpn.ScriptCall(*upPath, *ifaceName, *remoteAddr) @@ -88,23 +88,7 @@ HandshakeCycle: } hs.Zero() terminator = make(chan struct{}) - go func() { - heartbeat := time.NewTicker(peer.Timeout) - var data []byte - Processor: - for { - select { - case <-heartbeat.C: - peer.EthProcess(nil) - case <-terminator: - break Processor - case data = <-tap.Sink: - peer.EthProcess(data) - } - } - heartbeat.Stop() - peer.Zero() - }() + go govpn.PeerTapProcessor(peer, tap, terminator) break HandshakeCycle } if hs != nil { @@ -126,14 +110,14 @@ TransportCycle: default: } if prev == len(buf) { - log.Println("Timeouted waiting for the packet") + govpn.Printf(`[packet-timeouted remote="%s"]`, *remoteAddr) timeouted <- struct{}{} break TransportCycle } conn.SetReadDeadline(time.Now().Add(time.Duration(timeout) * time.Second)) n, err = conn.Read(buf[prev:]) if err != nil { - log.Println("Connection timeouted") + govpn.Printf(`[connection-timeouted remote="%s"]`, *remoteAddr) timeouted <- struct{}{} break TransportCycle } @@ -147,12 +131,12 @@ TransportCycle: continue } if !peer.PktProcess(buf[:i+govpn.NonceSize], tap, false) { - log.Println("Unauthenticated packet, dropping connection") + govpn.Printf(`[packet-unauthenticated remote="%s"]`, *remoteAddr) timeouted <- struct{}{} break TransportCycle } if atomic.LoadUint64(&peer.BytesIn)+atomic.LoadUint64(&peer.BytesOut) > govpn.MaxBytesPerKey { - log.Println("Need rehandshake") + govpn.Printf(`[rehandshake-required remote="%s"]`, *remoteAddr) rehandshaking <- struct{}{} break TransportCycle }