From 22c4c1a0bac1bf42b2979bc689957f7e1a09c921 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Fri, 23 Jun 2017 11:17:51 -0500 Subject: bridge_native_rtp.c: Fix direct media video RTP instance ACL check. The video stream was using the audio stream RTP instance addresses to check if the video RTP gets directed to an allowed direct media Access Control List (ACL) address. There is no guarantee that the video RTP instance uses the same addresses as the audio RTP instance. This looks like it has been a bug since v11 when direct media ACL was first added to chan_sip and then faithfully reproduced through a couple code refactorings into the new bridging architecture. Change-Id: I8ddd56320e0eea769f3ceed3fa5b6bdfb51d681a --- bridges/bridge_native_rtp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bridges') diff --git a/bridges/bridge_native_rtp.c b/bridges/bridge_native_rtp.c index 4e55a3e88..e25559363 100644 --- a/bridges/bridge_native_rtp.c +++ b/bridges/bridge_native_rtp.c @@ -184,10 +184,10 @@ static int rtp_glue_data_get(struct ast_channel *c0, struct rtp_glue_data *glue0 } } if (glue0->video.result == glue1->video.result && glue1->video.result == AST_RTP_GLUE_RESULT_REMOTE) { - if (glue0->cb->allow_vrtp_remote && !glue0->cb->allow_vrtp_remote(c0, glue1->audio.instance)) { - /* if the allow_vrtp_remote indicates that remote isn't allowed, revert to local bridge */ + if (glue0->cb->allow_vrtp_remote && !glue0->cb->allow_vrtp_remote(c0, glue1->video.instance)) { + /* If the allow_vrtp_remote indicates that remote isn't allowed, revert to local bridge */ glue0->video.result = glue1->video.result = AST_RTP_GLUE_RESULT_LOCAL; - } else if (glue1->cb->allow_vrtp_remote && !glue1->cb->allow_vrtp_remote(c1, glue0->audio.instance)) { + } else if (glue1->cb->allow_vrtp_remote && !glue1->cb->allow_vrtp_remote(c1, glue0->video.instance)) { glue0->video.result = glue1->video.result = AST_RTP_GLUE_RESULT_LOCAL; } } -- cgit v1.2.3