From 0bf0a6140116440b5644b8552eafd330752e1885 Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 24 Jun 2020 18:03:09 +0800 Subject: [PATCH] RTC: Refine DTLS code. --- trunk/src/app/srs_app_rtc_conn.cpp | 4 ++-- trunk/src/app/srs_app_rtc_dtls.cpp | 3 ++- trunk/src/app/srs_app_rtc_dtls.hpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index d443e03d2..291392646 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -153,8 +153,8 @@ srs_error_t SrsRtcDtls::initialize(SrsRequest* r) return srs_error_wrap(err, "DTLS init"); } - // TODO: FIXME: Support config by vhost to use RSA or ECDSA certificate. - if ((dtls = SSL_new(SrsDtls::instance()->get_dtls_ctx(r))) == NULL) { + // TODO: FIXME: Leak for SSL_CTX* return by build_dtls_ctx. + if ((dtls = SSL_new(SrsDtls::instance()->build_dtls_ctx())) == NULL) { return srs_error_new(ERROR_OpenSslCreateSSL, "SSL_new dtls"); } diff --git a/trunk/src/app/srs_app_rtc_dtls.cpp b/trunk/src/app/srs_app_rtc_dtls.cpp index 255573f44..5291a6fc3 100644 --- a/trunk/src/app/srs_app_rtc_dtls.cpp +++ b/trunk/src/app/srs_app_rtc_dtls.cpp @@ -216,7 +216,7 @@ SrsDtls* SrsDtls::instance() return _instance; } -SSL_CTX* SrsDtls::get_dtls_ctx(SrsRequest* r) +SSL_CTX* SrsDtls::build_dtls_ctx() { SSL_CTX* dtls_ctx; #if OPENSSL_VERSION_NUMBER < 0x10002000L // v1.0.2 @@ -228,6 +228,7 @@ SSL_CTX* SrsDtls::get_dtls_ctx(SrsRequest* r) #endif // Whether use ECDSA certificate. + // TODO: FIXME: Support config by vhost to use RSA or ECDSA certificate. bool is_ecdsa = _srs_config->get_rtc_server_ecdsa(); if (is_ecdsa) { // By ECDSA, https://stackoverflow.com/a/6006898 EC_KEY* eckey = EC_KEY_new(); diff --git a/trunk/src/app/srs_app_rtc_dtls.hpp b/trunk/src/app/srs_app_rtc_dtls.hpp index 3f25814a0..3296b50b2 100644 --- a/trunk/src/app/srs_app_rtc_dtls.hpp +++ b/trunk/src/app/srs_app_rtc_dtls.hpp @@ -48,7 +48,7 @@ public: srs_error_t init(SrsRequest* r); public: static SrsDtls* instance(); - SSL_CTX* get_dtls_ctx(SrsRequest* r); + SSL_CTX* build_dtls_ctx(); public: std::string get_fingerprint() const; };