From 99543ae75f0c6bf87cf38a0affa6c08180153a8f Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Wed, 16 Nov 2022 14:22:49 +0000 Subject: [PATCH] Revert "Remove backwards compatibility functions in openssl" This reverts commit 4db5b979b749ce1141d1406391499715e697f34d. Reason for revert: Breaks downstream project Original change's description: > Remove backwards compatibility functions in openssl > > After changing base functions to a CHECK instead of an =0, these > are no longer needed. > > Bug: webrtc:14632 > Change-Id: If3f1a62905cf433486f4974b2153c9210d1e045b > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283542 > Reviewed-by: Tomas Gunnarsson > Commit-Queue: Harald Alvestrand > Cr-Commit-Position: refs/heads/main@{#38643} Bug: webrtc:14632 Change-Id: I4c0ec753285fab882f60b059b3d34f772bf5f7e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283721 Reviewed-by: Harald Alvestrand Commit-Queue: Harald Alvestrand Auto-Submit: Mirko Bonadei Bot-Commit: rubber-stamper@appspot.gserviceaccount.com Commit-Queue: Mirko Bonadei Owners-Override: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#38649} --- rtc_base/openssl_stream_adapter.cc | 28 ++++++++++++++++++++++++++++ rtc_base/openssl_stream_adapter.h | 7 +++++++ 2 files changed, 35 insertions(+) diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc index 9fd8c8f395..5fa1a3c502 100644 --- a/rtc_base/openssl_stream_adapter.cc +++ b/rtc_base/openssl_stream_adapter.cc @@ -561,6 +561,21 @@ void OpenSSLStreamAdapter::SetInitialRetransmissionTimeout(int timeout_ms) { // // StreamInterface Implementation // +// Backwards compatible Write() method using deprecated API. +// Needed because deprecated API is still =0 in API definition. +StreamResult OpenSSLStreamAdapter::Write(const void* data, + size_t data_len, + size_t* written, + int* error) { + // TODO(bugs.webrtc.org/14632): Consider doing + // RTC_CHECK_NOTREACHED(); when downstream usage is eliminated. + size_t dummy_written; + int dummy_error; + return Write( + rtc::MakeArrayView(reinterpret_cast(data), data_len), + written ? *written : dummy_written, error ? *error : dummy_error); +} + StreamResult OpenSSLStreamAdapter::Write(rtc::ArrayView data, size_t& written, int& error) { @@ -622,6 +637,19 @@ StreamResult OpenSSLStreamAdapter::Write(rtc::ArrayView data, // not reached } +// Backwards compatible Read() method using deprecated API. +StreamResult OpenSSLStreamAdapter::Read(void* data, + size_t data_len, + size_t* read, + int* error) { + // TODO(bugs.webrtc.org/14632): Consider doing + // RTC_CHECK_NOTREACHED() when downstream usage is thought to be eliminated. + size_t dummy_read; + int dummy_error; + return Read(rtc::MakeArrayView(reinterpret_cast(data), data_len), + read ? *read : dummy_read, error ? *error : dummy_error); +} + StreamResult OpenSSLStreamAdapter::Read(rtc::ArrayView data, size_t& read, int& error) { diff --git a/rtc_base/openssl_stream_adapter.h b/rtc_base/openssl_stream_adapter.h index aee8d36aad..3c94ecd2ce 100644 --- a/rtc_base/openssl_stream_adapter.h +++ b/rtc_base/openssl_stream_adapter.h @@ -95,9 +95,16 @@ class OpenSSLStreamAdapter final : public SSLStreamAdapter { void SetMaxProtocolVersion(SSLProtocolVersion version) override; void SetInitialRetransmissionTimeout(int timeout_ms) override; + [[deprecated("bugs.webrtc.org/14632")]] StreamResult + Read(void* data, size_t data_len, size_t* read, int* error) override; StreamResult Read(rtc::ArrayView data, size_t& read, int& error) override; + [[deprecated("bugs.webrtc.org/14632")]] StreamResult Write( + const void* data, + size_t data_len, + size_t* written, + int* error) override; StreamResult Write(rtc::ArrayView data, size_t& written, int& error) override;