diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-05-17 17:24:03 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-06-22 07:51:41 +0000 |
commit | 774f54339e5db91f785733232d3950366db65d07 (patch) | |
tree | 068e1b47bd1af94d77094ed12b604a6b83d9c22a /chromium/components/cast_channel | |
parent | f7eaed5286974984ba5f9e3189d8f49d03e99f81 (diff) | |
download | qtwebengine-chromium-774f54339e5db91f785733232d3950366db65d07.tar.gz |
BASELINE: Update Chromium to 102.0.5005.57
Change-Id: I885f714bb40ee724c28f94ca6bd8dbdb39915158
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/cast_channel')
11 files changed, 36 insertions, 9 deletions
diff --git a/chromium/components/cast_channel/BUILD.gn b/chromium/components/cast_channel/BUILD.gn index f792016abd6..640ad4f39d2 100644 --- a/chromium/components/cast_channel/BUILD.gn +++ b/chromium/components/cast_channel/BUILD.gn @@ -42,6 +42,7 @@ static_library("cast_channel") { "//base", "//build:chromeos_buildflags", "//components/cast_certificate", + "//components/cast_certificate:openscreen_certificate_verifier", "//components/keyed_service/content", "//components/keyed_service/core", "//components/openscreen_platform:openscreen_platform_network_service", @@ -243,6 +244,7 @@ fuzzer_test("openscreen_cast_auth_util_fuzzer") { "//net/data/ssl/certificates:generate_fuzzer_cert_includes", "//third_party/boringssl", "//third_party/libprotobuf-mutator", + "//third_party/openscreen/src/cast/common:certificate_boringssl", "//third_party/openscreen/src/cast/common/certificate/proto:certificate_proto", "//third_party/openscreen/src/cast/sender:channel", ] diff --git a/chromium/components/cast_channel/cast_message_handler.cc b/chromium/components/cast_channel/cast_message_handler.cc index c3366fdecc9..32515fcdac4 100644 --- a/chromium/components/cast_channel/cast_message_handler.cc +++ b/chromium/components/cast_channel/cast_message_handler.cc @@ -10,6 +10,7 @@ #include "base/bind.h" #include "base/containers/cxx20_erase.h" +#include "base/observer_list.h" #include "base/rand_util.h" #include "base/strings/stringprintf.h" #include "base/time/default_tick_clock.h" diff --git a/chromium/components/cast_channel/cast_message_handler.h b/chromium/components/cast_channel/cast_message_handler.h index 435f61db8f8..f190c448ee7 100644 --- a/chromium/components/cast_channel/cast_message_handler.h +++ b/chromium/components/cast_channel/cast_message_handler.h @@ -11,6 +11,7 @@ #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" +#include "base/observer_list.h" #include "base/sequence_checker.h" #include "base/time/tick_clock.h" #include "base/timer/timer.h" diff --git a/chromium/components/cast_channel/cast_socket.cc b/chromium/components/cast_channel/cast_socket.cc index c4a477e3ad3..d4c5191aa05 100644 --- a/chromium/components/cast_channel/cast_socket.cc +++ b/chromium/components/cast_channel/cast_socket.cc @@ -17,6 +17,7 @@ #include "base/location.h" #include "base/memory/ptr_util.h" #include "base/numerics/safe_conversions.h" +#include "base/observer_list.h" #include "base/strings/string_number_conversions.h" #include "base/sys_byteorder.h" #include "base/task/single_thread_task_runner.h" diff --git a/chromium/components/cast_channel/cast_socket.h b/chromium/components/cast_channel/cast_socket.h index 49d5615aae6..f3d0c88a069 100644 --- a/chromium/components/cast_channel/cast_socket.h +++ b/chromium/components/cast_channel/cast_socket.h @@ -16,6 +16,7 @@ #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/threading/thread_checker.h" +#include "base/time/time.h" #include "base/timer/timer.h" #include "components/cast_channel/cast_auth_util.h" #include "components/cast_channel/cast_channel_enum.h" diff --git a/chromium/components/cast_channel/cast_socket_service.cc b/chromium/components/cast_channel/cast_socket_service.cc index 0ac8f4f9073..4a319b02191 100644 --- a/chromium/components/cast_channel/cast_socket_service.cc +++ b/chromium/components/cast_channel/cast_socket_service.cc @@ -6,6 +6,7 @@ #include "base/feature_list.h" #include "base/memory/ptr_util.h" +#include "base/observer_list.h" #include "components/cast_channel/cast_socket.h" #include "components/cast_channel/libcast_socket_service.h" #include "components/cast_channel/logger.h" diff --git a/chromium/components/cast_channel/cast_socket_unittest.cc b/chromium/components/cast_channel/cast_socket_unittest.cc index 05068a8e8d2..6d322f64327 100644 --- a/chromium/components/cast_channel/cast_socket_unittest.cc +++ b/chromium/components/cast_channel/cast_socket_unittest.cc @@ -1055,7 +1055,7 @@ TEST_F(MockCastSocketTest, TestOpenChannelClosedSocket) { } // https://crbug.com/874491, flaky on Win and Mac -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) #define MAYBE_TestConnectEndToEndWithRealSSL \ DISABLED_TestConnectEndToEndWithRealSSL #else diff --git a/chromium/components/cast_channel/keep_alive_handler.h b/chromium/components/cast_channel/keep_alive_handler.h index d0451e1e6f3..37a5cea5227 100644 --- a/chromium/components/cast_channel/keep_alive_handler.h +++ b/chromium/components/cast_channel/keep_alive_handler.h @@ -8,6 +8,7 @@ #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/threading/thread_checker.h" +#include "base/time/time.h" #include "base/timer/timer.h" #include "components/cast_channel/cast_channel_enum.h" #include "components/cast_channel/cast_message_util.h" diff --git a/chromium/components/cast_channel/libcast_socket_service.cc b/chromium/components/cast_channel/libcast_socket_service.cc index 8e53fbd71dd..e3f0329aa4b 100644 --- a/chromium/components/cast_channel/libcast_socket_service.cc +++ b/chromium/components/cast_channel/libcast_socket_service.cc @@ -7,6 +7,7 @@ #include "base/callback_helpers.h" #include "base/memory/ptr_util.h" #include "base/memory/raw_ptr.h" +#include "base/observer_list.h" #include "components/cast_channel/cast_message_util.h" #include "components/cast_channel/cast_socket.h" #include "components/cast_channel/cast_transport.h" diff --git a/chromium/components/cast_channel/libcast_socket_service.h b/chromium/components/cast_channel/libcast_socket_service.h index c41bcf17647..7637723a719 100644 --- a/chromium/components/cast_channel/libcast_socket_service.h +++ b/chromium/components/cast_channel/libcast_socket_service.h @@ -11,6 +11,7 @@ #include "base/observer_list.h" #include "base/sequence_checker.h" #include "base/task/single_thread_task_runner.h" +#include "base/time/time.h" #include "components/cast_channel/cast_socket.h" #include "components/cast_channel/cast_socket_service.h" #include "components/openscreen_platform/task_runner.h" diff --git a/chromium/components/cast_channel/openscreen_cast_auth_util_fuzzer.cc b/chromium/components/cast_channel/openscreen_cast_auth_util_fuzzer.cc index b874487c764..07094e28f97 100644 --- a/chromium/components/cast_channel/openscreen_cast_auth_util_fuzzer.cc +++ b/chromium/components/cast_channel/openscreen_cast_auth_util_fuzzer.cc @@ -18,6 +18,8 @@ // Generated by the "cast_auth_util_fuzzer_certs" data_headers target. #include "components/test/data/cast_certificate/certificates/chromecast_gen1_data.h" #include "testing/libfuzzer/proto/lpm_interface.h" +#include "third_party/openscreen/src/cast/common/public/parsed_certificate.h" +#include "third_party/openscreen/src/cast/common/public/trust_store.h" #include "third_party/openscreen/src/cast/sender/channel/cast_auth_util.h" namespace cast_channel { @@ -25,6 +27,7 @@ namespace fuzz { namespace { using ::cast::channel::CastMessage; +using ::openscreen::cast::TrustStore; const uint8_t kCertData[] = { // Generated by //net/data/ssl/certificates:generate_fuzzer_cert_includes @@ -39,6 +42,18 @@ static std::vector<std::string>* InitializeCertsOnce() { return &certs; } +static TrustStore* InitializeCastTrustStoreOnce() { + static TrustStore* cast_trust_store = + openscreen::cast::CastTrustStore::Create().release(); + return cast_trust_store; +} + +static TrustStore* InitializeCastCRLTrustStoreOnce() { + static TrustStore* crl_trust_store = + openscreen::cast::CastCRLTrustStore::Create().release(); + return crl_trust_store; +} + time_t GenerateCertTime(TimeBoundCase c, int direction) { base::Time t; switch (c) { @@ -66,6 +81,8 @@ time_t GenerateCertTime(TimeBoundCase c, int direction) { DEFINE_PROTO_FUZZER(CastAuthUtilInputs& input_union) { std::vector<std::string>* certs = InitializeCertsOnce(); + TrustStore* cast_trust_store = InitializeCastTrustStoreOnce(); + TrustStore* crl_trust_store = InitializeCastCRLTrustStoreOnce(); if (input_union.input_case() != CastAuthUtilInputs::kAuthenticateChallengeReplyInput) { @@ -80,19 +97,19 @@ DEFINE_PROTO_FUZZER(CastAuthUtilInputs& input_union) { // Build a well-formed cert with start and expiry times relative to the // current time. The actual cert doesn't matter for testing purposes // because validation failures are ignored. - const uint8_t* in = kCertData; - bssl::UniquePtr<X509> peer_cert{d2i_X509(nullptr, &in, sizeof(kCertData))}; + std::vector<uint8_t> cert_data{std::begin(kCertData), std::end(kCertData)}; + std::unique_ptr<openscreen::cast::ParsedCertificate> peer_cert = std::move( + openscreen::cast::ParsedCertificate::ParseFromDER(cert_data).value()); time_t not_before_time = GenerateCertTime(input.start_case(), -1); time_t not_after_time = GenerateCertTime(input.expiry_case(), 1); - ASN1_TIME_set(const_cast<ASN1_TIME*>(X509_get0_notBefore(peer_cert.get())), - not_before_time); - ASN1_TIME_set(const_cast<ASN1_TIME*>(X509_get0_notAfter(peer_cert.get())), - not_after_time); + peer_cert->SetNotBeforeTimeForTesting(not_before_time); + peer_cert->SetNotAfterTimeForTesting(not_after_time); auto context = openscreen::cast::AuthContext::CreateForTest(input.nonce()); - openscreen::cast::AuthenticateChallengeReply(input.cast_message(), - peer_cert.get(), context); + openscreen::cast::AuthenticateChallengeReply(input.cast_message(), *peer_cert, + context, cast_trust_store, + crl_trust_store); } } // namespace |