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>