Index: net/quic/crypto/crypto_handshake.h |
diff --git a/net/quic/crypto/crypto_handshake.h b/net/quic/crypto/crypto_handshake.h |
index e702bb66871924b5bc008d8f8eb2b7b35c96af42..89e707bcb61d54fceadc335c3af3ac4b841da593 100644 |
--- a/net/quic/crypto/crypto_handshake.h |
+++ b/net/quic/crypto/crypto_handshake.h |
@@ -268,6 +268,11 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
// (Note: this does not check the chain or signature.) |
void SetProofValid(); |
+ // If the server config or the proof has changed then it needs to be |
+ // revalidated. Helper function to keep server_config_valid_ and |
+ // generation_counter_ in sync. |
+ void SetProofInvalid(); |
+ |
const std::string& server_config() const; |
const std::string& source_address_token() const; |
const std::vector<std::string>& certs() const; |
@@ -287,9 +292,10 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
bool server_config_valid_; // True if |server_config_| is correctly |
// signed and |certs_| has been |
// validated. |
- uint64 generation_counter_; // Generation counter associated with |
- // the |server_config_|, |certs_| and |
- // |server_config_sig_| combination. |
+ // Generation counter associated with the |server_config_|, |certs_| and |
+ // |server_config_sig_| combination. It is incremented whenever we set |
+ // server_config_valid_ to false. |
+ uint64 generation_counter_; |
// scfg contains the cached, parsed value of |server_config|. |
mutable scoped_ptr<CryptoHandshakeMessage> scfg_; |