| 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_SERVER_CONFIG_H_ | 5 #ifndef NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
| 6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 // clock: used to validate client nonces and ephemeral keys. | 259 // clock: used to validate client nonces and ephemeral keys. |
| 260 // rand: an entropy source | 260 // rand: an entropy source |
| 261 // compressed_certs_cache: the cache that caches a set of most recently used | 261 // compressed_certs_cache: the cache that caches a set of most recently used |
| 262 // certs. Owned by QuicDispatcher. | 262 // certs. Owned by QuicDispatcher. |
| 263 // params: the state of the handshake. This may be updated with a server | 263 // params: the state of the handshake. This may be updated with a server |
| 264 // nonce when we send a rejection. After a successful handshake, this will | 264 // nonce when we send a rejection. After a successful handshake, this will |
| 265 // contain the state of the connection. | 265 // contain the state of the connection. |
| 266 // crypto_proof: output structure containing the crypto proof used in reply to | 266 // crypto_proof: output structure containing the crypto proof used in reply to |
| 267 // a proof demand. | 267 // a proof demand. |
| 268 // out: the resulting handshake message (either REJ or SHLO) | 268 // out: the resulting handshake message (either REJ or SHLO) |
| 269 // error_details: used to store a string describing any error. | 269 // out_diversification_nonce: If the resulting handshake message is SHLO and |
| 270 // the version is greater than QUIC_VERSION_32 then this contains a |
| 271 // 32-byte value that should be included in the public header of |
| 272 // initially encrypted packets. |
| 273 // error_details: used to store a std::string describing any error. |
| 270 QuicErrorCode ProcessClientHello( | 274 QuicErrorCode ProcessClientHello( |
| 271 const ValidateClientHelloResultCallback::Result& validate_chlo_result, | 275 const ValidateClientHelloResultCallback::Result& validate_chlo_result, |
| 272 QuicConnectionId connection_id, | 276 QuicConnectionId connection_id, |
| 273 const IPAddress& server_ip, | 277 const IPAddress& server_ip, |
| 274 const IPEndPoint& client_address, | 278 const IPEndPoint& client_address, |
| 275 QuicVersion version, | 279 QuicVersion version, |
| 276 const QuicVersionVector& supported_versions, | 280 const QuicVersionVector& supported_versions, |
| 277 bool use_stateless_rejects, | 281 bool use_stateless_rejects, |
| 278 QuicConnectionId server_designated_connection_id, | 282 QuicConnectionId server_designated_connection_id, |
| 279 const QuicClock* clock, | 283 const QuicClock* clock, |
| 280 QuicRandom* rand, | 284 QuicRandom* rand, |
| 281 QuicCompressedCertsCache* compressed_certs_cache, | 285 QuicCompressedCertsCache* compressed_certs_cache, |
| 282 QuicCryptoNegotiatedParameters* params, | 286 QuicCryptoNegotiatedParameters* params, |
| 283 QuicCryptoProof* crypto_proof, | 287 QuicCryptoProof* crypto_proof, |
| 284 CryptoHandshakeMessage* out, | 288 CryptoHandshakeMessage* out, |
| 289 DiversificationNonce* out_diversification_nonce, |
| 285 std::string* error_details) const; | 290 std::string* error_details) const; |
| 286 | 291 |
| 287 // BuildServerConfigUpdateMessage sets |out| to be a SCUP message containing | 292 // BuildServerConfigUpdateMessage sets |out| to be a SCUP message containing |
| 288 // the current primary config, an up to date source-address token, and cert | 293 // the current primary config, an up to date source-address token, and cert |
| 289 // chain and proof in the case of secure QUIC. Returns true if successfully | 294 // chain and proof in the case of secure QUIC. Returns true if successfully |
| 290 // filled |out|. | 295 // filled |out|. |
| 291 // | 296 // |
| 292 // |cached_network_params| is optional, and can be nullptr. | 297 // |cached_network_params| is optional, and can be nullptr. |
| 293 bool BuildServerConfigUpdateMessage( | 298 bool BuildServerConfigUpdateMessage( |
| 294 QuicVersion version, | 299 QuicVersion version, |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 std::string cert_sct; | 665 std::string cert_sct; |
| 661 // The server config that is used for this proof (and the rest of the | 666 // The server config that is used for this proof (and the rest of the |
| 662 // request). | 667 // request). |
| 663 scoped_refptr<QuicCryptoServerConfig::Config> config; | 668 scoped_refptr<QuicCryptoServerConfig::Config> config; |
| 664 std::string primary_scid; | 669 std::string primary_scid; |
| 665 }; | 670 }; |
| 666 | 671 |
| 667 } // namespace net | 672 } // namespace net |
| 668 | 673 |
| 669 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 674 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
| OLD | NEW |