X-Git-Url: http://www.git.cypherpunks.ru/?p=govpn.git;a=blobdiff_plain;f=src%2Fcypherpunks.ru%2Fgovpn%2Fidentity.go;h=89b12ab5cb118687415ef05c0cbbed79cbd10a9c;hp=d738c5563e091179bd1e1fa287fb1bbcbd6ef1d9;hb=8b30dc0a74d068b1a081e897dc0bb6d4d80281ab;hpb=18d0c712f6954564df50e5aa78862b1d6e128b3b diff --git a/src/cypherpunks.ru/govpn/identity.go b/src/cypherpunks.ru/govpn/identity.go index d738c55..89b12ab 100644 --- a/src/cypherpunks.ru/govpn/identity.go +++ b/src/cypherpunks.ru/govpn/identity.go @@ -106,6 +106,7 @@ func (mc *MACCache) Find(data []byte) *PeerId { return nil } buf := make([]byte, 8) + sum := make([]byte, 32) mc.l.RLock() for pid, mt := range mc.cache { copy(buf, data) @@ -113,7 +114,7 @@ func (mc *MACCache) Find(data []byte) *PeerId { mt.l.Lock() mt.mac.Reset() mt.mac.Write(buf) - sum := mt.mac.Sum(nil) + mt.mac.Sum(sum[:0]) mt.l.Unlock() if subtle.ConstantTimeCompare(sum[len(sum)-8:], data[len(data)-8:]) == 1 { ppid := PeerId(pid)