Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2241)

Unified Diff: net/quic/crypto/quic_crypto_server_config.cc

Issue 490263003: When talking >=QUIC_VERSION_22, regularly send updated bandwidth (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/crypto/quic_crypto_server_config.cc
diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc
index bfd3ed34982a946a174c0c2bf07ad4452119faf6..d805fab5d9d8a151ee99e512ae27e43442a16d03 100644
--- a/net/quic/crypto/quic_crypto_server_config.cc
+++ b/net/quic/crypto/quic_crypto_server_config.cc
@@ -775,8 +775,10 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello(
out->SetStringPiece(kSourceAddressTokenTag,
NewSourceAddressToken(
*requested_config,
- client_address, rand,
- info.now));
+ client_address,
+ rand,
+ info.now,
+ NULL));
QuicSocketAddressCoder address_coder(client_address);
out->SetStringPiece(kCADR, address_coder.Encode());
out->SetStringPiece(kPUBS, forward_secure_public_value);
@@ -1044,6 +1046,7 @@ bool QuicCryptoServerConfig::BuildServerConfigUpdateMessage(
const QuicClock* clock,
QuicRandom* rand,
const QuicCryptoNegotiatedParameters& params,
+ const CachedNetworkParameters* cached_network_params,
CryptoHandshakeMessage* out) const {
base::AutoLock locked(configs_lock_);
out->set_tag(kSCUP);
@@ -1052,7 +1055,8 @@ bool QuicCryptoServerConfig::BuildServerConfigUpdateMessage(
NewSourceAddressToken(*primary_config_,
client_ip,
rand,
- clock->WallNow()));
+ clock->WallNow(),
+ cached_network_params));
if (proof_source_ == NULL) {
// Insecure QUIC, can send SCFG without proof.
@@ -1091,7 +1095,8 @@ void QuicCryptoServerConfig::BuildRejection(
config,
info.client_ip,
rand,
- info.now));
+ info.now,
+ NULL));
if (replay_protection_) {
out->SetStringPiece(kServerNonceTag, NewServerNonce(rand, info.now));
}
@@ -1409,17 +1414,22 @@ void QuicCryptoServerConfig::AcquirePrimaryConfigChangedCb(
primary_config_changed_cb_.reset(cb);
}
-string QuicCryptoServerConfig::NewSourceAddressToken(const Config& config,
- const IPEndPoint& ip,
- QuicRandom* rand,
- QuicWallTime now) const {
- SourceAddressToken source_address_token;
+string QuicCryptoServerConfig::NewSourceAddressToken(
+ const Config& config,
+ const IPEndPoint& ip,
+ QuicRandom* rand,
+ QuicWallTime now,
+ const CachedNetworkParameters* cached_network_params) const {
IPAddressNumber ip_address = ip.address();
if (ip.GetSockAddrFamily() == AF_INET) {
ip_address = ConvertIPv4NumberToIPv6Number(ip_address);
}
+ SourceAddressToken source_address_token;
source_address_token.set_ip(IPAddressToPackedString(ip_address));
source_address_token.set_timestamp(now.ToUNIXSeconds());
+ if (cached_network_params != NULL) {
+ source_address_token.set_cached_network_parameters(*cached_network_params);
+ }
return config.source_address_token_boxer->Box(
rand, source_address_token.SerializeAsString());

Powered by Google App Engine
This is Rietveld 408576698