mirror of https://github.com/cbeuw/Cloak
Avoid assigning functions to variables in hot path
This commit is contained in:
parent
661db9d083
commit
c60c6d8ddb
|
|
@ -11,11 +11,6 @@ import (
|
||||||
"golang.org/x/crypto/salsa20"
|
"golang.org/x/crypto/salsa20"
|
||||||
)
|
)
|
||||||
|
|
||||||
var u32 = binary.BigEndian.Uint32
|
|
||||||
var u64 = binary.BigEndian.Uint64
|
|
||||||
var putU32 = binary.BigEndian.PutUint32
|
|
||||||
var putU64 = binary.BigEndian.PutUint64
|
|
||||||
|
|
||||||
const frameHeaderLength = 14
|
const frameHeaderLength = 14
|
||||||
const salsa20NonceSize = 8
|
const salsa20NonceSize = 8
|
||||||
|
|
||||||
|
|
@ -98,8 +93,8 @@ func (o *Obfuscator) obfuscate(f *Frame, buf []byte, payloadOffsetInBuf int) (in
|
||||||
}
|
}
|
||||||
|
|
||||||
header := buf[:frameHeaderLength]
|
header := buf[:frameHeaderLength]
|
||||||
putU32(header[0:4], f.StreamID)
|
binary.BigEndian.PutUint32(header[0:4], f.StreamID)
|
||||||
putU64(header[4:12], f.Seq)
|
binary.BigEndian.PutUint64(header[4:12], f.Seq)
|
||||||
header[12] = f.Closing
|
header[12] = f.Closing
|
||||||
header[13] = byte(extraLen)
|
header[13] = byte(extraLen)
|
||||||
|
|
||||||
|
|
@ -130,8 +125,8 @@ func (o *Obfuscator) deobfuscate(f *Frame, in []byte) error {
|
||||||
nonce := in[len(in)-salsa20NonceSize:]
|
nonce := in[len(in)-salsa20NonceSize:]
|
||||||
salsa20.XORKeyStream(header, header, nonce, &o.SessionKey)
|
salsa20.XORKeyStream(header, header, nonce, &o.SessionKey)
|
||||||
|
|
||||||
streamID := u32(header[0:4])
|
streamID := binary.BigEndian.Uint32(header[0:4])
|
||||||
seq := u64(header[4:12])
|
seq := binary.BigEndian.Uint64(header[4:12])
|
||||||
closing := header[12]
|
closing := header[12]
|
||||||
extraLen := header[13]
|
extraLen := header[13]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue