@ -416,3 +416,59 @@ func TestPadding(t *testing.T) {
singlePaddingTest ( t , n )
}
}
func TestPaddingAppendedToSymMessages ( t * testing . T ) {
params := & MessageParams {
Payload : make ( [ ] byte , 246 ) ,
KeySym : make ( [ ] byte , aesKeyLength ) ,
}
// Simulate a message with a payload just under 256 so that
// payload + flag + aesnonce > 256. Check that the result
// is padded on the next 256 boundary.
msg := sentMessage { }
msg . Raw = make ( [ ] byte , len ( params . Payload ) + 1 + AESNonceLength )
err := msg . appendPadding ( params )
if err != nil {
t . Fatalf ( "Error appending padding to message %v" , err )
return
}
if len ( msg . Raw ) != 512 {
t . Errorf ( "Invalid size %d != 512" , len ( msg . Raw ) )
}
}
func TestPaddingAppendedToSymMessagesWithSignature ( t * testing . T ) {
params := & MessageParams {
Payload : make ( [ ] byte , 246 ) ,
KeySym : make ( [ ] byte , aesKeyLength ) ,
}
pSrc , err := crypto . GenerateKey ( )
if err != nil {
t . Fatalf ( "Error creating the signature key %v" , err )
return
}
params . Src = pSrc
// Simulate a message with a payload just under 256 so that
// payload + flag + aesnonce > 256. Check that the result
// is padded on the next 256 boundary.
msg := sentMessage { }
msg . Raw = make ( [ ] byte , len ( params . Payload ) + 1 + AESNonceLength + signatureLength )
err = msg . appendPadding ( params )
if err != nil {
t . Fatalf ( "Error appending padding to message %v" , err )
return
}
if len ( msg . Raw ) != 512 {
t . Errorf ( "Invalid size %d != 512" , len ( msg . Raw ) )
}
}