Commit 94908eb4 authored by David Schinazi's avatar David Schinazi Committed by Commit Bot

Ignore deprecated QUIC versions in AltServiceInfo

Bug: 1061509
Change-Id: I097d6fd22524bb2e211c907037dd3e0dcd7fa191
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2106416
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Auto-Submit: David Schinazi <dschinazi@chromium.org>
Reviewed-by: default avatarZhongyi Shi <zhongyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751212}
parent b4690b25
......@@ -529,6 +529,7 @@ bool HttpServerPropertiesManager::ParseAlternativeServiceInfoDictOfServer(
}
// Advertised versions list is optional.
// It is only used for PROTOCOL_QUIC_CRYPTO versions.
if (dict.HasKey(kAdvertisedVersionsKey)) {
const base::ListValue* versions_list = nullptr;
if (!dict.GetListWithoutPathExpansion(kAdvertisedVersionsKey,
......@@ -545,8 +546,13 @@ bool HttpServerPropertiesManager::ParseAlternativeServiceInfoDictOfServer(
<< server_str;
return false;
}
// TODO(nharper): Support ParsedQuicVersions (instead of
// QuicTransportVersions) in AlternativeServiceMap.
if (!quic::ParsedQuicVersionIsValid(
quic::PROTOCOL_QUIC_CRYPTO,
quic::QuicTransportVersion(version))) {
// This version is not valid, this can happen if we've deprecated
// a version that used to be valid.
continue;
}
advertised_versions.push_back(quic::ParsedQuicVersion(
quic::PROTOCOL_QUIC_CRYPTO, quic::QuicTransportVersion(version)));
}
......
......@@ -1567,7 +1567,9 @@ TEST_F(HttpServerPropertiesManagerTest, ReadAdvertisedVersionsFromPref) {
"{\"port\":443,\"protocol_str\":\"quic\"},"
"{\"port\":123,\"protocol_str\":\"quic\","
"\"expiration\":\"9223372036854775807\","
"\"advertised_versions\":[46,43]}]}");
// Add 33 which we know is not supported, as regression test for
// https://crbug.com/1061509
"\"advertised_versions\":[33,46,43]}]}");
ASSERT_TRUE(server_value);
base::DictionaryValue* server_dict;
ASSERT_TRUE(server_value->GetAsDictionary(&server_dict));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment