From 48df56e9ac503bea9efea269656932f2d00de7cd Mon Sep 17 00:00:00 2001 From: Tommi Date: Tue, 5 Sep 2023 13:16:47 +0200 Subject: [PATCH] Remove SignalSSLHandshakeError signal from SSLStreamAdapter. Also removing has_slots depdency from OpenSSLStreamAdapter and moving it to the OpenSSLStreamAdapter subclass where it's still needed. Bug: webrtc:11943 Change-Id: Ibcae5ea1efff146d78b32bb0eca63d7f44ed08c1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318885 Reviewed-by: Harald Alvestrand Commit-Queue: Tomas Gunnarsson Cr-Commit-Position: refs/heads/main@{#40702} --- rtc_base/openssl_stream_adapter.cc | 4 ---- rtc_base/openssl_stream_adapter.h | 4 +++- rtc_base/ssl_stream_adapter.h | 6 +----- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc index 5064f0dfd4..d462f77ce4 100644 --- a/rtc_base/openssl_stream_adapter.cc +++ b/rtc_base/openssl_stream_adapter.cc @@ -942,10 +942,6 @@ int OpenSSLStreamAdapter::ContinueSSL() { << ERR_GET_REASON(err_code); if (handshake_error_) { handshake_error_(ssl_handshake_err); - } else { - // TODO(bugs.webrtc.org/11943): SignalSSLHandshakeError usage has been - // deprecated. Remove once external usage has been cleaned up. - SignalSSLHandshakeError(ssl_handshake_err); } return (ssl_error != 0) ? ssl_error : -1; } diff --git a/rtc_base/openssl_stream_adapter.h b/rtc_base/openssl_stream_adapter.h index 779bc01516..579ca2a1f8 100644 --- a/rtc_base/openssl_stream_adapter.h +++ b/rtc_base/openssl_stream_adapter.h @@ -34,6 +34,7 @@ #include "rtc_base/stream.h" #include "rtc_base/system/rtc_export.h" #include "rtc_base/task_utils/repeating_task.h" +#include "rtc_base/third_party/sigslot/sigslot.h" namespace rtc { @@ -71,7 +72,8 @@ class SSLCertChain; // configuration is restored. RTC_EXPORT void SetAllowLegacyTLSProtocols(const absl::optional& allow); -class OpenSSLStreamAdapter final : public SSLStreamAdapter { +class OpenSSLStreamAdapter final : public SSLStreamAdapter, + public sigslot::has_slots<> { public: OpenSSLStreamAdapter( std::unique_ptr stream, diff --git a/rtc_base/ssl_stream_adapter.h b/rtc_base/ssl_stream_adapter.h index 6494bcfa14..d8b66f11e8 100644 --- a/rtc_base/ssl_stream_adapter.h +++ b/rtc_base/ssl_stream_adapter.h @@ -24,7 +24,6 @@ #include "rtc_base/ssl_certificate.h" #include "rtc_base/ssl_identity.h" #include "rtc_base/stream.h" -#include "rtc_base/third_party/sigslot/sigslot.h" namespace rtc { @@ -113,7 +112,7 @@ enum { SSE_MSG_TRUNC = 0xff0001 }; // Used to send back UMA histogram value. Logged when Dtls handshake fails. enum class SSLHandshakeError { UNKNOWN, INCOMPATIBLE_CIPHERSUITE, MAX_VALUE }; -class SSLStreamAdapter : public StreamInterface, public sigslot::has_slots<> { +class SSLStreamAdapter : public StreamInterface { public: // Instantiate an SSLStreamAdapter wrapping the given stream, // (using the selected implementation for the platform). @@ -263,9 +262,6 @@ class SSLStreamAdapter : public StreamInterface, public sigslot::has_slots<> { // authentication. bool GetClientAuthEnabled() const { return client_auth_enabled_; } - // TODO(bugs.webrtc.org/11943): Remove after updating downstream code. - sigslot::signal1 SignalSSLHandshakeError; - private: // If true (default), the client is required to provide a certificate during // handshake. If no certificate is given, handshake fails. This applies to