OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 5 #ifndef NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 void DisableEcdsa(); | 248 void DisableEcdsa(); |
249 | 249 |
250 // Saves the |user_agent_id| that will be passed in QUIC's CHLO message. | 250 // Saves the |user_agent_id| that will be passed in QUIC's CHLO message. |
251 void set_user_agent_id(const std::string& user_agent_id) { | 251 void set_user_agent_id(const std::string& user_agent_id) { |
252 user_agent_id_ = user_agent_id; | 252 user_agent_id_ = user_agent_id; |
253 } | 253 } |
254 | 254 |
255 private: | 255 private: |
256 typedef std::map<QuicServerId, CachedState*> CachedStateMap; | 256 typedef std::map<QuicServerId, CachedState*> CachedStateMap; |
257 | 257 |
| 258 // CacheNewServerConfig checks for SCFG, STK, and PROF tags in |message|, |
| 259 // verifies them, and stores them in the cached state if they validate. |
| 260 // This is used on receipt of a REJ from a server, or when a server sends |
| 261 // updated server config during a connection. |
| 262 QuicErrorCode CacheNewServerConfig(const CryptoHandshakeMessage& message, |
| 263 QuicWallTime now, |
| 264 CachedState* cached, |
| 265 QuicCryptoNegotiatedParameters* out_params, |
| 266 std::string* error_details); |
| 267 |
258 // If the suffix of the hostname in |server_id| is in |canoncial_suffixes_|, | 268 // If the suffix of the hostname in |server_id| is in |canoncial_suffixes_|, |
259 // then populate |cached| with the canonical cached state from | 269 // then populate |cached| with the canonical cached state from |
260 // |canonical_server_map_| for that suffix. | 270 // |canonical_server_map_| for that suffix. |
261 void PopulateFromCanonicalConfig(const QuicServerId& server_id, | 271 void PopulateFromCanonicalConfig(const QuicServerId& server_id, |
262 CachedState* cached); | 272 CachedState* cached); |
263 | 273 |
264 // cached_states_ maps from the server_id to the cached information about | 274 // cached_states_ maps from the server_id to the cached information about |
265 // that server. | 275 // that server. |
266 CachedStateMap cached_states_; | 276 CachedStateMap cached_states_; |
267 | 277 |
(...skipping 15 matching lines...) Expand all Loading... |
283 | 293 |
284 // The |user_agent_id_| passed in QUIC's CHLO message. | 294 // The |user_agent_id_| passed in QUIC's CHLO message. |
285 std::string user_agent_id_; | 295 std::string user_agent_id_; |
286 | 296 |
287 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); | 297 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); |
288 }; | 298 }; |
289 | 299 |
290 } // namespace net | 300 } // namespace net |
291 | 301 |
292 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 302 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
OLD | NEW |