]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go
YAML library path changed: fix makedist.sh
[govpn.git] / src / cypherpunks.ru / govpn / cmd / govpn-client / tcp.go
index 38a8cb5889ec7f5b241a6850c139b20ef6c1eb97..57a412d31d687772c691fa2dc07cb7a65ddf8946 100644 (file)
@@ -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 {
@@ -114,8 +98,6 @@ HandshakeCycle:
                return
        }
 
-       nonceExpectation := make([]byte, govpn.NonceSize)
-       peer.NonceExpectation(nonceExpectation)
        prev = 0
        var i int
 TransportCycle:
@@ -142,7 +124,7 @@ TransportCycle:
                if prev < govpn.MinPktLength {
                        continue
                }
-               i = bytes.Index(buf[:prev], nonceExpectation)
+               i = bytes.Index(buf[:prev], peer.NonceExpect)
                if i == -1 {
                        continue
                }
@@ -156,7 +138,6 @@ TransportCycle:
                        rehandshaking <- struct{}{}
                        break TransportCycle
                }
-               peer.NonceExpectation(nonceExpectation)
                copy(buf, buf[i+govpn.NonceSize:prev])
                prev = prev - i - govpn.NonceSize
                goto CheckMore