Corrected crypto tag in SDP ANSWER for SRTP.
authorDavid M. Lee <dlee@digium.com>
Thu, 24 Jan 2013 16:40:42 +0000 (16:40 +0000)
committerDavid M. Lee <dlee@digium.com>
Thu, 24 Jan 2013 16:40:42 +0000 (16:40 +0000)
When Asterisk responds with an SDP ANSWER for SRTP, it had the code to
correctly fill in the crypto data, which was overwritten by a call to
sdp_crypto_offer. Corrected the situation by changing sdp_crypto_offer
to not replacing crypto data if it already exists.

(closes issue ASTERISK-20849)
Reported by: José Luis Millán
Tested by: Iñaki Baz Castillo
Patches:
fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
........

Merged revisions 380043 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380044 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/sip/sdp_crypto.c

index 85ddfe2..ba21316 100644 (file)
@@ -291,7 +291,7 @@ int sdp_crypto_offer(struct sdp_crypto *p, int taglen)
        char crypto_buf[128];
 
        if (p->a_crypto) {
-               ast_free(p->a_crypto);
+               return 0;
        }
 
        if (snprintf(crypto_buf, sizeof(crypto_buf), "a=crypto:1 AES_CM_128_HMAC_SHA1_%i inline:%s\r\n",