From 920f5ea8b7ba39394b23037da82c92529b6b61a7 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Wed, 1 Sep 2010 18:52:27 +0000 Subject: Merged revisions 284477 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r284477 | twilson | 2010-09-01 13:44:36 -0500 (Wed, 01 Sep 2010) | 17 lines Fix SRTP for changing SSRC and multiple a=crypto SDP lines Adding code to Asterisk that changed the SSRC during bridges and masquerades broke SRTP functionality. Also broken was handling the situation where an incoming INVITE had more than one crypto offer. This patch caches the SRTP policies the we use so that we can change the ssrc and inform libsrtp of the new streams. It also uses the first acceptable a=crypto line from the incoming INVITE. (closes issue #17563) Reported by: Alexcr Patches: srtp.diff uploaded by twilson (license 396) Tested by: twilson Review: https://reviewboard.asterisk.org/r/878/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284479 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/rtp_engine.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'main') diff --git a/main/rtp_engine.c b/main/rtp_engine.c index 02c453ff9..9fe5c5a62 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -282,6 +282,10 @@ static void instance_destructor(void *obj) return; } + if (instance->srtp) { + res_srtp->destroy(instance->srtp); + } + /* Drop our engine reference */ ast_module_unref(instance->engine->mod); -- cgit v1.2.3