Drop support for QUIC T048 and T049

Since T050 provides test coverage for all the features in T048 and T049, and we're going to remove v48 and v49 entirely pretty soon, we're dropping support for T048 and T049 now to reduce test load.

gfe-relnote: remove never-enabled versions, protected by disabled flag quic_supports_tls_handshake
PiperOrigin-RevId: 284059605
Change-Id: I5c7941de283b66781d0a8724329153b5fcfb71fb
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc
index 037990a..5650cec 100644
--- a/quic/core/crypto/crypto_utils.cc
+++ b/quic/core/crypto/crypto_utils.cc
@@ -119,14 +119,6 @@
 // Salts used by deployed versions of QUIC. When introducing a new version,
 // generate a new salt by running `openssl rand -hex 20`.
 
-// Salt to use for initial obfuscators in version T048.
-const uint8_t kT048Salt[] = {0x1f, 0x89, 0xf6, 0xe7, 0xc2, 0x18, 0xf4,
-                             0x2e, 0x6c, 0xe1, 0x9e, 0x91, 0xb2, 0x23,
-                             0xbb, 0x4c, 0x47, 0xc9, 0x12, 0xff};
-// Salt to use for initial obfuscators in version T049.
-const uint8_t kT049Salt[] = {0x69, 0xe5, 0x79, 0x2a, 0x41, 0xd0, 0xa2,
-                             0x9c, 0xf9, 0xbc, 0x5c, 0x04, 0x5a, 0xeb,
-                             0xcf, 0xeb, 0x51, 0xf6, 0x9f, 0x22};
 // Salt to use for initial obfuscators in version Q050.
 const uint8_t kQ050Salt[] = {0x50, 0x45, 0x74, 0xef, 0xd0, 0x66, 0xfe,
                              0x2f, 0x9d, 0x94, 0x5c, 0xfc, 0xdb, 0xd3,
@@ -166,12 +158,6 @@
       break;
     case PROTOCOL_TLS1_3:
       switch (version.transport_version) {
-        case QUIC_VERSION_48:
-          *out_len = QUIC_ARRAYSIZE(kT048Salt);
-          return kT048Salt;
-        case QUIC_VERSION_49:
-          *out_len = QUIC_ARRAYSIZE(kT049Salt);
-          return kT049Salt;
         case QUIC_VERSION_50:
           *out_len = QUIC_ARRAYSIZE(kT050Salt);
           return kT050Salt;
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc
index 420a2a4..4d90d78 100644
--- a/quic/core/quic_versions.cc
+++ b/quic/core/quic_versions.cc
@@ -214,8 +214,10 @@
   for (HandshakeProtocol protocol : kSupportedHandshakeProtocols) {
     for (QuicTransportVersion version : kSupportedTransportVersions) {
       if (protocol == PROTOCOL_TLS1_3 &&
-          !QuicVersionUsesCryptoFrames(version)) {
+          (!QuicVersionUsesCryptoFrames(version) ||
+           version <= QUIC_VERSION_49)) {
         // The TLS handshake is only deployable if CRYPTO frames are also used.
+        // We explicitly removed support for T048 and T049 to reduce test load.
         continue;
       }
       supported_versions.push_back(ParsedQuicVersion(protocol, version));
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc
index 3521e5b..404aef7 100644
--- a/quic/core/quic_versions_test.cc
+++ b/quic/core/quic_versions_test.cc
@@ -148,12 +148,6 @@
 
   // Test a TLS version:
   SetQuicReloadableFlag(quic_supports_tls_handshake, true);
-  EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43),
-            ParseQuicVersionString("T043"));
-  EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46),
-            ParseQuicVersionString("T046"));
-  EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_48),
-            ParseQuicVersionString("T048"));
   EXPECT_EQ(ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_50),
             ParseQuicVersionString("T050"));
 }
@@ -173,15 +167,6 @@
                 ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_50)));
 
   // Test a TLS version:
-  EXPECT_EQ(MakeVersionLabel('T', '0', '4', '3'),
-            CreateQuicVersionLabel(
-                ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_43)));
-  EXPECT_EQ(MakeVersionLabel('T', '0', '4', '6'),
-            CreateQuicVersionLabel(
-                ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_46)));
-  EXPECT_EQ(MakeVersionLabel('T', '0', '4', '8'),
-            CreateQuicVersionLabel(
-                ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_48)));
   EXPECT_EQ(MakeVersionLabel('T', '0', '5', '0'),
             CreateQuicVersionLabel(
                 ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_50)));
@@ -396,12 +381,8 @@
                 "Supported versions out of sync");
   ParsedQuicVersion parsed_version_q048 =
       ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_48);
-  ParsedQuicVersion parsed_version_t048 =
-      ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_48);
   ParsedQuicVersion parsed_version_q049 =
       ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_49);
-  ParsedQuicVersion parsed_version_t049 =
-      ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_49);
   ParsedQuicVersion parsed_version_q050 =
       ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_50);
   ParsedQuicVersion parsed_version_t050 =
@@ -410,9 +391,7 @@
       ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_99);
 
   EXPECT_EQ("h3-Q048", AlpnForVersion(parsed_version_q048));
-  EXPECT_EQ("h3-T048", AlpnForVersion(parsed_version_t048));
   EXPECT_EQ("h3-Q049", AlpnForVersion(parsed_version_q049));
-  EXPECT_EQ("h3-T049", AlpnForVersion(parsed_version_t049));
   EXPECT_EQ("h3-Q050", AlpnForVersion(parsed_version_q050));
   EXPECT_EQ("h3-T050", AlpnForVersion(parsed_version_t050));
   EXPECT_EQ("h3-24", AlpnForVersion(parsed_version_t099));