From: Sergey Matveev Date: Wed, 6 Jan 2016 12:04:51 +0000 (+0300) Subject: Lock-values are better passed as a pointer X-Git-Tag: 5.0^2~6 X-Git-Url: http://www.git.cypherpunks.ru/?p=govpn.git;a=commitdiff_plain;h=645ba997f088059f1fce780786a089546e25ae16 Lock-values are better passed as a pointer Signed-off-by: Sergey Matveev --- diff --git a/src/govpn/cmd/govpn-client/main.go b/src/govpn/cmd/govpn-client/main.go index 7c4514e..c7417f4 100644 --- a/src/govpn/cmd/govpn-client/main.go +++ b/src/govpn/cmd/govpn-client/main.go @@ -53,7 +53,7 @@ var ( timeout int firstUpCall bool = true knownPeers govpn.KnownPeers - idsCache govpn.CipherCache + idsCache *govpn.CipherCache ) func main() { diff --git a/src/govpn/cmd/govpn-server/conf.go b/src/govpn/cmd/govpn-server/conf.go index cd74669..6d78d8f 100644 --- a/src/govpn/cmd/govpn-server/conf.go +++ b/src/govpn/cmd/govpn-server/conf.go @@ -33,7 +33,7 @@ const ( var ( confs map[govpn.PeerId]*govpn.PeerConf - idsCache govpn.CipherCache + idsCache *govpn.CipherCache ) func confRead() map[govpn.PeerId]*govpn.PeerConf { diff --git a/src/govpn/identify.go b/src/govpn/identify.go index 89ce636..ed55e0d 100644 --- a/src/govpn/identify.go +++ b/src/govpn/identify.go @@ -46,14 +46,14 @@ type CipherCache struct { l sync.RWMutex } -func NewCipherCache(peerIds []PeerId) CipherCache { +func NewCipherCache(peerIds []PeerId) *CipherCache { cc := CipherCache{c: make(map[PeerId]*xtea.Cipher, len(peerIds))} cc.Update(peerIds) - return cc + return &cc } // Remove disappeared keys, add missing ones with initialized ciphers. -func (cc CipherCache) Update(peerIds []PeerId) { +func (cc *CipherCache) Update(peerIds []PeerId) { available := make(map[PeerId]struct{}) for _, peerId := range peerIds { available[peerId] = struct{}{} @@ -81,7 +81,7 @@ func (cc CipherCache) Update(peerIds []PeerId) { // Try to find peer's identity (that equals to an encryption key) // by taking first blocksize sized bytes from data at the beginning // as plaintext and last bytes as cyphertext. -func (cc CipherCache) Find(data []byte) *PeerId { +func (cc *CipherCache) Find(data []byte) *PeerId { if len(data) < xtea.BlockSize*2 { return nil }