QUIC v2 has been published as RFC 9369. Rename all identifiers from "v2 draft 08" to "rfc v2". No behavior change. Also renames the not-enabled flag gfe2_reloadable_flag_quic_enable_version_2_draft_08 to gfe2_reloadable_flag_quic_enable_version_rfcv2.

Protected by FLAGS_gfe_reloadable_flag_enable_version_rfcv2.

PiperOrigin-RevId: 537351342
diff --git a/quiche/quic/core/crypto/crypto_utils.cc b/quiche/quic/core/crypto/crypto_utils.cc
index 9ce176e..1ac33da 100644
--- a/quiche/quic/core/crypto/crypto_utils.cc
+++ b/quiche/quic/core/crypto/crypto_utils.cc
@@ -96,7 +96,7 @@
                                      const absl::string_view& predicate) {
   static_assert(SupportedVersions().size() == 5u,
                 "Supported versions out of sync with HKDF labels");
-  if (version == ParsedQuicVersion::V2Draft08()) {
+  if (version == ParsedQuicVersion::RFCv2()) {
     return absl::StrCat("quicv2 ", predicate);
   } else {
     return absl::StrCat("quic ", predicate);
@@ -152,7 +152,7 @@
 const uint8_t kRFCv1InitialSalt[] = {0x38, 0x76, 0x2c, 0xf7, 0xf5, 0x59, 0x34,
                                      0xb3, 0x4d, 0x17, 0x9a, 0xe6, 0xa4, 0xc8,
                                      0x0c, 0xad, 0xcc, 0xbb, 0x7f, 0x0a};
-const uint8_t kV2Draft08InitialSalt[] = {
+const uint8_t kRFCv2InitialSalt[] = {
     0x0d, 0xed, 0xe3, 0xde, 0xf7, 0x00, 0xa6, 0xdb, 0x81, 0x93,
     0x81, 0xbe, 0x6e, 0x26, 0x9d, 0xcb, 0xf9, 0xbd, 0x2e, 0xd9,
 };
@@ -174,9 +174,9 @@
                                      size_t* out_len) {
   static_assert(SupportedVersions().size() == 5u,
                 "Supported versions out of sync with initial encryption salts");
-  if (version == ParsedQuicVersion::V2Draft08()) {
-    *out_len = ABSL_ARRAYSIZE(kV2Draft08InitialSalt);
-    return kV2Draft08InitialSalt;
+  if (version == ParsedQuicVersion::RFCv2()) {
+    *out_len = ABSL_ARRAYSIZE(kRFCv2InitialSalt);
+    return kRFCv2InitialSalt;
   } else if (version == ParsedQuicVersion::RFCv1()) {
     *out_len = ABSL_ARRAYSIZE(kRFCv1InitialSalt);
     return kRFCv1InitialSalt;
@@ -212,10 +212,10 @@
                                            0xe3, 0x68, 0xc8, 0x4e};
 const uint8_t kRFCv1RetryIntegrityNonce[] = {
     0x46, 0x15, 0x99, 0xd3, 0x5d, 0x63, 0x2b, 0xf2, 0x23, 0x98, 0x25, 0xbb};
-const uint8_t kV2Draft08RetryIntegrityKey[] = {
-    0x8f, 0xb4, 0xb0, 0x1b, 0x56, 0xac, 0x48, 0xe2,
-    0x60, 0xfb, 0xcb, 0xce, 0xad, 0x7c, 0xcc, 0x92};
-const uint8_t kV2Draft08RetryIntegrityNonce[] = {
+const uint8_t kRFCv2RetryIntegrityKey[] = {0x8f, 0xb4, 0xb0, 0x1b, 0x56, 0xac,
+                                           0x48, 0xe2, 0x60, 0xfb, 0xcb, 0xce,
+                                           0xad, 0x7c, 0xcc, 0x92};
+const uint8_t kRFCv2RetryIntegrityNonce[] = {
     0xd8, 0x69, 0x69, 0xbc, 0x2d, 0x7c, 0x6d, 0x99, 0x90, 0xef, 0xb0, 0x4a};
 // Retry integrity key used by ParsedQuicVersion::ReservedForNegotiation().
 const uint8_t kReservedForNegotiationRetryIntegrityKey[] = {
@@ -237,13 +237,13 @@
         << "Attempted to get retry integrity keys for invalid version "
         << version;
     return false;
-  } else if (version == ParsedQuicVersion::V2Draft08()) {
+  } else if (version == ParsedQuicVersion::RFCv2()) {
     *key = absl::string_view(
-        reinterpret_cast<const char*>(kV2Draft08RetryIntegrityKey),
-        ABSL_ARRAYSIZE(kV2Draft08RetryIntegrityKey));
+        reinterpret_cast<const char*>(kRFCv2RetryIntegrityKey),
+        ABSL_ARRAYSIZE(kRFCv2RetryIntegrityKey));
     *nonce = absl::string_view(
-        reinterpret_cast<const char*>(kV2Draft08RetryIntegrityNonce),
-        ABSL_ARRAYSIZE(kV2Draft08RetryIntegrityNonce));
+        reinterpret_cast<const char*>(kRFCv2RetryIntegrityNonce),
+        ABSL_ARRAYSIZE(kRFCv2RetryIntegrityNonce));
     return true;
   } else if (version == ParsedQuicVersion::RFCv1()) {
     *key = absl::string_view(
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index 46f1615..54b671a 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -10117,7 +10117,7 @@
 
   uint8_t* retry_packet;
   size_t retry_packet_length;
-  if (version() == ParsedQuicVersion::V2Draft08()) {
+  if (version() == ParsedQuicVersion::RFCv2()) {
     retry_packet = retry_packet_rfcv2;
     retry_packet_length = ABSL_ARRAYSIZE(retry_packet_rfcv2);
   } else if (version() == ParsedQuicVersion::RFCv1()) {
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 591e87c..9b8813e 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -91,8 +91,8 @@
 QUIC_FLAG(quic_restart_flag_quic_receive_ecn, true)
 // When true, sends QUIC packets marked ECT(1).
 QUIC_FLAG(quic_reloadable_flag_quic_send_ect1, false)
-// When true, support draft-ietf-quic-v2-08
-QUIC_FLAG(quic_reloadable_flag_quic_enable_version_2_draft_08, false)
+// When true, support RFC9369.
+QUIC_FLAG(quic_reloadable_flag_quic_enable_version_rfcv2, false)
 // When true, the BB2U copt causes BBR2 to wait two rounds with out draining the queue before exiting PROBE_UP and BB2S has the same effect in STARTUP.
 QUIC_FLAG(quic_reloadable_flag_quic_bbr2_probe_two_rounds, true)
 // When true, the BBHI copt causes QUIC BBRv2 to use a simpler algorithm for raising inflight_hi in PROBE_UP.
diff --git a/quiche/quic/core/quic_version_manager.cc b/quiche/quic/core/quic_version_manager.cc
index 91404ed..77755b4 100644
--- a/quiche/quic/core/quic_version_manager.cc
+++ b/quiche/quic/core/quic_version_manager.cc
@@ -39,7 +39,7 @@
   static_assert(SupportedVersions().size() == 5u,
                 "Supported versions out of sync");
   if (enable_version_2_draft_08_ !=
-          GetQuicReloadableFlag(quic_enable_version_2_draft_08) ||
+          GetQuicReloadableFlag(quic_enable_version_rfcv2) ||
       disable_version_rfcv1_ !=
           GetQuicReloadableFlag(quic_disable_version_rfcv1) ||
       disable_version_draft_29_ !=
@@ -49,7 +49,7 @@
       disable_version_q046_ !=
           GetQuicReloadableFlag(quic_disable_version_q046)) {
     enable_version_2_draft_08_ =
-        GetQuicReloadableFlag(quic_enable_version_2_draft_08);
+        GetQuicReloadableFlag(quic_enable_version_rfcv2);
     disable_version_rfcv1_ = GetQuicReloadableFlag(quic_disable_version_rfcv1);
     disable_version_draft_29_ =
         GetQuicReloadableFlag(quic_disable_version_draft_29);
diff --git a/quiche/quic/core/quic_version_manager_test.cc b/quiche/quic/core/quic_version_manager_test.cc
index d9ae2b6..5ff2781 100644
--- a/quiche/quic/core/quic_version_manager_test.cc
+++ b/quiche/quic/core/quic_version_manager_test.cc
@@ -23,7 +23,7 @@
   for (const ParsedQuicVersion& version : AllSupportedVersions()) {
     QuicEnableVersion(version);
   }
-  QuicDisableVersion(ParsedQuicVersion::V2Draft08());
+  QuicDisableVersion(ParsedQuicVersion::RFCv2());
   QuicDisableVersion(ParsedQuicVersion::RFCv1());
   QuicDisableVersion(ParsedQuicVersion::Draft29());
   QuicVersionManager manager(AllSupportedVersions());
@@ -63,9 +63,9 @@
   EXPECT_THAT(manager.GetSupportedAlpns(),
               ElementsAre("h3", "h3-29", "h3-Q050", "h3-Q046"));
 
-  QuicEnableVersion(ParsedQuicVersion::V2Draft08());
+  QuicEnableVersion(ParsedQuicVersion::RFCv2());
   expected_parsed_versions.insert(expected_parsed_versions.begin(),
-                                  ParsedQuicVersion::V2Draft08());
+                                  ParsedQuicVersion::RFCv2());
   EXPECT_EQ(expected_parsed_versions, manager.GetSupportedVersions());
   EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
             manager.GetSupportedVersions());
diff --git a/quiche/quic/core/quic_versions.cc b/quiche/quic/core/quic_versions.cc
index fd3f6af..e14f06e 100644
--- a/quiche/quic/core/quic_versions.cc
+++ b/quiche/quic/core/quic_versions.cc
@@ -40,8 +40,8 @@
                 "Supported versions out of sync");
   const bool enable = should_enable;
   const bool disable = !should_enable;
-  if (version == ParsedQuicVersion::V2Draft08()) {
-    SetQuicReloadableFlag(quic_enable_version_2_draft_08, enable);
+  if (version == ParsedQuicVersion::RFCv2()) {
+    SetQuicReloadableFlag(quic_enable_version_rfcv2, enable);
   } else if (version == ParsedQuicVersion::RFCv1()) {
     SetQuicReloadableFlag(quic_disable_version_rfcv1, disable);
   } else if (version == ParsedQuicVersion::Draft29()) {
@@ -168,12 +168,12 @@
 
 bool ParsedQuicVersion::UsesV2PacketTypes() const {
   QUICHE_DCHECK(IsKnown());
-  return transport_version == QUIC_VERSION_IETF_2_DRAFT_08;
+  return transport_version == QUIC_VERSION_IETF_RFC_V2;
 }
 
 bool ParsedQuicVersion::AlpnDeferToRFCv1() const {
   QUICHE_DCHECK(IsKnown());
-  return transport_version == QUIC_VERSION_IETF_2_DRAFT_08;
+  return transport_version == QUIC_VERSION_IETF_RFC_V2;
 }
 
 bool VersionHasLengthPrefixedConnectionIds(
@@ -213,7 +213,7 @@
 QuicVersionLabel CreateQuicVersionLabel(ParsedQuicVersion parsed_version) {
   static_assert(SupportedVersions().size() == 5u,
                 "Supported versions out of sync");
-  if (parsed_version == ParsedQuicVersion::V2Draft08()) {
+  if (parsed_version == ParsedQuicVersion::RFCv2()) {
     return MakeVersionLabel(0x6b, 0x33, 0x43, 0xcf);
   } else if (parsed_version == ParsedQuicVersion::RFCv1()) {
     return MakeVersionLabel(0x00, 0x00, 0x00, 0x01);
@@ -415,8 +415,8 @@
   ParsedQuicVersionVector filtered_versions;
   filtered_versions.reserve(versions.size());
   for (const ParsedQuicVersion& version : versions) {
-    if (version == ParsedQuicVersion::V2Draft08()) {
-      if (GetQuicReloadableFlag(quic_enable_version_2_draft_08)) {
+    if (version == ParsedQuicVersion::RFCv2()) {
+      if (GetQuicReloadableFlag(quic_enable_version_rfcv2)) {
         filtered_versions.push_back(version);
       }
     } else if (version == ParsedQuicVersion::RFCv1()) {
@@ -500,7 +500,7 @@
     RETURN_STRING_LITERAL(QUIC_VERSION_50);
     RETURN_STRING_LITERAL(QUIC_VERSION_IETF_DRAFT_29);
     RETURN_STRING_LITERAL(QUIC_VERSION_IETF_RFC_V1);
-    RETURN_STRING_LITERAL(QUIC_VERSION_IETF_2_DRAFT_08);
+    RETURN_STRING_LITERAL(QUIC_VERSION_IETF_RFC_V2);
     RETURN_STRING_LITERAL(QUIC_VERSION_UNSUPPORTED);
     RETURN_STRING_LITERAL(QUIC_VERSION_RESERVED_FOR_NEGOTIATION);
   }
@@ -523,9 +523,9 @@
                 "Supported versions out of sync");
   if (version == UnsupportedQuicVersion()) {
     return "0";
-  } else if (version == ParsedQuicVersion::V2Draft08()) {
+  } else if (version == ParsedQuicVersion::RFCv2()) {
     QUICHE_DCHECK(version.UsesHttp3());
-    return "V2Draft08";
+    return "RFCv2";
   } else if (version == ParsedQuicVersion::RFCv1()) {
     QUICHE_DCHECK(version.UsesHttp3());
     return "RFCv1";
@@ -613,7 +613,7 @@
 }
 
 std::string AlpnForVersion(ParsedQuicVersion parsed_version) {
-  if (parsed_version == ParsedQuicVersion::V2Draft08()) {
+  if (parsed_version == ParsedQuicVersion::RFCv2()) {
     return "h3";
   } else if (parsed_version == ParsedQuicVersion::RFCv1()) {
     return "h3";
diff --git a/quiche/quic/core/quic_versions.h b/quiche/quic/core/quic_versions.h
index 8129d9a..7cd31be 100644
--- a/quiche/quic/core/quic_versions.h
+++ b/quiche/quic/core/quic_versions.h
@@ -125,7 +125,7 @@
   QUIC_VERSION_IETF_DRAFT_29 = 73,  // draft-ietf-quic-transport-29.
   QUIC_VERSION_IETF_RFC_V1 = 80,    // RFC 9000.
   // Number 81 used to represent draft-ietf-quic-v2-01.
-  QUIC_VERSION_IETF_2_DRAFT_08 = 82,  // draft-ietf-quic-v2-08.
+  QUIC_VERSION_IETF_RFC_V2 = 82,  // RFC 9369.
   // Version 99 was a dumping ground for IETF QUIC changes which were not yet
   // ready for production between 2018-02 and 2020-02.
 
@@ -173,7 +173,7 @@
     QuicTransportVersion transport_version) {
   bool transport_version_is_valid = false;
   constexpr QuicTransportVersion valid_transport_versions[] = {
-      QUIC_VERSION_IETF_2_DRAFT_08,
+      QUIC_VERSION_IETF_RFC_V2,
       QUIC_VERSION_IETF_RFC_V1,
       QUIC_VERSION_IETF_DRAFT_29,
       QUIC_VERSION_50,
@@ -198,7 +198,7 @@
              transport_version != QUIC_VERSION_RESERVED_FOR_NEGOTIATION &&
              transport_version != QUIC_VERSION_IETF_DRAFT_29 &&
              transport_version != QUIC_VERSION_IETF_RFC_V1 &&
-             transport_version != QUIC_VERSION_IETF_2_DRAFT_08;
+             transport_version != QUIC_VERSION_IETF_RFC_V2;
     case PROTOCOL_TLS1_3:
       return transport_version != QUIC_VERSION_UNSUPPORTED &&
              transport_version != QUIC_VERSION_50 &&
@@ -248,8 +248,8 @@
            transport_version != other.transport_version;
   }
 
-  static constexpr ParsedQuicVersion V2Draft08() {
-    return ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_2_DRAFT_08);
+  static constexpr ParsedQuicVersion RFCv2() {
+    return ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_IETF_RFC_V2);
   }
 
   static constexpr ParsedQuicVersion RFCv1() {
@@ -400,8 +400,8 @@
 
 constexpr std::array<ParsedQuicVersion, 5> SupportedVersions() {
   return {
-      ParsedQuicVersion::V2Draft08(), ParsedQuicVersion::RFCv1(),
-      ParsedQuicVersion::Draft29(),   ParsedQuicVersion::Q050(),
+      ParsedQuicVersion::RFCv2(),   ParsedQuicVersion::RFCv1(),
+      ParsedQuicVersion::Draft29(), ParsedQuicVersion::Q050(),
       ParsedQuicVersion::Q046(),
   };
 }
diff --git a/quiche/quic/core/quic_versions_test.cc b/quiche/quic/core/quic_versions_test.cc
index 49335e3..bf0078c 100644
--- a/quiche/quic/core/quic_versions_test.cc
+++ b/quiche/quic/core/quic_versions_test.cc
@@ -108,9 +108,9 @@
             ParseQuicVersionLabel(MakeVersionLabel(0xff, 0x00, 0x00, 0x1d)));
   EXPECT_EQ(ParsedQuicVersion::RFCv1(),
             ParseQuicVersionLabel(MakeVersionLabel(0x00, 0x00, 0x00, 0x01)));
-  EXPECT_EQ(ParsedQuicVersion::V2Draft08(),
+  EXPECT_EQ(ParsedQuicVersion::RFCv2(),
             ParseQuicVersionLabel(MakeVersionLabel(0x6b, 0x33, 0x43, 0xcf)));
-  EXPECT_EQ((ParsedQuicVersionVector{ParsedQuicVersion::V2Draft08(),
+  EXPECT_EQ((ParsedQuicVersionVector{ParsedQuicVersion::RFCv2(),
                                      ParsedQuicVersion::RFCv1(),
                                      ParsedQuicVersion::Draft29()}),
             ParseQuicVersionLabelVector(QuicVersionLabelVector{
@@ -223,8 +223,7 @@
   EXPECT_EQ(0x51303530u, CreateQuicVersionLabel(ParsedQuicVersion::Q050()));
   EXPECT_EQ(0xff00001du, CreateQuicVersionLabel(ParsedQuicVersion::Draft29()));
   EXPECT_EQ(0x00000001u, CreateQuicVersionLabel(ParsedQuicVersion::RFCv1()));
-  EXPECT_EQ(0x6b3343cfu,
-            CreateQuicVersionLabel(ParsedQuicVersion::V2Draft08()));
+  EXPECT_EQ(0x6b3343cfu, CreateQuicVersionLabel(ParsedQuicVersion::RFCv2()));
 
   // Make sure the negotiation reserved version is in the IETF reserved space.
   EXPECT_EQ(
@@ -250,7 +249,7 @@
   EXPECT_EQ("00000001", QuicVersionLabelToString(CreateQuicVersionLabel(
                             ParsedQuicVersion::RFCv1())));
   EXPECT_EQ("6b3343cf", QuicVersionLabelToString(CreateQuicVersionLabel(
-                            ParsedQuicVersion::V2Draft08())));
+                            ParsedQuicVersion::RFCv2())));
 
   QuicVersionLabelVector version_labels = {
       MakeVersionLabel('Q', '0', '3', '5'),
@@ -284,7 +283,7 @@
             ParseQuicVersionLabelString("ff00001d"));
   EXPECT_EQ(ParsedQuicVersion::RFCv1(),
             ParseQuicVersionLabelString("00000001"));
-  EXPECT_EQ(ParsedQuicVersion::V2Draft08(),
+  EXPECT_EQ(ParsedQuicVersion::RFCv2(),
             ParseQuicVersionLabelString("6b3343cf"));
 
   // Sanity check that a variety of other serialization formats are ignored.
@@ -341,8 +340,7 @@
   EXPECT_EQ("Q050", ParsedQuicVersionToString(ParsedQuicVersion::Q050()));
   EXPECT_EQ("draft29", ParsedQuicVersionToString(ParsedQuicVersion::Draft29()));
   EXPECT_EQ("RFCv1", ParsedQuicVersionToString(ParsedQuicVersion::RFCv1()));
-  EXPECT_EQ("V2Draft08",
-            ParsedQuicVersionToString(ParsedQuicVersion::V2Draft08()));
+  EXPECT_EQ("RFCv2", ParsedQuicVersionToString(ParsedQuicVersion::RFCv2()));
 
   ParsedQuicVersionVector versions_vector = {ParsedQuicVersion::Q046()};
   EXPECT_EQ("Q046", ParsedQuicVersionVectorToString(versions_vector));
@@ -415,7 +413,7 @@
   EXPECT_EQ(QUIC_VERSION_50, 50);
   EXPECT_EQ(QUIC_VERSION_IETF_DRAFT_29, 73);
   EXPECT_EQ(QUIC_VERSION_IETF_RFC_V1, 80);
-  EXPECT_EQ(QUIC_VERSION_IETF_2_DRAFT_08, 82);
+  EXPECT_EQ(QUIC_VERSION_IETF_RFC_V2, 82);
 }
 
 TEST(QuicVersionsTest, AlpnForVersion) {
@@ -425,7 +423,7 @@
   EXPECT_EQ("h3-Q050", AlpnForVersion(ParsedQuicVersion::Q050()));
   EXPECT_EQ("h3-29", AlpnForVersion(ParsedQuicVersion::Draft29()));
   EXPECT_EQ("h3", AlpnForVersion(ParsedQuicVersion::RFCv1()));
-  EXPECT_EQ("h3", AlpnForVersion(ParsedQuicVersion::V2Draft08()));
+  EXPECT_EQ("h3", AlpnForVersion(ParsedQuicVersion::RFCv2()));
 }
 
 TEST(QuicVersionsTest, QuicVersionEnabling) {
@@ -476,7 +474,7 @@
                 CreateQuicVersionLabel(version2))
           << version1 << " " << version2;
       // The one pair where ALPNs are the same.
-      if ((version1 != ParsedQuicVersion::V2Draft08()) &&
+      if ((version1 != ParsedQuicVersion::RFCv2()) &&
           (version2 != ParsedQuicVersion::RFCv1())) {
         EXPECT_NE(AlpnForVersion(version1), AlpnForVersion(version2))
             << version1 << " " << version2;