From 9893ba7ffbb129cf56d77fb51e7c5bc66a840c66 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Thu, 29 Jan 2015 12:09:58 +0000 Subject: [PATCH] res_rtp_asterisk: Fix DTLS when used with OpenSSL 1.0.1k A recent security fix for OpenSSL broke DTLS negotiation for many applications. This was caused by read ahead not being enabled when it should be. While a commit has gone into OpenSSL to force read ahead on for DTLS it may take some time for a release to be made and the change to be present in distributions (if at all). As enabling read ahead is a simple one line change this commit does that and fixes the issue. ASTERISK-24711 #close Reported by: Jared Biel ........ Merged revisions 431384 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 431385 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431386 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_rtp_asterisk.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 0a652b0810..4982353a41 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -1281,6 +1281,8 @@ static int ast_rtp_dtls_set_configuration(struct ast_rtp_instance *instance, con return -1; } + SSL_CTX_set_read_ahead(rtp->ssl_ctx, 1); + rtp->dtls_verify = dtls_cfg->verify; SSL_CTX_set_verify(rtp->ssl_ctx, (rtp->dtls_verify & AST_RTP_DTLS_VERIFY_FINGERPRINT) || (rtp->dtls_verify & AST_RTP_DTLS_VERIFY_CERTIFICATE) ?