From: Alexander Traud Date: Tue, 21 Jun 2016 12:05:30 +0000 (+0200) Subject: res_rtp_asterisk: Use latest DTLS version available by underlying platform. X-Git-Tag: 11.23.0-rc1~9^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fchanges%2F53%2F3053%2F2;p=thirdparty%2Fasterisk.git res_rtp_asterisk: Use latest DTLS version available by underlying platform. Do not use DTLSv1_method() but DTLS_method() when available in OpenSSL of the underlying platform. This change enables DTLS 1.2 since OpenSSL 1.0.2, for WebRTC (DTLS-SRTP via SIP-over-WebSockets). This change enables AEAD-based cipher-suites. ASTERISK-26130 #close Change-Id: I41f24448d6d2953e8bdb97c9f4a6bc8a8f055fd0 --- diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 86595a34bf..36ce117486 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -1298,7 +1298,12 @@ static int ast_rtp_dtls_set_configuration(struct ast_rtp_instance *instance, con return -1; } - if (!(rtp->ssl_ctx = SSL_CTX_new(DTLSv1_method()))) { +#if OPENSSL_VERSION_NUMBER < 0x10002000L + rtp->ssl_ctx = SSL_CTX_new(DTLSv1_method()); +#else + rtp->ssl_ctx = SSL_CTX_new(DTLS_method()); +#endif + if (!rtp->ssl_ctx) { return -1; }