Browse Source

Fixed SSL_set_tlsext_use_srtp() error checking

Paul-Louis Ageneau 5 years ago
parent
commit
6ed692325f
2 changed files with 2 additions and 3 deletions
  1. 1 1
      src/dtlssrtptransport.cpp
  2. 1 2
      src/tls.cpp

+ 1 - 1
src/dtlssrtptransport.cpp

@@ -52,7 +52,7 @@ DtlsSrtpTransport::DtlsSrtpTransport(std::shared_ptr<IceTransport> lower,
 #else
 #else
 	PLOG_DEBUG << "Setting SRTP profile (OpenSSL)";
 	PLOG_DEBUG << "Setting SRTP profile (OpenSSL)";
 	// returns 0 on success, 1 on error
 	// returns 0 on success, 1 on error
-	if (SSL_set_tlsext_use_srtp(mSsl, "SRTP_AES128_CM_SHA1_80"), "Failed to set SRTP profile")
+	if (SSL_set_tlsext_use_srtp(mSsl, "SRTP_AES128_CM_SHA1_80"))
 		throw std::runtime_error("Failed to set SRTP profile: " +
 		throw std::runtime_error("Failed to set SRTP profile: " +
 		                         openssl::error_string(ERR_get_error()));
 		                         openssl::error_string(ERR_get_error()));
 #endif
 #endif

+ 1 - 2
src/tls.cpp

@@ -85,10 +85,9 @@ void init() {
 	static bool done = false;
 	static bool done = false;
 
 
 	std::lock_guard lock(mutex);
 	std::lock_guard lock(mutex);
-	if (!done) {
+	if (!std::exchange(done, true)) {
 		OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, nullptr);
 		OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, nullptr);
 		OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, nullptr);
 		OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, nullptr);
-		done = true;
 	}
 	}
 }
 }