Check payload AEAD's size in relation to frame header's size

This commit is contained in:
Andy Wang 2020-10-18 21:41:30 +01:00
parent e141323c9d
commit c5276df32e
1 changed files with 6 additions and 0 deletions

View File

@ -185,6 +185,12 @@ func MakeObfuscator(encryptionMethod byte, sessionKey [32]byte) (obfuscator Obfu
return obfuscator, errors.New("Unknown encryption method") return obfuscator, errors.New("Unknown encryption method")
} }
if payloadCipher != nil {
if payloadCipher.NonceSize() > HEADER_LEN {
return obfuscator, errors.New("payload AEAD's nonce size cannot be greater than size of frame header")
}
}
obfuscator.Obfs = MakeObfs(sessionKey, payloadCipher) obfuscator.Obfs = MakeObfs(sessionKey, payloadCipher)
obfuscator.Deobfs = MakeDeobfs(sessionKey, payloadCipher) obfuscator.Deobfs = MakeDeobfs(sessionKey, payloadCipher)
return return