Add QUIC_BUG_IF to QuicUtils::GetCryptoStreamId
In QUIC versions that use CRYPTO frames (instead of stream 1 frames) for
the crypto handshake, the concept of a "crypto stream ID" makes no
sense, so QuicUtils::GetCryptoStreamId should hit a QUIC_BUG_IF to
prevent its misuse.
gfe-relnote: Add QUIC_BUG_IF protected behind QuicVersionUsesCryptoFrames
PiperOrigin-RevId: 248463613
Change-Id: If6768658e9ffc058778b53a91f95839826602fbf
diff --git a/quic/core/chlo_extractor_test.cc b/quic/core/chlo_extractor_test.cc
index e5e084c..258e141 100644
--- a/quic/core/chlo_extractor_test.cc
+++ b/quic/core/chlo_extractor_test.cc
@@ -141,11 +141,15 @@
}
TEST_F(ChloExtractorTest, DoesNotFindValidChloOnWrongStream) {
+ ParsedQuicVersion version = AllSupportedVersions()[0];
+ if (QuicVersionUsesCryptoFrames(version.transport_version)) {
+ return;
+ }
CryptoHandshakeMessage client_hello;
client_hello.set_tag(kCHLO);
std::string client_hello_str(client_hello.GetSerialized().AsStringPiece());
- MakePacket(AllSupportedVersions()[0], client_hello_str,
+ MakePacket(version, client_hello_str,
/*munge_offset*/ false, /*munge_stream_id*/ true);
EXPECT_FALSE(ChloExtractor::Extract(*packet_, AllSupportedVersions(), {},
&delegate_,
@@ -165,7 +169,11 @@
}
TEST_F(ChloExtractorTest, DoesNotFindInvalidChlo) {
- MakePacket(AllSupportedVersions()[0], "foo", /*munge_offset*/ false,
+ ParsedQuicVersion version = AllSupportedVersions()[0];
+ if (QuicVersionUsesCryptoFrames(version.transport_version)) {
+ return;
+ }
+ MakePacket(version, "foo", /*munge_offset*/ false,
/*munge_stream_id*/ true);
EXPECT_FALSE(ChloExtractor::Extract(*packet_, AllSupportedVersions(), {},
&delegate_,