Remove QUIC draft-28
This flag never got deployed, and we're getting rid of draft-28 in favor of draft-29, so we're deprecating it now.
Deprecate gfe2_reloadable_flag_quic_enable_version_draft_28
Startblock:
after 2020-06-23 in US/Pacific
PiperOrigin-RevId: 317813701
Change-Id: Id651cf7fc28fa7f5e830bb2d5c75dc2d4ef0ac88
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc
index 3cdfeae..3127ede 100644
--- a/quic/core/crypto/crypto_utils.cc
+++ b/quic/core/crypto/crypto_utils.cc
@@ -141,7 +141,7 @@
const uint8_t* InitialSaltForVersion(const ParsedQuicVersion& version,
size_t* out_len) {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync with initial encryption salts");
switch (version.handshake_protocol) {
case PROTOCOL_QUIC_CRYPTO:
@@ -172,10 +172,6 @@
// draft-27 uses the same salt as draft-25.
*out_len = QUICHE_ARRAYSIZE(kDraft25InitialSalt);
return kDraft25InitialSalt;
- case QUIC_VERSION_IETF_DRAFT_28:
- // draft-28 uses the same salt as draft-25.
- *out_len = QUICHE_ARRAYSIZE(kDraft25InitialSalt);
- return kDraft25InitialSalt;
case QUIC_VERSION_IETF_DRAFT_29:
*out_len = QUICHE_ARRAYSIZE(kDraft29InitialSalt);
return kDraft29InitialSalt;
@@ -240,9 +236,7 @@
if (version ==
ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_25) ||
version ==
- ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27) ||
- version ==
- ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_28)) {
+ ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27)) {
*key = quiche::QuicheStringPiece(
reinterpret_cast<const char*>(kDraft25RetryIntegrityKey),
QUICHE_ARRAYSIZE(kDraft25RetryIntegrityKey));
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index d0f38a5..f416ae6 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -10496,10 +10496,6 @@
0xff, 0xff, 0x00, 0x00, 0x1b, 0x00, 0x08, 0xf0, 0x67, 0xa5, 0x50, 0x2a,
0x42, 0x62, 0xb5, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xa5, 0x23, 0xcb, 0x5b,
0xa5, 0x24, 0x69, 0x5f, 0x65, 0x69, 0xf2, 0x93, 0xa1, 0x35, 0x9d, 0x8e};
- char retry_packet28[] = {
- 0xff, 0xff, 0x00, 0x00, 0x1c, 0x00, 0x08, 0xf0, 0x67, 0xa5, 0x50, 0x2a,
- 0x42, 0x62, 0xb5, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xf7, 0x1a, 0x5f, 0x12,
- 0xaf, 0xe3, 0xec, 0xf8, 0x00, 0x1a, 0x92, 0x0e, 0x6f, 0xdf, 0x1d, 0x63};
char retry_packet29[] = {
0xff, 0xff, 0x00, 0x00, 0x1d, 0x00, 0x08, 0xf0, 0x67, 0xa5, 0x50, 0x2a,
0x42, 0x62, 0xb5, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xd1, 0x69, 0x26, 0xd8,
@@ -10510,9 +10506,6 @@
if (version() == ParsedQuicVersion::Draft29()) {
retry_packet = retry_packet29;
retry_packet_length = QUICHE_ARRAYSIZE(retry_packet29);
- } else if (version() == ParsedQuicVersion::Draft28()) {
- retry_packet = retry_packet28;
- retry_packet_length = QUICHE_ARRAYSIZE(retry_packet28);
} else if (version() == ParsedQuicVersion::Draft27()) {
retry_packet = retry_packet27;
retry_packet_length = QUICHE_ARRAYSIZE(retry_packet27);
diff --git a/quic/core/quic_dispatcher_test.cc b/quic/core/quic_dispatcher_test.cc
index fc8fd4a..ae084ec 100644
--- a/quic/core/quic_dispatcher_test.cc
+++ b/quic/core/quic_dispatcher_test.cc
@@ -1023,7 +1023,7 @@
TEST_P(QuicDispatcherTestOneVersion,
RejectDeprecatedVersionsWithVersionNegotiation) {
- static_assert(quic::SupportedVersions().size() == 10u,
+ static_assert(quic::SupportedVersions().size() == 9u,
"Please add deprecated versions to this test");
QuicSocketAddress client_address(QuicIpAddress::Loopback4(), 1);
CreateTimeWaitListManager();
diff --git a/quic/core/quic_version_manager.cc b/quic/core/quic_version_manager.cc
index 951b7cb..90c4982 100644
--- a/quic/core/quic_version_manager.cc
+++ b/quic/core/quic_version_manager.cc
@@ -17,8 +17,6 @@
ParsedQuicVersionVector supported_versions)
: enable_version_draft_29_(
GetQuicReloadableFlag(quic_enable_version_draft_29)),
- enable_version_draft_28_(
- GetQuicReloadableFlag(quic_enable_version_draft_28)),
disable_version_draft_27_(
GetQuicReloadableFlag(quic_disable_version_draft_27)),
disable_version_draft_25_(
@@ -30,7 +28,7 @@
disable_version_q046_(GetQuicReloadableFlag(quic_disable_version_q046)),
disable_version_q043_(GetQuicReloadableFlag(quic_disable_version_q043)),
allowed_supported_versions_(std::move(supported_versions)) {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
RefilterSupportedVersions();
}
@@ -60,12 +58,10 @@
}
void QuicVersionManager::MaybeRefilterSupportedVersions() {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
if (enable_version_draft_29_ !=
GetQuicReloadableFlag(quic_enable_version_draft_29) ||
- enable_version_draft_28_ !=
- GetQuicReloadableFlag(quic_enable_version_draft_28) ||
disable_version_draft_27_ !=
GetQuicReloadableFlag(quic_disable_version_draft_27) ||
disable_version_draft_25_ !=
@@ -84,8 +80,6 @@
GetQuicReloadableFlag(quic_disable_version_q043)) {
enable_version_draft_29_ =
GetQuicReloadableFlag(quic_enable_version_draft_29);
- enable_version_draft_28_ =
- GetQuicReloadableFlag(quic_enable_version_draft_28);
disable_version_draft_27_ =
GetQuicReloadableFlag(quic_disable_version_draft_27);
disable_version_draft_25_ =
diff --git a/quic/core/quic_version_manager.h b/quic/core/quic_version_manager.h
index 6bdf2d3..e6bb8f6 100644
--- a/quic/core/quic_version_manager.h
+++ b/quic/core/quic_version_manager.h
@@ -54,8 +54,6 @@
// Cached value of reloadable flags.
// quic_enable_version_draft_29 flag
bool enable_version_draft_29_;
- // quic_enable_version_draft_28 flag
- bool enable_version_draft_28_;
// quic_disable_version_draft_27 flag
bool disable_version_draft_27_;
// quic_disable_version_draft_25 flag
diff --git a/quic/core/quic_version_manager_test.cc b/quic/core/quic_version_manager_test.cc
index 89d1d12..4687b79 100644
--- a/quic/core/quic_version_manager_test.cc
+++ b/quic/core/quic_version_manager_test.cc
@@ -18,10 +18,9 @@
class QuicVersionManagerTest : public QuicTest {};
TEST_F(QuicVersionManagerTest, QuicVersionManager) {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
SetQuicReloadableFlag(quic_enable_version_draft_29, false);
- SetQuicReloadableFlag(quic_enable_version_draft_28, false);
SetQuicReloadableFlag(quic_disable_version_draft_27, true);
SetQuicReloadableFlag(quic_disable_version_draft_25, true);
SetQuicReloadableFlag(quic_disable_version_t050, false);
@@ -70,10 +69,10 @@
ElementsAre("h3-29", "h3-T050", "h3-Q050", "h3-Q049", "h3-Q048",
"h3-Q046", "h3-Q043"));
- SetQuicReloadableFlag(quic_enable_version_draft_28, true);
+ SetQuicReloadableFlag(quic_disable_version_draft_27, false);
expected_parsed_versions.insert(
expected_parsed_versions.begin() + 1,
- ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_28));
+ ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27));
EXPECT_EQ(expected_parsed_versions, manager.GetSupportedVersions());
EXPECT_EQ(expected_parsed_versions.size() - 3,
manager.GetSupportedVersionsWithQuicCrypto().size());
@@ -82,37 +81,21 @@
EXPECT_EQ(CurrentSupportedVersionsWithQuicCrypto(),
manager.GetSupportedVersionsWithQuicCrypto());
EXPECT_THAT(manager.GetSupportedAlpns(),
- ElementsAre("h3-29", "h3-28", "h3-T050", "h3-Q050", "h3-Q049",
+ ElementsAre("h3-29", "h3-27", "h3-T050", "h3-Q050", "h3-Q049",
"h3-Q048", "h3-Q046", "h3-Q043"));
- SetQuicReloadableFlag(quic_disable_version_draft_27, false);
- expected_parsed_versions.insert(
- expected_parsed_versions.begin() + 2,
- ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27));
- EXPECT_EQ(expected_parsed_versions, manager.GetSupportedVersions());
- EXPECT_EQ(expected_parsed_versions.size() - 4,
- manager.GetSupportedVersionsWithQuicCrypto().size());
- EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
- manager.GetSupportedVersions());
- EXPECT_EQ(CurrentSupportedVersionsWithQuicCrypto(),
- manager.GetSupportedVersionsWithQuicCrypto());
- EXPECT_THAT(manager.GetSupportedAlpns(),
- ElementsAre("h3-29", "h3-28", "h3-27", "h3-T050", "h3-Q050",
- "h3-Q049", "h3-Q048", "h3-Q046", "h3-Q043"));
-
SetQuicReloadableFlag(quic_disable_version_draft_25, false);
expected_parsed_versions.insert(
- expected_parsed_versions.begin() + 3,
+ expected_parsed_versions.begin() + 2,
ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_25));
EXPECT_EQ(expected_parsed_versions, manager.GetSupportedVersions());
- EXPECT_EQ(expected_parsed_versions.size() - 5,
+ EXPECT_EQ(expected_parsed_versions.size() - 4,
manager.GetSupportedVersionsWithQuicCrypto().size());
EXPECT_EQ(CurrentSupportedVersionsWithQuicCrypto(),
manager.GetSupportedVersionsWithQuicCrypto());
- EXPECT_THAT(
- manager.GetSupportedAlpns(),
- ElementsAre("h3-29", "h3-28", "h3-27", "h3-25", "h3-T050", "h3-Q050",
- "h3-Q049", "h3-Q048", "h3-Q046", "h3-Q043"));
+ EXPECT_THAT(manager.GetSupportedAlpns(),
+ ElementsAre("h3-29", "h3-27", "h3-25", "h3-T050", "h3-Q050",
+ "h3-Q049", "h3-Q048", "h3-Q046", "h3-Q043"));
}
} // namespace
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc
index 1a1ddc7..925993f 100644
--- a/quic/core/quic_versions.cc
+++ b/quic/core/quic_versions.cc
@@ -40,14 +40,12 @@
}
void SetVersionFlag(const ParsedQuicVersion& version, bool should_enable) {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
const bool enable = should_enable;
const bool disable = !should_enable;
if (version == ParsedQuicVersion::Draft29()) {
SetQuicReloadableFlag(quic_enable_version_draft_29, enable);
- } else if (version == ParsedQuicVersion::Draft28()) {
- SetQuicReloadableFlag(quic_enable_version_draft_28, enable);
} else if (version == ParsedQuicVersion::Draft27()) {
SetQuicReloadableFlag(quic_disable_version_draft_27, disable);
} else if (version == ParsedQuicVersion::Draft25()) {
@@ -191,7 +189,7 @@
bool ParsedQuicVersion::AuthenticatesHandshakeConnectionIds() const {
DCHECK(IsKnown());
- return transport_version >= QUIC_VERSION_IETF_DRAFT_28;
+ return transport_version > QUIC_VERSION_IETF_DRAFT_27;
}
bool ParsedQuicVersion::UsesTls() const {
@@ -247,7 +245,7 @@
<< parsed_version.handshake_protocol;
return 0;
}
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
switch (parsed_version.transport_version) {
case QUIC_VERSION_43:
@@ -272,12 +270,6 @@
}
QUIC_BUG << "QUIC_VERSION_IETF_DRAFT_27 requires TLS";
return 0;
- case QUIC_VERSION_IETF_DRAFT_28:
- if (parsed_version.handshake_protocol == PROTOCOL_TLS1_3) {
- return MakeVersionLabel(0xff, 0x00, 0x00, 28);
- }
- QUIC_BUG << "QUIC_VERSION_IETF_DRAFT_28 requires TLS";
- return 0;
case QUIC_VERSION_IETF_DRAFT_29:
if (parsed_version.handshake_protocol == PROTOCOL_TLS1_3) {
return MakeVersionLabel(0xff, 0x00, 0x00, 29);
@@ -445,11 +437,6 @@
if (GetQuicReloadableFlag(quic_enable_version_draft_29)) {
filtered_versions.push_back(version);
}
- } else if (version.transport_version == QUIC_VERSION_IETF_DRAFT_28) {
- QUIC_BUG_IF(version.handshake_protocol != PROTOCOL_TLS1_3);
- if (GetQuicReloadableFlag(quic_enable_version_draft_28)) {
- filtered_versions.push_back(version);
- }
} else if (version.transport_version == QUIC_VERSION_IETF_DRAFT_27) {
QUIC_BUG_IF(version.handshake_protocol != PROTOCOL_TLS1_3);
if (!GetQuicReloadableFlag(quic_disable_version_draft_27)) {
@@ -576,7 +563,7 @@
return #x
std::string QuicVersionToString(QuicTransportVersion transport_version) {
- static_assert(SupportedTransportVersions().size() == 9u,
+ static_assert(SupportedTransportVersions().size() == 8u,
"Supported versions out of sync");
switch (transport_version) {
RETURN_STRING_LITERAL(QUIC_VERSION_43);
@@ -586,7 +573,6 @@
RETURN_STRING_LITERAL(QUIC_VERSION_50);
RETURN_STRING_LITERAL(QUIC_VERSION_IETF_DRAFT_25);
RETURN_STRING_LITERAL(QUIC_VERSION_IETF_DRAFT_27);
- RETURN_STRING_LITERAL(QUIC_VERSION_IETF_DRAFT_28);
RETURN_STRING_LITERAL(QUIC_VERSION_IETF_DRAFT_29);
RETURN_STRING_LITERAL(QUIC_VERSION_UNSUPPORTED);
RETURN_STRING_LITERAL(QUIC_VERSION_RESERVED_FOR_NEGOTIATION);
@@ -692,8 +678,6 @@
if (parsed_version.handshake_protocol == PROTOCOL_TLS1_3) {
if (parsed_version.transport_version == QUIC_VERSION_IETF_DRAFT_29) {
return "h3-29";
- } else if (parsed_version.transport_version == QUIC_VERSION_IETF_DRAFT_28) {
- return "h3-28";
} else if (parsed_version.transport_version == QUIC_VERSION_IETF_DRAFT_27) {
return "h3-27";
} else if (parsed_version.transport_version == QUIC_VERSION_IETF_DRAFT_25) {
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h
index d42c13f..9c7288a 100644
--- a/quic/core/quic_versions.h
+++ b/quic/core/quic_versions.h
@@ -119,7 +119,7 @@
QUIC_VERSION_50 = 50, // Header protection and initial obfuscators.
QUIC_VERSION_IETF_DRAFT_25 = 70, // draft-ietf-quic-transport-25.
QUIC_VERSION_IETF_DRAFT_27 = 71, // draft-ietf-quic-transport-27.
- QUIC_VERSION_IETF_DRAFT_28 = 72, // draft-ietf-quic-transport-28.
+ // Number 72 used to represent draft-ietf-quic-transport-28.
QUIC_VERSION_IETF_DRAFT_29 = 73, // draft-ietf-quic-transport-29.
// Version 99 was a dumping ground for IETF QUIC changes which were not yet
// yet ready for production between 2018-02 and 2020-02.
@@ -135,9 +135,8 @@
// This array contains QUIC transport versions which we currently support.
// DEPRECATED. Use SupportedVersions() instead.
-constexpr std::array<QuicTransportVersion, 9> SupportedTransportVersions() {
+constexpr std::array<QuicTransportVersion, 8> SupportedTransportVersions() {
return {QUIC_VERSION_IETF_DRAFT_29,
- QUIC_VERSION_IETF_DRAFT_28,
QUIC_VERSION_IETF_DRAFT_27,
QUIC_VERSION_IETF_DRAFT_25,
QUIC_VERSION_50,
@@ -201,7 +200,6 @@
return transport_version != QUIC_VERSION_UNSUPPORTED &&
transport_version != QUIC_VERSION_IETF_DRAFT_25 &&
transport_version != QUIC_VERSION_IETF_DRAFT_27 &&
- transport_version != QUIC_VERSION_IETF_DRAFT_28 &&
transport_version != QUIC_VERSION_IETF_DRAFT_29;
case PROTOCOL_TLS1_3:
// The TLS handshake is only deployable if CRYPTO frames are also used.
@@ -257,10 +255,6 @@
return ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_29);
}
- static constexpr ParsedQuicVersion Draft28() {
- return ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_28);
- }
-
static constexpr ParsedQuicVersion Draft27() {
return ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27);
}
@@ -429,13 +423,13 @@
return {PROTOCOL_TLS1_3, PROTOCOL_QUIC_CRYPTO};
}
-constexpr std::array<ParsedQuicVersion, 10> SupportedVersions() {
+constexpr std::array<ParsedQuicVersion, 9> SupportedVersions() {
return {
- ParsedQuicVersion::Draft29(), ParsedQuicVersion::Draft28(),
- ParsedQuicVersion::Draft27(), ParsedQuicVersion::Draft25(),
- ParsedQuicVersion::T050(), ParsedQuicVersion::Q050(),
- ParsedQuicVersion::Q049(), ParsedQuicVersion::Q048(),
- ParsedQuicVersion::Q046(), ParsedQuicVersion::Q043(),
+ ParsedQuicVersion::Draft29(), ParsedQuicVersion::Draft27(),
+ ParsedQuicVersion::Draft25(), ParsedQuicVersion::T050(),
+ ParsedQuicVersion::Q050(), ParsedQuicVersion::Q049(),
+ ParsedQuicVersion::Q048(), ParsedQuicVersion::Q046(),
+ ParsedQuicVersion::Q043(),
};
}
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc
index 14c5793..c7ebb82 100644
--- a/quic/core/quic_versions_test.cc
+++ b/quic/core/quic_versions_test.cc
@@ -239,8 +239,6 @@
EXPECT_EQ(ParsedQuicVersion::T050(), ParseQuicVersionString("h3-T050"));
EXPECT_EQ(ParsedQuicVersion::Draft29(), ParseQuicVersionString("ff00001d"));
EXPECT_EQ(ParsedQuicVersion::Draft29(), ParseQuicVersionString("h3-29"));
- EXPECT_EQ(ParsedQuicVersion::Draft28(), ParseQuicVersionString("ff00001c"));
- EXPECT_EQ(ParsedQuicVersion::Draft28(), ParseQuicVersionString("h3-28"));
EXPECT_EQ(ParsedQuicVersion::Draft27(), ParseQuicVersionString("ff00001b"));
EXPECT_EQ(ParsedQuicVersion::Draft27(), ParseQuicVersionString("h3-27"));
EXPECT_EQ(ParsedQuicVersion::Draft25(), ParseQuicVersionString("ff000019"));
@@ -255,8 +253,6 @@
QUIC_VERSION_IETF_DRAFT_25);
ParsedQuicVersion version_draft_27(PROTOCOL_TLS1_3,
QUIC_VERSION_IETF_DRAFT_27);
- ParsedQuicVersion version_draft_28(PROTOCOL_TLS1_3,
- QUIC_VERSION_IETF_DRAFT_28);
ParsedQuicVersion version_draft_29 = ParsedQuicVersion::Draft29();
EXPECT_THAT(ParseQuicVersionVectorString(""), IsEmpty());
@@ -278,8 +274,6 @@
ElementsAre(version_draft_25, version_draft_27));
EXPECT_THAT(ParseQuicVersionVectorString("h3-27,h3-25"),
ElementsAre(version_draft_27, version_draft_25));
- EXPECT_THAT(ParseQuicVersionVectorString("h3-28,h3-27"),
- ElementsAre(version_draft_28, version_draft_27));
EXPECT_THAT(ParseQuicVersionVectorString("h3-29,h3-27"),
ElementsAre(version_draft_29, version_draft_27));
@@ -499,7 +493,7 @@
// yet a typo was made in doing the #defines and it was caught
// only in some test far removed from here... Better safe than sorry.
TEST_F(QuicVersionsTest, CheckTransportVersionNumbersForTypos) {
- static_assert(SupportedTransportVersions().size() == 9u,
+ static_assert(SupportedTransportVersions().size() == 8u,
"Supported versions out of sync");
EXPECT_EQ(QUIC_VERSION_43, 43);
EXPECT_EQ(QUIC_VERSION_46, 46);
@@ -508,12 +502,11 @@
EXPECT_EQ(QUIC_VERSION_50, 50);
EXPECT_EQ(QUIC_VERSION_IETF_DRAFT_25, 70);
EXPECT_EQ(QUIC_VERSION_IETF_DRAFT_27, 71);
- EXPECT_EQ(QUIC_VERSION_IETF_DRAFT_28, 72);
EXPECT_EQ(QUIC_VERSION_IETF_DRAFT_29, 73);
}
TEST_F(QuicVersionsTest, AlpnForVersion) {
- static_assert(SupportedVersions().size() == 10u,
+ static_assert(SupportedVersions().size() == 9u,
"Supported versions out of sync");
ParsedQuicVersion parsed_version_q048 = ParsedQuicVersion::Q048();
ParsedQuicVersion parsed_version_q049 = ParsedQuicVersion::Q049();
@@ -521,7 +514,6 @@
ParsedQuicVersion parsed_version_t050 = ParsedQuicVersion::T050();
ParsedQuicVersion parsed_version_draft_25 = ParsedQuicVersion::Draft25();
ParsedQuicVersion parsed_version_draft_27 = ParsedQuicVersion::Draft27();
- ParsedQuicVersion parsed_version_draft_28 = ParsedQuicVersion::Draft28();
EXPECT_EQ("h3-Q048", AlpnForVersion(parsed_version_q048));
EXPECT_EQ("h3-Q049", AlpnForVersion(parsed_version_q049));
@@ -529,7 +521,6 @@
EXPECT_EQ("h3-T050", AlpnForVersion(parsed_version_t050));
EXPECT_EQ("h3-25", AlpnForVersion(parsed_version_draft_25));
EXPECT_EQ("h3-27", AlpnForVersion(parsed_version_draft_27));
- EXPECT_EQ("h3-28", AlpnForVersion(parsed_version_draft_28));
EXPECT_EQ("h3-29", AlpnForVersion(ParsedQuicVersion::Draft29()));
}