mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 00:04:53 +00:00
res_rtp_asterisk.c: Check RTP packet version earlier.
Change-Id: Ic6493a7d79683f3e5845dff1cee49445fd5a0adf
This commit is contained in:
@@ -5070,6 +5070,11 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
|
|||||||
return &ast_null_frame;
|
return &ast_null_frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the version is not what we expected by this point then just drop the packet */
|
||||||
|
if (version != 2) {
|
||||||
|
return &ast_null_frame;
|
||||||
|
}
|
||||||
|
|
||||||
/* If strict RTP protection is enabled see if we need to learn the remote address or if we need to drop the packet */
|
/* If strict RTP protection is enabled see if we need to learn the remote address or if we need to drop the packet */
|
||||||
if (rtp->strict_rtp_state == STRICT_RTP_LEARN) {
|
if (rtp->strict_rtp_state == STRICT_RTP_LEARN) {
|
||||||
if (!ast_sockaddr_cmp(&rtp->strict_rtp_address, &addr)) {
|
if (!ast_sockaddr_cmp(&rtp->strict_rtp_address, &addr)) {
|
||||||
@@ -5116,11 +5121,6 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the version is not what we expected by this point then just drop the packet */
|
|
||||||
if (version != 2) {
|
|
||||||
return &ast_null_frame;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Pull out the various other fields we will need */
|
/* Pull out the various other fields we will need */
|
||||||
payloadtype = (seqno & 0x7f0000) >> 16;
|
payloadtype = (seqno & 0x7f0000) >> 16;
|
||||||
padding = seqno & (1 << 29);
|
padding = seqno & (1 << 29);
|
||||||
|
Reference in New Issue
Block a user