Browse Source

MT#55283 avoid erroneous endpoint learning

Perform endpoint address check before doing ingress SSRC handling. We
don't want to act on an apparent SSRC change if the endpoint address
doesn't match and the packet should have been ignored.

Closes #1655

Change-Id: I251e23b1583b1916c7c4904cf40d3b37b3533117
pull/1676/head
Richard Fuchs 3 years ago
parent
commit
9ed6aacd68
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      daemon/media_socket.c

+ 6
- 6
daemon/media_socket.c View File

@ -2741,12 +2741,15 @@ static int stream_packet(struct packet_handler_ctx *phc) {
}
#endif
if (rtpe_config.active_switchover && IS_FOREIGN_CALL(phc->mp.call))
call_make_own_foreign(phc->mp.call, false);
// this sets rtcp, in_srtp, and sinks
media_packet_rtcp_demux(phc);
if (media_packet_address_check(phc))
goto drop;
if (rtpe_config.active_switchover && IS_FOREIGN_CALL(phc->mp.call))
call_make_own_foreign(phc->mp.call, false);
bool is_blackhole = MEDIA_ISSET(phc->mp.media, BLACKHOLE);
if (!is_blackhole)
is_blackhole = !phc->rtcp && !MEDIA_ISSET(phc->mp.media, RECV);
@ -2819,9 +2822,6 @@ static int stream_packet(struct packet_handler_ctx *phc) {
if (!PS_ISSET(phc->mp.stream, KERNELIZED) || rtpe_now.tv_sec > phc->mp.stream->kernel_time + 1)
count_stream_stats_userspace(phc->mp.stream);
if (media_packet_address_check(phc))
goto drop;
///////////////// EGRESS HANDLING
str orig_raw = STR_NULL;


Loading…
Cancel
Save