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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 QuicVersion version, | 345 QuicVersion version, |
346 base::StringPiece chlo_hash, | 346 base::StringPiece chlo_hash, |
347 const SourceAddressTokens& previous_source_address_tokens, | 347 const SourceAddressTokens& previous_source_address_tokens, |
348 const IPAddress& server_ip, | 348 const IPAddress& server_ip, |
349 const IPAddress& client_ip, | 349 const IPAddress& client_ip, |
350 const QuicClock* clock, | 350 const QuicClock* clock, |
351 QuicRandom* rand, | 351 QuicRandom* rand, |
352 QuicCompressedCertsCache* compressed_certs_cache, | 352 QuicCompressedCertsCache* compressed_certs_cache, |
353 const QuicCryptoNegotiatedParameters& params, | 353 const QuicCryptoNegotiatedParameters& params, |
354 const CachedNetworkParameters* cached_network_params, | 354 const CachedNetworkParameters* cached_network_params, |
| 355 const QuicTagVector& connection_options, |
355 CryptoHandshakeMessage* out) const; | 356 CryptoHandshakeMessage* out) const; |
356 | 357 |
357 // BuildServerConfigUpdateMessage invokes |cb| with a SCUP message containing | 358 // BuildServerConfigUpdateMessage invokes |cb| with a SCUP message containing |
358 // the current primary config, an up to date source-address token, and cert | 359 // the current primary config, an up to date source-address token, and cert |
359 // chain and proof in the case of secure QUIC. Passes true to |cb| if the | 360 // chain and proof in the case of secure QUIC. Passes true to |cb| if the |
360 // message was generated successfully, and false otherwise. This method | 361 // message was generated successfully, and false otherwise. This method |
361 // assumes ownership of |cb|. | 362 // assumes ownership of |cb|. |
362 // | 363 // |
363 // |cached_network_params| is optional, and can be nullptr. | 364 // |cached_network_params| is optional, and can be nullptr. |
364 // | 365 // |
365 // TODO(gredner): This method is an async version of the above. The | 366 // TODO(gredner): This method is an async version of the above. The |
366 // synchronous version will eventually be removed. | 367 // synchronous version will eventually be removed. |
367 void BuildServerConfigUpdateMessage( | 368 void BuildServerConfigUpdateMessage( |
368 QuicVersion version, | 369 QuicVersion version, |
369 base::StringPiece chlo_hash, | 370 base::StringPiece chlo_hash, |
370 const SourceAddressTokens& previous_source_address_tokens, | 371 const SourceAddressTokens& previous_source_address_tokens, |
371 const IPAddress& server_ip, | 372 const IPAddress& server_ip, |
372 const IPAddress& client_ip, | 373 const IPAddress& client_ip, |
373 const QuicClock* clock, | 374 const QuicClock* clock, |
374 QuicRandom* rand, | 375 QuicRandom* rand, |
375 QuicCompressedCertsCache* compressed_certs_cache, | 376 QuicCompressedCertsCache* compressed_certs_cache, |
376 const QuicCryptoNegotiatedParameters& params, | 377 const QuicCryptoNegotiatedParameters& params, |
377 const CachedNetworkParameters* cached_network_params, | 378 const CachedNetworkParameters* cached_network_params, |
| 379 const QuicTagVector& connection_options, |
378 std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const; | 380 std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const; |
379 | 381 |
380 // SetEphemeralKeySource installs an object that can cache ephemeral keys for | 382 // SetEphemeralKeySource installs an object that can cache ephemeral keys for |
381 // a short period of time. This object takes ownership of | 383 // a short period of time. This object takes ownership of |
382 // |ephemeral_key_source|. If not set then ephemeral keys will be generated | 384 // |ephemeral_key_source|. If not set then ephemeral keys will be generated |
383 // per-connection. | 385 // per-connection. |
384 void SetEphemeralKeySource(EphemeralKeySource* ephemeral_key_source); | 386 void SetEphemeralKeySource(EphemeralKeySource* ephemeral_key_source); |
385 | 387 |
386 // Install an externally created StrikeRegisterClient for use to | 388 // Install an externally created StrikeRegisterClient for use to |
387 // interact with the strike register. This object takes ownership | 389 // interact with the strike register. This object takes ownership |
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
859 std::string primary_scid; | 861 std::string primary_scid; |
860 | 862 |
861 private: | 863 private: |
862 friend class base::RefCounted<QuicCryptoProof>; | 864 friend class base::RefCounted<QuicCryptoProof>; |
863 virtual ~QuicCryptoProof(); | 865 virtual ~QuicCryptoProof(); |
864 }; | 866 }; |
865 | 867 |
866 } // namespace net | 868 } // namespace net |
867 | 869 |
868 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 870 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
OLD | NEW |