Fix the OSS QUICHE build While I was at it, I also bumped the versions of abseil-cpp and googletest in MODULE.bazel. PiperOrigin-RevId: 845271697
diff --git a/MODULE.bazel b/MODULE.bazel index 395eb7e..45db83d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -10,8 +10,8 @@ # Last updated 2025-09-09 bazel_dep(name = "rules_cc", version = "0.2.4") -# Last updated 2025-09-09 -bazel_dep(name = "abseil-cpp", version = "20250814.0", repo_name = "com_google_absl") +# Last updated 2025-12-15 +bazel_dep(name = "abseil-cpp", version = "20250814.1", repo_name = "com_google_absl") # Last updated 2025-05-29 bazel_dep(name = "protobuf", version = "31.1", repo_name = "com_google_protobuf") @@ -19,8 +19,8 @@ # Last updated 2025-05-01 bazel_dep(name = "boringssl", version = "0.20250415.0") -# Last updated 2025-02-25 -bazel_dep(name = "googletest", version = "1.16.0", repo_name = "com_google_googletest") +# Last updated 2025-12-15 +bazel_dep(name = "googletest", version = "1.17.0", repo_name = "com_google_googletest") # Last updated 2025-02-25 bazel_dep(name = "re2", version = "2024-07-02.bcr.1") @@ -31,10 +31,6 @@ # Last updated 2025-09-09 bazel_dep(name = "fuzztest", version = "20250805.0") -# Prevent fuzztest from pulling in a version of riegeli with compilation errors -# (riegeli version "0.0.0-20240606-973b6f0"). -bazel_dep(name = "riegeli", version = "0.0.0-20241218-3385e3c") - http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive(
diff --git a/build/source_list.bzl b/build/source_list.bzl index 3018570..42b7ad0 100644 --- a/build/source_list.bzl +++ b/build/source_list.bzl
@@ -778,6 +778,7 @@ "quic/tools/web_transport_only_backend.cc", ] quiche_test_support_hdrs = [ + "balsa/balsa_fuzz_util.h", "common/platform/api/quiche_expect_bug.h", "common/platform/api/quiche_fuzztest.h", "common/platform/api/quiche_test.h", @@ -890,6 +891,7 @@ "web_transport/test_tools/mock_web_transport.h", ] quiche_test_support_srcs = [ + "balsa/balsa_fuzz_util.cc", "common/platform/api/quiche_test_loopback.cc", "common/test_tools/quiche_test_utils.cc", "http2/adapter/recording_http2_visitor.cc", @@ -985,7 +987,6 @@ balsa_hdrs = [ "balsa/balsa_enums.h", "balsa/balsa_frame.h", - "balsa/balsa_fuzz_util.h", "balsa/balsa_headers.h", "balsa/balsa_headers_sequence.h", "balsa/balsa_visitor_interface.h", @@ -1000,7 +1001,6 @@ balsa_srcs = [ "balsa/balsa_enums.cc", "balsa/balsa_frame.cc", - "balsa/balsa_fuzz_util.cc", "balsa/balsa_headers.cc", "balsa/balsa_headers_sequence.cc", "balsa/header_properties.cc",
diff --git a/build/source_list.gni b/build/source_list.gni index 4fdaa89..57130b5 100644 --- a/build/source_list.gni +++ b/build/source_list.gni
@@ -778,6 +778,7 @@ "src/quiche/quic/tools/web_transport_only_backend.cc", ] quiche_test_support_hdrs = [ + "src/quiche/balsa/balsa_fuzz_util.h", "src/quiche/common/platform/api/quiche_expect_bug.h", "src/quiche/common/platform/api/quiche_fuzztest.h", "src/quiche/common/platform/api/quiche_test.h", @@ -890,6 +891,7 @@ "src/quiche/web_transport/test_tools/mock_web_transport.h", ] quiche_test_support_srcs = [ + "src/quiche/balsa/balsa_fuzz_util.cc", "src/quiche/common/platform/api/quiche_test_loopback.cc", "src/quiche/common/test_tools/quiche_test_utils.cc", "src/quiche/http2/adapter/recording_http2_visitor.cc", @@ -985,7 +987,6 @@ balsa_hdrs = [ "src/quiche/balsa/balsa_enums.h", "src/quiche/balsa/balsa_frame.h", - "src/quiche/balsa/balsa_fuzz_util.h", "src/quiche/balsa/balsa_headers.h", "src/quiche/balsa/balsa_headers_sequence.h", "src/quiche/balsa/balsa_visitor_interface.h", @@ -1000,7 +1001,6 @@ balsa_srcs = [ "src/quiche/balsa/balsa_enums.cc", "src/quiche/balsa/balsa_frame.cc", - "src/quiche/balsa/balsa_fuzz_util.cc", "src/quiche/balsa/balsa_headers.cc", "src/quiche/balsa/balsa_headers_sequence.cc", "src/quiche/balsa/header_properties.cc",
diff --git a/build/source_list.json b/build/source_list.json index f752910..66de0ba 100644 --- a/build/source_list.json +++ b/build/source_list.json
@@ -777,6 +777,7 @@ "quiche/quic/tools/web_transport_only_backend.cc" ], "quiche_test_support_hdrs": [ + "quiche/balsa/balsa_fuzz_util.h", "quiche/common/platform/api/quiche_expect_bug.h", "quiche/common/platform/api/quiche_fuzztest.h", "quiche/common/platform/api/quiche_test.h", @@ -889,6 +890,7 @@ "quiche/web_transport/test_tools/mock_web_transport.h" ], "quiche_test_support_srcs": [ + "quiche/balsa/balsa_fuzz_util.cc", "quiche/common/platform/api/quiche_test_loopback.cc", "quiche/common/test_tools/quiche_test_utils.cc", "quiche/http2/adapter/recording_http2_visitor.cc", @@ -984,7 +986,6 @@ "balsa_hdrs": [ "quiche/balsa/balsa_enums.h", "quiche/balsa/balsa_frame.h", - "quiche/balsa/balsa_fuzz_util.h", "quiche/balsa/balsa_headers.h", "quiche/balsa/balsa_headers_sequence.h", "quiche/balsa/balsa_visitor_interface.h", @@ -999,7 +1000,6 @@ "balsa_srcs": [ "quiche/balsa/balsa_enums.cc", "quiche/balsa/balsa_frame.cc", - "quiche/balsa/balsa_fuzz_util.cc", "quiche/balsa/balsa_headers.cc", "quiche/balsa/balsa_headers_sequence.cc", "quiche/balsa/header_properties.cc",
diff --git a/quiche/BUILD.bazel b/quiche/BUILD.bazel index 4efd313..5e88098 100644 --- a/quiche/BUILD.bazel +++ b/quiche/BUILD.bazel
@@ -80,6 +80,7 @@ ":quiche_core", "@boringssl//:crypto", "@com_google_absl//absl/base:core_headers", + "@com_google_absl//absl/base:nullability", "@com_google_absl//absl/container:btree", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", @@ -154,6 +155,7 @@ "@com_google_absl//absl/status", "@com_google_absl//absl/status:statusor", "@com_google_absl//absl/strings", + "@com_google_absl//absl/strings:cord", "@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/synchronization", "@com_google_absl//absl/time", @@ -218,6 +220,7 @@ hdrs = quiche_test_support_hdrs + default_platform_impl_test_support_hdrs, includes = ["common/platform/default"], deps = [ + ":balsa", ":binary_http", ":quiche_core", ":quiche_protobufs_testonly_cc_proto", @@ -233,6 +236,7 @@ "@com_google_absl//absl/flags:usage", "@com_google_absl//absl/memory", "@com_google_absl//absl/status", + "@com_google_absl//absl/status:status_matchers", "@com_google_absl//absl/status:statusor", "@com_google_absl//absl/strings", "@com_google_absl//absl/strings:cord", @@ -313,6 +317,7 @@ "@com_google_absl//absl/algorithm:container", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/base:log_severity", + "@com_google_absl//absl/base:nullability", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/container:node_hash_map", @@ -323,6 +328,7 @@ "@com_google_absl//absl/memory", "@com_google_absl//absl/numeric:int128", "@com_google_absl//absl/status", + "@com_google_absl//absl/status:status_matchers", "@com_google_absl//absl/status:statusor", "@com_google_absl//absl/strings", "@com_google_absl//absl/strings:str_format",
diff --git a/quiche/balsa/balsa_fuzz_util.cc b/quiche/balsa/balsa_fuzz_util.cc index fc4ed71..790439b 100644 --- a/quiche/balsa/balsa_fuzz_util.cc +++ b/quiche/balsa/balsa_fuzz_util.cc
@@ -22,7 +22,7 @@ fuzztest::Arbitrary<bool>(), ArbitraryFirstLineValidationOption(), fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(), ArbitraryFirstLineValidationOption(), - fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(), + fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>()); }
diff --git a/quiche/balsa/http_validation_policy.h b/quiche/balsa/http_validation_policy.h index cb3c39f..d5c07da 100644 --- a/quiche/balsa/http_validation_policy.h +++ b/quiche/balsa/http_validation_policy.h
@@ -148,7 +148,6 @@ "require_chunked_body_end_with_crlf_crlf=%v, " "sanitize_firstline_spaces=%v, " "sanitize_obs_fold_in_header_values=%v, " - "disallow_stray_data_after_chunk=%v, " "disallow_invalid_request_methods=%v}", policy.disallow_header_continuation_lines, policy.require_header_colon, @@ -167,7 +166,6 @@ policy.require_chunked_body_end_with_crlf_crlf, policy.sanitize_firstline_spaces, policy.sanitize_obs_fold_in_header_values, - policy.disallow_stray_data_after_chunk, policy.disallow_invalid_request_methods); } };
diff --git a/quiche/common/platform/api/quiche_iovec.h b/quiche/common/platform/api/quiche_iovec.h index 351e627..950f7ed 100644 --- a/quiche/common/platform/api/quiche_iovec.h +++ b/quiche/common/platform/api/quiche_iovec.h
@@ -8,7 +8,7 @@ #include <cstddef> #include <type_traits> -#include "quiche_platform_impl/quiche_iovec_impl.h" +#include "quiche_platform_impl/quiche_iovec_impl.h" // IWYU pragma: export // The impl header has to export struct iovec, or a POSIX-compatible polyfill. // Below, we mostly assert that what we have is appropriate.
diff --git a/quiche/common/test_tools/quiche_test_utils.h b/quiche/common/test_tools/quiche_test_utils.h index 2dd9e39..6777171 100644 --- a/quiche/common/test_tools/quiche_test_utils.h +++ b/quiche/common/test_tools/quiche_test_utils.h
@@ -7,12 +7,18 @@ #include <string> -#include "absl/base/macros.h" +#include "absl/base/macros.h" // IWYU pragma: keep for ABSL_REFACTOR_INLINE #include "absl/status/status_matchers.h" #include "absl/strings/string_view.h" -#include "quiche/common/platform/api/quiche_iovec.h" +#include "quiche/common/platform/api/quiche_iovec.h" // IWYU pragma: keep for iovec #include "quiche/common/platform/api/quiche_test.h" +// This macro is newer than the Abseil release we use for open-source builds. +// https://github.com/abseil/abseil-cpp/blob/lts_2025_08_14/absl/base/macros.h +#ifndef ABSL_REFACTOR_INLINE +#define ABSL_REFACTOR_INLINE +#endif + namespace quiche { namespace test {
diff --git a/quiche/http2/hpack/http2_hpack_constants.h b/quiche/http2/hpack/http2_hpack_constants.h index 88feee8..7dcf272 100644 --- a/quiche/http2/hpack/http2_hpack_constants.h +++ b/quiche/http2/hpack/http2_hpack_constants.h
@@ -10,6 +10,8 @@ // See the spec for details: // https://http2.github.io/http2-spec/compression.html#rfc.section.6 +#include <cstddef> +#include <cstdint> #include <ostream> #include <string>
diff --git a/quiche/quic/moqt/moqt_session_test.cc b/quiche/quic/moqt/moqt_session_test.cc index 423bd58..0e6755c 100644 --- a/quiche/quic/moqt/moqt_session_test.cc +++ b/quiche/quic/moqt/moqt_session_test.cc
@@ -9,6 +9,7 @@ #include <cstring> #include <memory> #include <optional> +#include <queue> #include <string> #include <utility> #include <variant>