| Index: net/quic/crypto/crypto_handshake.cc
|
| diff --git a/net/quic/crypto/crypto_handshake.cc b/net/quic/crypto/crypto_handshake.cc
|
| index be296be7db660eea0050c5797d728ef6e00bf7d0..66a83de4cf4c306a5dedea996df77fa9c575220f 100644
|
| --- a/net/quic/crypto/crypto_handshake.cc
|
| +++ b/net/quic/crypto/crypto_handshake.cc
|
| @@ -357,7 +357,8 @@ QuicCryptoClientConfig::~QuicCryptoClientConfig() {
|
| }
|
|
|
| QuicCryptoClientConfig::CachedState::CachedState()
|
| - : server_config_valid_(false) {}
|
| + : server_config_valid_(false),
|
| + generation_counter_(0) {}
|
|
|
| QuicCryptoClientConfig::CachedState::~CachedState() {}
|
|
|
| @@ -430,6 +431,7 @@ QuicErrorCode QuicCryptoClientConfig::CachedState::SetServerConfig(
|
| if (!matches_existing) {
|
| server_config_ = server_config.as_string();
|
| server_config_valid_ = false;
|
| + ++generation_counter_;
|
| scfg_.reset(new_scfg_storage.release());
|
| }
|
| return QUIC_NO_ERROR;
|
| @@ -439,6 +441,7 @@ void QuicCryptoClientConfig::CachedState::InvalidateServerConfig() {
|
| server_config_.clear();
|
| scfg_.reset();
|
| server_config_valid_ = false;
|
| + ++generation_counter_;
|
| }
|
|
|
| void QuicCryptoClientConfig::CachedState::SetProof(const vector<string>& certs,
|
| @@ -461,6 +464,7 @@ void QuicCryptoClientConfig::CachedState::SetProof(const vector<string>& certs,
|
|
|
| // If the proof has changed then it needs to be revalidated.
|
| server_config_valid_ = false;
|
| + ++generation_counter_;
|
| certs_ = certs;
|
| server_config_sig_ = signature.as_string();
|
| }
|
| @@ -490,6 +494,10 @@ bool QuicCryptoClientConfig::CachedState::proof_valid() const {
|
| return server_config_valid_;
|
| }
|
|
|
| +uint64 QuicCryptoClientConfig::CachedState::generation_counter() const {
|
| + return generation_counter_;
|
| +}
|
| +
|
| void QuicCryptoClientConfig::CachedState::set_source_address_token(
|
| StringPiece token) {
|
| source_address_token_ = token.as_string();
|
| @@ -836,7 +844,7 @@ QuicErrorCode QuicCryptoClientConfig::ProcessServerHello(
|
| return QUIC_NO_ERROR;
|
| }
|
|
|
| -const ProofVerifier* QuicCryptoClientConfig::proof_verifier() const {
|
| +ProofVerifier* QuicCryptoClientConfig::proof_verifier() const {
|
| return proof_verifier_.get();
|
| }
|
|
|
|
|