]> Cypherpunks.ru repositories - govpn.git/commitdiff
Let all counters will be unsigned, as sign does not mean anything
authorSergey Matveev <stargrave@stargrave.org>
Sat, 6 Feb 2016 11:03:02 +0000 (14:03 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 6 Feb 2016 11:03:02 +0000 (14:03 +0300)
Signed-off-by: Sergey Matveev <stargrave@stargrave.org>
src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go
src/cypherpunks.ru/govpn/cmd/govpn-client/udp.go
src/cypherpunks.ru/govpn/peer.go

index 7e2b1a3db9db896d1fcf27b20dbe7ccc0f37db3b..dd353649ad4db37ee0f2a1b0b673b7e7d71b2a76 100644 (file)
@@ -151,7 +151,7 @@ TransportCycle:
                        timeouted <- struct{}{}
                        break TransportCycle
                }
-               if atomic.LoadInt64(&peer.BytesIn)+atomic.LoadInt64(&peer.BytesOut) > govpn.MaxBytesPerKey {
+               if atomic.LoadUint64(&peer.BytesIn)+atomic.LoadUint64(&peer.BytesOut) > govpn.MaxBytesPerKey {
                        log.Println("Need rehandshake")
                        rehandshaking <- struct{}{}
                        break TransportCycle
index 3d0c421bd4168683ade366abf0bc54302affc2a7..c70cf46c1ea2c3e8a22b5f8fdded82ef43b7a243 100644 (file)
@@ -70,7 +70,7 @@ MainCycle:
                                log.Println("Unauthenticated packet")
                                timeouts++
                        }
-                       if atomic.LoadInt64(&peer.BytesIn)+atomic.LoadInt64(&peer.BytesOut) > govpn.MaxBytesPerKey {
+                       if atomic.LoadUint64(&peer.BytesIn)+atomic.LoadUint64(&peer.BytesOut) > govpn.MaxBytesPerKey {
                                log.Println("Need rehandshake")
                                rehandshaking <- struct{}{}
                                break MainCycle
index 69490c94a8f84c3da34791f50cce53923c13ee1e..4b48cec43ee983f082de34d8569ec8133d56dc1b 100644 (file)
@@ -39,7 +39,7 @@ const (
        // S20BS is Salsa20's internal blocksize in bytes
        S20BS = 64
        // Maximal amount of bytes transfered with single key (4 GiB)
-       MaxBytesPerKey int64 = 1 << 32
+       MaxBytesPerKey uint64 = 1 << 32
        // Heartbeat rate, relative to Timeout
        TimeoutHeartbeat = 4
        // Minimal valid packet length
@@ -96,10 +96,10 @@ type Peer struct {
        willSentCycle time.Time
 
        // Statistics
-       BytesIn         int64
-       BytesOut        int64
-       BytesPayloadIn  int64
-       BytesPayloadOut int64
+       BytesIn         uint64
+       BytesOut        uint64
+       BytesPayloadIn  uint64
+       BytesPayloadOut uint64
        FramesIn        uint64
        FramesOut       uint64
        FramesUnauth    uint64
@@ -241,7 +241,7 @@ func (p *Peer) EthProcess(data []byte) {
                // accept the next one
                copy(p.bufT[S20BS:], data)
                p.bufT[S20BS+len(data)] = PadByte
-               p.BytesPayloadOut += int64(len(data))
+               p.BytesPayloadOut += uint64(len(data))
        }
 
        if p.NoiseEnable && !p.Encless {
@@ -278,7 +278,7 @@ func (p *Peer) EthProcess(data []byte) {
                )
                copy(p.keyAuthT[:], p.bufT[:SSize])
                poly1305.Sum(p.tagT, p.frameT, p.keyAuthT)
-               atomic.AddInt64(&p.BytesOut, int64(len(p.frameT)+TagSize))
+               atomic.AddUint64(&p.BytesOut, uint64(len(p.frameT)+TagSize))
                out = append(p.tagT[:], p.frameT...)
        }
        p.FramesOut++
@@ -376,7 +376,7 @@ func (p *Peer) PktProcess(data []byte, tap io.Writer, reorderable bool) bool {
        }
 
        p.FramesIn++
-       atomic.AddInt64(&p.BytesIn, int64(len(data)))
+       atomic.AddUint64(&p.BytesIn, uint64(len(data)))
        p.LastPing = time.Now()
        p.pktSizeR = bytes.LastIndexByte(out, PadByte)
        if p.pktSizeR == -1 {
@@ -396,7 +396,7 @@ func (p *Peer) PktProcess(data []byte, tap io.Writer, reorderable bool) bool {
                p.BusyR.Unlock()
                return true
        }
-       p.BytesPayloadIn += int64(p.pktSizeR)
+       p.BytesPayloadIn += uint64(p.pktSizeR)
        tap.Write(out[:p.pktSizeR])
        p.BusyR.Unlock()
        return true