Replace QUIC_VERSION_99 with QUIC_VERSION_IETF_DRAFT_27
Now that IETF drafts do not change as quickly, we no longer need a dumping ground for changes, so we're retiring QUIC_VERSION_99. The same functionality is now taken over by QUIC_VERSION_IETF_DRAFT_27.
gfe-relnote: no behavior change, protected by quic_enable_version_draft_27
PiperOrigin-RevId: 299195934
Change-Id: Ic5c7769574c1569edca3c31f1e05d867f7a5c29a
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h
index 828e73d..bb539b1 100644
--- a/quic/core/quic_versions.h
+++ b/quic/core/quic_versions.h
@@ -108,8 +108,10 @@
// header format from draft-ietf-quic-invariants-06.
QUIC_VERSION_50 = 50, // Header protection and initial obfuscators.
QUIC_VERSION_IETF_DRAFT_25 = 70, // draft-ietf-quic-transport-25.
- QUIC_VERSION_99 = 99, // Dumping ground for IETF QUIC changes which are not
- // yet ready for production.
+ QUIC_VERSION_IETF_DRAFT_27 = 71, // draft-ietf-quic-transport-27.
+ // Version 99 was a dumping ground for IETF QUIC changes which were not yet
+ // yet ready for production between 2018-02 and 2020-02.
+
// QUIC_VERSION_RESERVED_FOR_NEGOTIATION is sent over the wire as ?a?a?a?a
// which is part of a range reserved by the IETF for version negotiation
// testing (see the "Versions" section of draft-ietf-quic-transport).
@@ -124,9 +126,6 @@
QUIC_EXPORT_PRIVATE std::string QuicVersionToString(
QuicTransportVersion transport_version);
-// IETF draft version most closely approximated by TLS + v99.
-enum : int { kQuicIetfDraftVersion = 27 };
-
// The crypto handshake protocols that can be used with QUIC.
enum HandshakeProtocol {
PROTOCOL_UNSUPPORTED,
@@ -158,8 +157,7 @@
case PROTOCOL_QUIC_CRYPTO:
return transport_version != QUIC_VERSION_UNSUPPORTED &&
transport_version != QUIC_VERSION_IETF_DRAFT_25 &&
- // We explicitly removed support for Q099 to reduce test load.
- transport_version != QUIC_VERSION_99;
+ transport_version != QUIC_VERSION_IETF_DRAFT_27;
case PROTOCOL_TLS1_3:
// The TLS handshake is only deployable if CRYPTO frames are also used.
// We explicitly removed support for T048 and T049 to reduce test load.
@@ -321,7 +319,7 @@
// See go/new-quic-version for more details on how to roll out new versions.
constexpr std::array<QuicTransportVersion, 7> SupportedTransportVersions() {
return std::array<QuicTransportVersion, 7>(
- {QUIC_VERSION_99, QUIC_VERSION_IETF_DRAFT_25, QUIC_VERSION_50,
+ {QUIC_VERSION_IETF_DRAFT_27, QUIC_VERSION_IETF_DRAFT_25, QUIC_VERSION_50,
QUIC_VERSION_49, QUIC_VERSION_48, QUIC_VERSION_46, QUIC_VERSION_43});
}
@@ -338,7 +336,7 @@
ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_48),
ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46),
ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43),
- ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_99),
+ ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_27),
ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_DRAFT_25),
ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_50),
});