Index: net/quic/crypto/quic_crypto_client_config.h |
diff --git a/net/quic/crypto/quic_crypto_client_config.h b/net/quic/crypto/quic_crypto_client_config.h |
index 8aa4527bd735f9f5dc6e7383939677d5462a32cd..131e6da4fe119229760279c6e4c8398c757193b6 100644 |
--- a/net/quic/crypto/quic_crypto_client_config.h |
+++ b/net/quic/crypto/quic_crypto_client_config.h |
@@ -208,6 +208,18 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
QuicCryptoNegotiatedParameters* out_params, |
std::string* error_details); |
+ // Processes the message in |server_update|, updating the cached source |
+ // address token, and server config. |
+ // If |server_update| is invalid then |error_details| will contain an error |
+ // message, and an error code will be returned. If all has gone well |
+ // QUIC_NO_ERROR is returned. |
+ QuicErrorCode ProcessServerConfigUpdate( |
+ const CryptoHandshakeMessage& server_update, |
+ QuicWallTime now, |
+ CachedState* cached, |
+ QuicCryptoNegotiatedParameters* out_params, |
+ std::string* error_details); |
+ |
ProofVerifier* proof_verifier() const; |
// SetProofVerifier takes ownership of a |ProofVerifier| that clients are |
@@ -255,6 +267,17 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
private: |
typedef std::map<QuicServerId, CachedState*> CachedStateMap; |
+ // CacheNewServerConfig checks for SCFG, STK, PROF, and CRT tags in |message|, |
+ // verifies them, and stores them in the cached state if they validate. |
+ // This is used on receipt of a REJ from a server, or when a server sends |
+ // updated server config during a connection. |
+ QuicErrorCode CacheNewServerConfig( |
+ const CryptoHandshakeMessage& message, |
+ QuicWallTime now, |
+ const std::vector<std::string>& cached_certs, |
+ CachedState* cached, |
+ std::string* error_details); |
+ |
// If the suffix of the hostname in |server_id| is in |canoncial_suffixes_|, |
// then populate |cached| with the canonical cached state from |
// |canonical_server_map_| for that suffix. |