From ccec7e2042cdc6fe8a87a6b4ec10f40a6738f837 Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Fri, 9 Aug 2024 13:38:33 +0000 Subject: [PATCH] Fix OpenSSL builds BoringSSL includes cannot be included in an OpenSSL build. Links the SSL related target against the crypto and ssl libs the proper way. Bug: None Change-Id: I4252e6207815d7d7e35bb8d4d966e3d1b83e659d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358941 Reviewed-by: Mirko Bonadei Commit-Queue: Florent Castelli Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#42754} --- BUILD.gn | 6 ------ rtc_base/BUILD.gn | 6 ++++-- rtc_base/boringssl_certificate.h | 1 + rtc_base/openssl_adapter.cc | 7 ++++--- rtc_base/openssl_stream_adapter.cc | 11 ++++++----- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 6f1844d661..7c8a0fcb1e 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -691,12 +691,6 @@ if (rtc_include_tests && !build_with_chromium) { ] shard_timeout = 900 } - - # Link unit tests against OpenSSL when not building with BoringSSL. - ldflags = [] - if (!rtc_build_ssl) { - ldflags += [ "-lssl" ] - } } if (rtc_enable_google_benchmarks) { diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 70a1adf7dd..38805f7bce 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -18,8 +18,10 @@ if (!rtc_build_ssl) { assert(rtc_ssl_root != "", "You must specify rtc_ssl_root when rtc_build_ssl==0.") include_dirs = [ rtc_ssl_root ] - - # Note: do not link against OpenSSL here. + libs = [ + "crypto", + "ssl", + ] } } diff --git a/rtc_base/boringssl_certificate.h b/rtc_base/boringssl_certificate.h index bd331686b7..849f87e37e 100644 --- a/rtc_base/boringssl_certificate.h +++ b/rtc_base/boringssl_certificate.h @@ -11,6 +11,7 @@ #ifndef RTC_BASE_BORINGSSL_CERTIFICATE_H_ #define RTC_BASE_BORINGSSL_CERTIFICATE_H_ +#include #include #include #include diff --git a/rtc_base/openssl_adapter.cc b/rtc_base/openssl_adapter.cc index 03b954949a..f30e95f92d 100644 --- a/rtc_base/openssl_adapter.cc +++ b/rtc_base/openssl_adapter.cc @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -21,10 +22,7 @@ #include "absl/strings/string_view.h" #include "api/task_queue/pending_task_safety_flag.h" -#include "openssl/base.h" -#include "openssl/ssl.h" #include "rtc_base/async_socket.h" -#include "rtc_base/boringssl_certificate.h" #include "rtc_base/openssl_session_cache.h" #include "rtc_base/socket.h" #include "rtc_base/socket_address.h" @@ -33,7 +31,10 @@ #include "rtc_base/ssl_identity.h" #include "rtc_base/ssl_stream_adapter.h" #ifdef OPENSSL_IS_BORINGSSL +#include #include + +#include "rtc_base/boringssl_certificate.h" #endif #include #include diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc index 23f8de8a90..575d04f489 100644 --- a/rtc_base/openssl_stream_adapter.cc +++ b/rtc_base/openssl_stream_adapter.cc @@ -12,6 +12,8 @@ #include #include +#include +#include #include #include @@ -28,11 +30,6 @@ #include "api/sequence_checker.h" #include "api/task_queue/pending_task_safety_flag.h" #include "api/units/time_delta.h" -#include "openssl/base.h" -#include "openssl/digest.h" -#include "openssl/pool.h" -#include "openssl/stack.h" -#include "rtc_base/boringssl_certificate.h" #include "rtc_base/buffer.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" @@ -43,9 +40,13 @@ #include "rtc_base/ssl_stream_adapter.h" #include "rtc_base/task_utils/repeating_task.h" #ifdef OPENSSL_IS_BORINGSSL +#include +#include #include +#include #include +#include "rtc_base/boringssl_certificate.h" #include "rtc_base/boringssl_identity.h" #else #include "rtc_base/openssl_identity.h"