Remove unused `handshake_mode` from ParsedQuicVersion.
PiperOrigin-RevId: 841818322
diff --git a/quiche/quic/core/quic_versions.cc b/quiche/quic/core/quic_versions.cc
index 85c205d..ae883c3 100644
--- a/quiche/quic/core/quic_versions.cc
+++ b/quiche/quic/core/quic_versions.cc
@@ -60,9 +60,6 @@
} // namespace
bool ParsedQuicVersion::IsKnown() const {
- QUICHE_DCHECK(ParsedQuicVersionIsValid(handshake_protocol, transport_version))
- << QuicVersionToString(transport_version) << " "
- << HandshakeProtocolToString(handshake_protocol);
return transport_version != QUIC_VERSION_UNSUPPORTED;
}
@@ -138,8 +135,7 @@
}
QUIC_BUG(quic_bug_10589_2)
<< "Unsupported version "
- << QuicVersionToString(parsed_version.transport_version) << " "
- << HandshakeProtocolToString(parsed_version.handshake_protocol);
+ << QuicVersionToString(parsed_version.transport_version);
return 0;
}
@@ -290,9 +286,6 @@
quic_version_number <= QuicTransportVersion::QUIC_VERSION_MAX_VALUE) {
QuicTransportVersion transport_version =
static_cast<QuicTransportVersion>(quic_version_number);
- if (!ParsedQuicVersionIsValid(PROTOCOL_QUIC_CRYPTO, transport_version)) {
- return UnsupportedQuicVersion();
- }
ParsedQuicVersion version(transport_version);
if (std::find(supported_versions.begin(), supported_versions.end(),
version) != supported_versions.end()) {
diff --git a/quiche/quic/core/quic_versions.h b/quiche/quic/core/quic_versions.h
index 90fdbc8..20f7905 100644
--- a/quiche/quic/core/quic_versions.h
+++ b/quiche/quic/core/quic_versions.h
@@ -189,25 +189,8 @@
// allowed as TLS requires crypto frames which v46 does not support. Note that
// UnsupportedQuicVersion is a valid version.
QUICHE_EXPORT constexpr bool ParsedQuicVersionIsValid(
- HandshakeProtocol handshake_protocol,
QuicTransportVersion transport_version) {
- if (!TransportVersionIsValid(transport_version)) {
- return false;
- }
- switch (handshake_protocol) {
- case PROTOCOL_UNSUPPORTED:
- return transport_version == QUIC_VERSION_UNSUPPORTED;
- case PROTOCOL_QUIC_CRYPTO:
- return transport_version != QUIC_VERSION_UNSUPPORTED &&
- 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_RFC_V2;
- case PROTOCOL_TLS1_3:
- return transport_version != QUIC_VERSION_UNSUPPORTED &&
- VersionIsIetfQuic(transport_version);
- }
- return false;
+ return TransportVersionIsValid(transport_version);
}
QUICHE_EXPORT constexpr HandshakeProtocol HandshakeProtocolForTransportVersion(
@@ -224,43 +207,23 @@
// A parsed QUIC version label which determines that handshake protocol
// and the transport version.
struct QUICHE_EXPORT ParsedQuicVersion {
- HandshakeProtocol handshake_protocol;
QuicTransportVersion transport_version;
- constexpr explicit ParsedQuicVersion(QuicTransportVersion transport_version)
- : handshake_protocol(
- HandshakeProtocolForTransportVersion(transport_version)),
- transport_version(transport_version) {
- QUICHE_DCHECK(
- ParsedQuicVersionIsValid(handshake_protocol, transport_version))
- << QuicVersionToString(transport_version) << " "
- << HandshakeProtocolToString(handshake_protocol);
- }
+ constexpr ParsedQuicVersion(QuicTransportVersion transport_version)
+ : transport_version(transport_version) {}
constexpr ParsedQuicVersion(const ParsedQuicVersion& other)
: ParsedQuicVersion(other.transport_version) {}
ParsedQuicVersion& operator=(const ParsedQuicVersion& other) {
- QUICHE_DCHECK(ParsedQuicVersionIsValid(other.handshake_protocol,
- other.transport_version))
- << QuicVersionToString(other.transport_version) << " "
- << HandshakeProtocolToString(other.handshake_protocol);
if (this != &other) {
- handshake_protocol = other.handshake_protocol;
transport_version = other.transport_version;
}
return *this;
}
- bool operator==(const ParsedQuicVersion& other) const {
- return handshake_protocol == other.handshake_protocol &&
- transport_version == other.transport_version;
- }
-
- bool operator!=(const ParsedQuicVersion& other) const {
- return handshake_protocol != other.handshake_protocol ||
- transport_version != other.transport_version;
- }
+ bool operator==(const ParsedQuicVersion& other) const = default;
+ bool operator!=(const ParsedQuicVersion& other) const = default;
static constexpr ParsedQuicVersion RFCv2() {
return ParsedQuicVersion(QUIC_VERSION_IETF_RFC_V2);
diff --git a/quiche/quic/core/quic_versions_test.cc b/quiche/quic/core/quic_versions_test.cc
index ba0c34e..ac6c847 100644
--- a/quiche/quic/core/quic_versions_test.cc
+++ b/quiche/quic/core/quic_versions_test.cc
@@ -25,36 +25,25 @@
using ::testing::IsEmpty;
TEST(QuicVersionsTest, CreateQuicVersionLabelUnsupported) {
- EXPECT_QUIC_BUG(
- CreateQuicVersionLabel(UnsupportedQuicVersion()),
- "Unsupported version QUIC_VERSION_UNSUPPORTED PROTOCOL_UNSUPPORTED");
+ EXPECT_QUIC_BUG(CreateQuicVersionLabel(UnsupportedQuicVersion()),
+ "Unsupported version QUIC_VERSION_UNSUPPORTED");
}
TEST(QuicVersionsTest, KnownAndValid) {
for (const ParsedQuicVersion& version : AllSupportedVersions()) {
EXPECT_TRUE(version.IsKnown());
- EXPECT_TRUE(ParsedQuicVersionIsValid(version.handshake_protocol,
- version.transport_version));
+ EXPECT_TRUE(ParsedQuicVersionIsValid(version.transport_version));
}
ParsedQuicVersion unsupported = UnsupportedQuicVersion();
EXPECT_FALSE(unsupported.IsKnown());
- EXPECT_TRUE(ParsedQuicVersionIsValid(unsupported.handshake_protocol,
- unsupported.transport_version));
+ EXPECT_TRUE(ParsedQuicVersionIsValid(unsupported.transport_version));
ParsedQuicVersion reserved = QuicVersionReservedForNegotiation();
EXPECT_TRUE(reserved.IsKnown());
- EXPECT_TRUE(ParsedQuicVersionIsValid(reserved.handshake_protocol,
- reserved.transport_version));
- // Check that invalid combinations are not valid.
- EXPECT_FALSE(ParsedQuicVersionIsValid(PROTOCOL_TLS1_3, QUIC_VERSION_46));
- EXPECT_FALSE(ParsedQuicVersionIsValid(PROTOCOL_QUIC_CRYPTO,
- QUIC_VERSION_IETF_DRAFT_29));
+ EXPECT_TRUE(ParsedQuicVersionIsValid(reserved.transport_version));
// Check that deprecated versions are not valid.
- EXPECT_FALSE(ParsedQuicVersionIsValid(PROTOCOL_QUIC_CRYPTO,
- static_cast<QuicTransportVersion>(33)));
- EXPECT_FALSE(ParsedQuicVersionIsValid(PROTOCOL_QUIC_CRYPTO,
- static_cast<QuicTransportVersion>(99)));
- EXPECT_FALSE(ParsedQuicVersionIsValid(PROTOCOL_TLS1_3,
- static_cast<QuicTransportVersion>(99)));
+ EXPECT_FALSE(ParsedQuicVersionIsValid(static_cast<QuicTransportVersion>(33)));
+ EXPECT_FALSE(ParsedQuicVersionIsValid(static_cast<QuicTransportVersion>(43)));
+ EXPECT_FALSE(ParsedQuicVersionIsValid(static_cast<QuicTransportVersion>(99)));
}
TEST(QuicVersionsTest, Features) {
@@ -420,18 +409,17 @@
TEST(QuicVersionsTest, SupportedVersionsHasCorrectList) {
size_t index = 0;
- for (HandshakeProtocol handshake_protocol : SupportedHandshakeProtocols()) {
- for (int trans_vers = 255; trans_vers > 0; trans_vers--) {
- QuicTransportVersion transport_version =
- static_cast<QuicTransportVersion>(trans_vers);
- SCOPED_TRACE(index);
- if (ParsedQuicVersionIsValid(handshake_protocol, transport_version)) {
- ParsedQuicVersion version = SupportedVersions()[index];
- EXPECT_EQ(version, ParsedQuicVersion(transport_version));
- index++;
- }
+ for (int trans_vers = 255; trans_vers > 0; trans_vers--) {
+ QuicTransportVersion transport_version =
+ static_cast<QuicTransportVersion>(trans_vers);
+ SCOPED_TRACE(index);
+ if (ParsedQuicVersionIsValid(transport_version)) {
+ ParsedQuicVersion version = SupportedVersions()[index];
+ EXPECT_EQ(version, ParsedQuicVersion(transport_version));
+ index++;
}
}
+
EXPECT_EQ(SupportedVersions().size(), index);
}