From 16f602f5c2297f2d75360efe27893df00b34285a Mon Sep 17 00:00:00 2001 From: Yousf Ateya Date: Sun, 10 May 2015 14:37:54 +0200 Subject: res_rtp_asterisk: Correction for the limit which detects that a packet is DTLS. First byte of DTLS packet shall be in range 20-63, not 20-64. Refer to RFC https://tools.ietf.org/html/rfc5764#section-5.1.2 for correct values. Change-Id: Iae6fa0d72b37c36a27fe40686e0ae6fba3afec31 --- res/res_rtp_asterisk.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'res/res_rtp_asterisk.c') diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index ed7dde01d..b78f6e24e 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -2016,8 +2016,9 @@ static int __rtp_recvfrom(struct ast_rtp_instance *instance, void *buf, size_t s #ifdef HAVE_OPENSSL_SRTP dtls_srtp_check_pending(instance, rtp, rtcp); - /* If this is an SSL packet pass it to OpenSSL for processing */ - if ((*in >= 20) && (*in <= 64)) { + /* If this is an SSL packet pass it to OpenSSL for processing. RFC section for first byte value: + * https://tools.ietf.org/html/rfc5764#section-5.1.2 */ + if ((*in >= 20) && (*in <= 63)) { struct dtls_details *dtls = !rtcp ? &rtp->dtls : &rtp->rtcp->dtls; int res = 0; -- cgit v1.2.3