Chromium Code Reviews| 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 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 void InitializeFrom(const QuicSessionKey& server_key, | 217 void InitializeFrom(const QuicSessionKey& server_key, |
| 218 const QuicSessionKey& canonical_server_key, | 218 const QuicSessionKey& canonical_server_key, |
| 219 QuicCryptoClientConfig* canonical_crypto_config); | 219 QuicCryptoClientConfig* canonical_crypto_config); |
| 220 | 220 |
| 221 // Adds |suffix| as a domain suffix for which the server's crypto config | 221 // Adds |suffix| as a domain suffix for which the server's crypto config |
| 222 // is expected to be shared among servers with the domain suffix. If a server | 222 // is expected to be shared among servers with the domain suffix. If a server |
| 223 // matches this suffix, then the server config from another server with the | 223 // matches this suffix, then the server config from another server with the |
| 224 // suffix will be used to initialize the cached state for this server. | 224 // suffix will be used to initialize the cached state for this server. |
| 225 void AddCanonicalSuffix(const std::string& suffix); | 225 void AddCanonicalSuffix(const std::string& suffix); |
| 226 | 226 |
| 227 // Disables the use of ECDSA for certificate validation. | |
|
wtc
2014/03/25 14:58:11
Nit: we should refer to this as "proof validation"
Ryan Hamilton
2014/03/27 19:06:39
Done.
| |
| 228 void DisableEcdsa(); | |
| 229 | |
| 227 private: | 230 private: |
| 228 typedef std::map<QuicSessionKey, CachedState*> CachedStateMap; | 231 typedef std::map<QuicSessionKey, CachedState*> CachedStateMap; |
| 229 | 232 |
| 230 // If the suffix of the hostname in |server_key| is in |canoncial_suffixes_|, | 233 // If the suffix of the hostname in |server_key| is in |canoncial_suffixes_|, |
| 231 // then populate |cached| with the canonical cached state from | 234 // then populate |cached| with the canonical cached state from |
| 232 // |canonical_server_map_| for that suffix. | 235 // |canonical_server_map_| for that suffix. |
| 233 void PopulateFromCanonicalConfig(const QuicSessionKey& server_key, | 236 void PopulateFromCanonicalConfig(const QuicSessionKey& server_key, |
| 234 CachedState* cached); | 237 CachedState* cached); |
| 235 | 238 |
| 236 // cached_states_ maps from the server_key to the cached information about | 239 // cached_states_ maps from the server_key to the cached information about |
| 237 // that server. | 240 // that server. |
| 238 CachedStateMap cached_states_; | 241 CachedStateMap cached_states_; |
| 239 | 242 |
| 240 // Contains a map of servers which could share the same server config. Map | 243 // Contains a map of servers which could share the same server config. Map |
| 241 // from a canonical host suffix/port/scheme to a representative server with | 244 // from a canonical host suffix/port/scheme to a representative server with |
| 242 // the canonical suffix, which has a plausible set of initial certificates | 245 // the canonical suffix, which has a plausible set of initial certificates |
| 243 // (or at least server public key). | 246 // (or at least server public key). |
| 244 std::map<QuicSessionKey, QuicSessionKey> canonical_server_map_; | 247 std::map<QuicSessionKey, QuicSessionKey> canonical_server_map_; |
| 245 | 248 |
| 246 // Contains list of suffixes (for exmaple ".c.youtube.com", | 249 // Contains list of suffixes (for exmaple ".c.youtube.com", |
| 247 // ".googlevideo.com") of canoncial hostnames. | 250 // ".googlevideo.com") of canoncial hostnames. |
| 248 std::vector<std::string> canoncial_suffixes_; | 251 std::vector<std::string> canoncial_suffixes_; |
| 249 | 252 |
| 250 scoped_ptr<ProofVerifier> proof_verifier_; | 253 scoped_ptr<ProofVerifier> proof_verifier_; |
| 251 scoped_ptr<ChannelIDSigner> channel_id_signer_; | 254 scoped_ptr<ChannelIDSigner> channel_id_signer_; |
| 252 | 255 |
| 256 // True if ECDSA should be disabled. | |
| 257 bool disable_ecdsa_; | |
| 258 | |
| 253 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); | 259 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); |
| 254 }; | 260 }; |
| 255 | 261 |
| 256 } // namespace net | 262 } // namespace net |
| 257 | 263 |
| 258 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 264 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
| OLD | NEW |