From 47bfe39ecfe45b2f94c616ace97949003d9e87b4 Mon Sep 17 00:00:00 2001 From: Philipp Hancke Date: Tue, 7 May 2024 06:44:49 -0700 Subject: [PATCH] Split digest methods from ssl target into digest target in an attempt to break up the monolithic ssl target. BUG=None Change-Id: I38f5b3e2828742d5d918460db1af0a5797d6a5c2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349764 Reviewed-by: Harald Alvestrand Reviewed-by: Mirko Bonadei Commit-Queue: Philipp Hancke Cr-Commit-Position: refs/heads/main@{#42249} --- api/transport/BUILD.gn | 1 + media/BUILD.gn | 2 +- modules/audio_coding/BUILD.gn | 6 ++--- p2p/BUILD.gn | 2 ++ pc/BUILD.gn | 1 + rtc_base/BUILD.gn | 42 ++++++++++++++++++++++++++++++----- test/fuzzers/BUILD.gn | 1 + 7 files changed, 46 insertions(+), 9 deletions(-) diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn index 9f89df5d80..5b4ab3b121 100644 --- a/api/transport/BUILD.gn +++ b/api/transport/BUILD.gn @@ -110,6 +110,7 @@ rtc_source_set("stun_types") { "../../rtc_base:byte_order", "../../rtc_base:checks", "../../rtc_base:crc32", + "../../rtc_base:digest", "../../rtc_base:ip_address", "../../rtc_base:logging", "../../rtc_base:socket_address", diff --git a/media/BUILD.gn b/media/BUILD.gn index 5a0a5ef245..f7c52ece8f 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -399,7 +399,7 @@ rtc_library("rtp_utils") { "../rtc_base:async_packet_socket", "../rtc_base:byte_order", "../rtc_base:checks", - "../rtc_base:ssl", + "../rtc_base:digest", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index 8b23955d5b..d0a1b6947b 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -837,7 +837,7 @@ rtc_library("neteq_test_tools") { "../../common_audio", "../../rtc_base:buffer", "../../rtc_base:checks", - "../../rtc_base:ssl", + "../../rtc_base:digest", "../../rtc_base:stringutils", "../../rtc_base/system:arch", "../../test:rtp_test_utils", @@ -954,7 +954,7 @@ rtc_library("audio_coding_modules_tests_shared") { "../../api/audio_codecs:builtin_audio_encoder_factory", "../../api/neteq:neteq_api", "../../rtc_base:checks", - "../../rtc_base:ssl", + "../../rtc_base:digest", "../../rtc_base:stringutils", "../../system_wrappers", "../../test:fileutils", @@ -1713,6 +1713,7 @@ if (rtc_include_tests) { "../../logging:rtc_event_audio", "../../modules/rtp_rtcp:rtp_rtcp_format", "../../rtc_base:checks", + "../../rtc_base:digest", "../../rtc_base:macromagic", "../../rtc_base:platform_thread", "../../rtc_base:refcount", @@ -1720,7 +1721,6 @@ if (rtc_include_tests) { "../../rtc_base:rtc_event", "../../rtc_base:safe_conversions", "../../rtc_base:sanitizer", - "../../rtc_base:ssl", "../../rtc_base:stringutils", "../../rtc_base:timeutils", "../../rtc_base/synchronization:mutex", diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index 8a3c8eb14d..b548f4b815 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn @@ -1181,6 +1181,7 @@ if (rtc_include_tests) { "../rtc_base:byte_buffer", "../rtc_base:checks", "../rtc_base:copy_on_write_buffer", + "../rtc_base:digest", "../rtc_base:dscp", "../rtc_base:gunit_helpers", "../rtc_base:ip_address", @@ -1242,6 +1243,7 @@ rtc_library("p2p_server_utils") { "../rtc_base:async_udp_socket", "../rtc_base:byte_buffer", "../rtc_base:checks", + "../rtc_base:digest", "../rtc_base:logging", "../rtc_base:rtc_base_tests_utils", "../rtc_base:socket_adapters", diff --git a/pc/BUILD.gn b/pc/BUILD.gn index 9c629154a3..97f541d1c3 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -2424,6 +2424,7 @@ if (rtc_include_tests && !build_with_chromium) { "../rtc_base:byte_buffer", "../rtc_base:checks", "../rtc_base:copy_on_write_buffer", + "../rtc_base:digest", "../rtc_base:event_tracer", "../rtc_base:gunit_helpers", "../rtc_base:ip_address", diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index b6e1697682..2bdf923136 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -1487,18 +1487,45 @@ rtc_library("rtc_certificate_generator") { ] } +rtc_source_set("ssl_header") { + sources = [ "openssl.h" ] + deps = [] + if (is_win) { + deps += [ ":win32" ] + } +} + +rtc_library("digest") { + visibility = [ "*" ] + sources = [ + "message_digest.cc", + "message_digest.h", + "openssl_digest.cc", + "openssl_digest.h", + ] + deps = [ + ":checks", + ":ssl_header", + ":stringutils", + ] + + # If we are building the SSL library ourselves, we know it's BoringSSL. + if (rtc_build_ssl) { + deps += [ "//third_party/boringssl" ] + } else { + configs += [ ":external_ssl_library" ] + } + + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] +} + rtc_library("ssl") { visibility = [ "*" ] sources = [ "helpers.cc", "helpers.h", - "message_digest.cc", - "message_digest.h", - "openssl.h", "openssl_adapter.cc", "openssl_adapter.h", - "openssl_digest.cc", - "openssl_digest.h", "openssl_key_pair.cc", "openssl_key_pair.h", "openssl_session_cache.cc", @@ -1526,11 +1553,13 @@ rtc_library("ssl") { ":buffer", ":checks", ":copy_on_write_buffer", + ":digest", ":logging", ":macromagic", ":safe_conversions", ":socket", ":socket_address", + ":ssl_header", ":stream", ":stringutils", ":threading", @@ -1689,6 +1718,7 @@ rtc_library("rtc_base_tests_utils") { ":buffer", ":byte_buffer", ":checks", + ":digest", ":ip_address", ":logging", ":macromagic", @@ -2071,6 +2101,7 @@ if (rtc_include_tests) { ":checks", ":crc32", ":data_rate_limiter", + ":digest", ":gunit_helpers", ":ifaddrs_converter", ":ip_address", @@ -2093,6 +2124,7 @@ if (rtc_include_tests) { ":socket_factory", ":socket_server", ":ssl", + ":ssl_header", ":stream", ":stringutils", ":testclient", diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index d857d9cd21..8fe6459133 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -689,6 +689,7 @@ webrtc_fuzzer_test("ssl_certificate_fuzzer") { sources = [ "ssl_certificate_fuzzer.cc" ] deps = [ "../:rtp_test_utils", + "../../rtc_base:digest", "../../rtc_base:ssl", "../../rtc_base:stringutils", ]