Merge commit '3ef6d22e1ba544ab37c73e8fc61382f13aac250f'

* commit '3ef6d22e1ba544ab37c73e8fc61382f13aac250f':
  srtp: cosmetics: Use fewer lines for the test vectors
  srtp: Don't require more input data than what actually is needed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-01-21 15:07:04 +01:00
commit 248140f8a2

View File

@ -243,8 +243,8 @@ int ff_srtp_encrypt(struct SRTPContext *s, const uint8_t *in, int len,
int rtcp, hmac_size, padding; int rtcp, hmac_size, padding;
uint8_t *buf; uint8_t *buf;
if (len < 12) if (len < 8)
return 0; return AVERROR_INVALIDDATA;
rtcp = RTP_PT_IS_RTCP(in[1]); rtcp = RTP_PT_IS_RTCP(in[1]);
hmac_size = rtcp ? s->rtcp_hmac_size : s->rtp_hmac_size; hmac_size = rtcp ? s->rtcp_hmac_size : s->rtp_hmac_size;
@ -267,6 +267,10 @@ int ff_srtp_encrypt(struct SRTPContext *s, const uint8_t *in, int len,
} else { } else {
int ext, csrc; int ext, csrc;
int seq = AV_RB16(buf + 2); int seq = AV_RB16(buf + 2);
if (len < 12)
return AVERROR_INVALIDDATA;
ssrc = AV_RB32(buf + 8); ssrc = AV_RB32(buf + 8);
if (seq < s->seq_largest) if (seq < s->seq_largest)
@ -326,9 +330,7 @@ static const char *aes128_80_key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn";
static const uint8_t rtp_aes128_80[] = { static const uint8_t rtp_aes128_80[] = {
// RTP header // RTP header
0x80, 0xe0, 0x12, 0x34, 0x80, 0xe0, 0x12, 0x34, 0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
// encrypted payload // encrypted payload
0x62, 0x69, 0x76, 0xca, 0xc5, 0x62, 0x69, 0x76, 0xca, 0xc5,
// HMAC // HMAC
@ -337,15 +339,10 @@ static const uint8_t rtp_aes128_80[] = {
static const uint8_t rtcp_aes128_80[] = { static const uint8_t rtcp_aes128_80[] = {
// RTCP header // RTCP header
0x81, 0xc9, 0x00, 0x07, 0x81, 0xc9, 0x00, 0x07, 0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
// encrypted payload // encrypted payload
0x8a, 0xac, 0xdc, 0xa5, 0x8a, 0xac, 0xdc, 0xa5, 0x4c, 0xf6, 0x78, 0xa6, 0x62, 0x8f, 0x24, 0xda,
0x4c, 0xf6, 0x78, 0xa6, 0x6c, 0x09, 0x3f, 0xa9, 0x28, 0x7a, 0xb5, 0x7f, 0x1f, 0x0f, 0xc9, 0x35,
0x62, 0x8f, 0x24, 0xda,
0x6c, 0x09, 0x3f, 0xa9,
0x28, 0x7a, 0xb5, 0x7f,
0x1f, 0x0f, 0xc9, 0x35,
// RTCP index // RTCP index
0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03,
// HMAC // HMAC
@ -356,9 +353,7 @@ static const char *aes128_32_key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn";
static const uint8_t rtp_aes128_32[] = { static const uint8_t rtp_aes128_32[] = {
// RTP header // RTP header
0x80, 0xe0, 0x12, 0x34, 0x80, 0xe0, 0x12, 0x34, 0x12, 0x34, 0x56, 0x78, 0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
// encrypted payload // encrypted payload
0x62, 0x69, 0x76, 0xca, 0xc5, 0x62, 0x69, 0x76, 0xca, 0xc5,
// HMAC // HMAC
@ -367,15 +362,10 @@ static const uint8_t rtp_aes128_32[] = {
static const uint8_t rtcp_aes128_32[] = { static const uint8_t rtcp_aes128_32[] = {
// RTCP header // RTCP header
0x81, 0xc9, 0x00, 0x07, 0x81, 0xc9, 0x00, 0x07, 0x12, 0x34, 0x56, 0x78,
0x12, 0x34, 0x56, 0x78,
// encrypted payload // encrypted payload
0x35, 0xe9, 0xb5, 0xff, 0x35, 0xe9, 0xb5, 0xff, 0x0d, 0xd1, 0xde, 0x70, 0x74, 0x10, 0xaa, 0x1b,
0x0d, 0xd1, 0xde, 0x70, 0xb2, 0x8d, 0xf0, 0x20, 0x02, 0x99, 0x6b, 0x1b, 0x0b, 0xd0, 0x47, 0x34,
0x74, 0x10, 0xaa, 0x1b,
0xb2, 0x8d, 0xf0, 0x20,
0x02, 0x99, 0x6b, 0x1b,
0x0b, 0xd0, 0x47, 0x34,
// RTCP index // RTCP index
0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x04,
// HMAC // HMAC