|
|
|
@ -2143,7 +2143,7 @@ static void media_packet_rtp_in(struct packet_handler_ctx *phc) |
|
|
|
|
|
|
|
const char *unkern = NULL; |
|
|
|
|
|
|
|
if (G_LIKELY(!phc->rtcp && !rtp_payload(&phc->mp.rtp, &phc->mp.payload, &phc->s))) { |
|
|
|
if (G_LIKELY(!phc->rtcp && (phc->mp.rtp?1:!rtp_payload(&phc->mp.rtp, &phc->mp.payload, &phc->s)))) { |
|
|
|
unkern = __stream_ssrc_in(phc->in_srtp, phc->mp.rtp->ssrc, &phc->mp.ssrc_in, |
|
|
|
phc->mp.media->monologue->ssrc_hash); |
|
|
|
|
|
|
|
@ -2315,6 +2315,19 @@ static bool media_packet_address_check(struct packet_handler_ctx *phc) |
|
|
|
"peer address confirmation purposes", |
|
|
|
FMT_M(endpoint_print_buf(&phc->mp.fsin))); |
|
|
|
goto out; |
|
|
|
} else if(proto_is_rtp(phc->mp.media->protocol)) { |
|
|
|
if(rtp_payload(&phc->mp.rtp, &phc->mp.payload, &phc->s) != 0) { |
|
|
|
ilog(LOG_INFO | LOG_FLAG_LIMIT, "Ignoring invalid RTP packet from %s%s%s for " |
|
|
|
"peer address confirmation purposes", |
|
|
|
FMT_M(endpoint_print_buf(&phc->mp.fsin))); |
|
|
|
goto out; |
|
|
|
} |
|
|
|
if(!phc->mp.rtp->ssrc) { |
|
|
|
ilog(LOG_INFO | LOG_FLAG_LIMIT, "Ignoring RTP packet with zero SSRC from %s%s%s for " |
|
|
|
"peer address confirmation purposes", |
|
|
|
FMT_M(endpoint_print_buf(&phc->mp.fsin))); |
|
|
|
goto out; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|