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_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 5 #ifndef NET_QUIC_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
6 #define NET_QUIC_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 6 #define NET_QUIC_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
7 | 7 |
8 #include <cstddef> | 8 #include <cstddef> |
9 #include <cstdint> | 9 #include <cstdint> |
10 #include <map> | 10 #include <map> |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 const QuicIpAddress& client_ip, | 342 const QuicIpAddress& client_ip, |
343 const QuicClock* clock, | 343 const QuicClock* clock, |
344 QuicRandom* rand, | 344 QuicRandom* rand, |
345 QuicCompressedCertsCache* compressed_certs_cache, | 345 QuicCompressedCertsCache* compressed_certs_cache, |
346 const QuicCryptoNegotiatedParameters& params, | 346 const QuicCryptoNegotiatedParameters& params, |
347 const CachedNetworkParameters* cached_network_params, | 347 const CachedNetworkParameters* cached_network_params, |
348 const QuicTagVector& connection_options, | 348 const QuicTagVector& connection_options, |
349 std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const; | 349 std::unique_ptr<BuildServerConfigUpdateMessageResultCallback> cb) const; |
350 | 350 |
351 // SetEphemeralKeySource installs an object that can cache ephemeral keys for | 351 // SetEphemeralKeySource installs an object that can cache ephemeral keys for |
352 // a short period of time. This object takes ownership of | 352 // a short period of time. If not set, ephemeral keys will be generated |
353 // |ephemeral_key_source|. If not set then ephemeral keys will be generated | |
354 // per-connection. | 353 // per-connection. |
355 void SetEphemeralKeySource(EphemeralKeySource* ephemeral_key_source); | 354 void SetEphemeralKeySource( |
| 355 std::unique_ptr<EphemeralKeySource> ephemeral_key_source); |
356 | 356 |
357 // set_replay_protection controls whether replay protection is enabled. If | 357 // set_replay_protection controls whether replay protection is enabled. If |
358 // replay protection is disabled then no strike registers are needed and | 358 // replay protection is disabled then no strike registers are needed and |
359 // frontends can share an orbit value without a shared strike-register. | 359 // frontends can share an orbit value without a shared strike-register. |
360 // However, an attacker can duplicate a handshake and cause a client's | 360 // However, an attacker can duplicate a handshake and cause a client's |
361 // request to be processed twice. | 361 // request to be processed twice. |
362 void set_replay_protection(bool on); | 362 void set_replay_protection(bool on); |
363 | 363 |
364 // set_chlo_multiplier specifies the multiple of the CHLO message size | 364 // set_chlo_multiplier specifies the multiple of the CHLO message size |
365 // that a REJ message must stay under when the client doesn't present a | 365 // that a REJ message must stay under when the client doesn't present a |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> config; | 770 QuicReferenceCountedPointer<QuicCryptoServerConfig::Config> config; |
771 std::string primary_scid; | 771 std::string primary_scid; |
772 | 772 |
773 protected: | 773 protected: |
774 ~QuicSignedServerConfig() override; | 774 ~QuicSignedServerConfig() override; |
775 }; | 775 }; |
776 | 776 |
777 } // namespace net | 777 } // namespace net |
778 | 778 |
779 #endif // NET_QUIC_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 779 #endif // NET_QUIC_CORE_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
OLD | NEW |