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 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 | 459 |
460 // is_primary is true if this config is the one that we'll give out to | 460 // is_primary is true if this config is the one that we'll give out to |
461 // clients as the current one. | 461 // clients as the current one. |
462 bool is_primary; | 462 bool is_primary; |
463 | 463 |
464 // primary_time contains the timestamp when this config should become the | 464 // primary_time contains the timestamp when this config should become the |
465 // primary config. A value of QuicWallTime::Zero() means that this config | 465 // primary config. A value of QuicWallTime::Zero() means that this config |
466 // will not be promoted at a specific time. | 466 // will not be promoted at a specific time. |
467 QuicWallTime primary_time; | 467 QuicWallTime primary_time; |
468 | 468 |
| 469 // expiry_time contains the timestamp when this config expires. |
| 470 QuicWallTime expiry_time; |
| 471 |
469 // Secondary sort key for use when selecting primary configs and | 472 // Secondary sort key for use when selecting primary configs and |
470 // there are multiple configs with the same primary time. | 473 // there are multiple configs with the same primary time. |
471 // Smaller numbers mean higher priority. | 474 // Smaller numbers mean higher priority. |
472 uint64_t priority; | 475 uint64_t priority; |
473 | 476 |
474 // source_address_token_boxer_ is used to protect the | 477 // source_address_token_boxer_ is used to protect the |
475 // source-address tokens that are given to clients. | 478 // source-address tokens that are given to clients. |
476 // Points to either source_address_token_boxer_storage or the | 479 // Points to either source_address_token_boxer_storage or the |
477 // default boxer provided by QuicCryptoServerConfig. | 480 // default boxer provided by QuicCryptoServerConfig. |
478 const CryptoSecretBoxer* source_address_token_boxer; | 481 const CryptoSecretBoxer* source_address_token_boxer; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 scoped_refptr<Config> requested_config, | 538 scoped_refptr<Config> requested_config, |
536 scoped_refptr<Config> primary_config, | 539 scoped_refptr<Config> primary_config, |
537 QuicCryptoProof* crypto_proof, | 540 QuicCryptoProof* crypto_proof, |
538 std::unique_ptr<ProofSource::Details> proof_source_details, | 541 std::unique_ptr<ProofSource::Details> proof_source_details, |
539 bool get_proof_failed, | 542 bool get_proof_failed, |
540 ValidateClientHelloResultCallback::Result* client_hello_state, | 543 ValidateClientHelloResultCallback::Result* client_hello_state, |
541 ValidateClientHelloResultCallback* done_cb) const; | 544 ValidateClientHelloResultCallback* done_cb) const; |
542 | 545 |
543 // BuildRejection sets |out| to be a REJ message in reply to |client_hello|. | 546 // BuildRejection sets |out| to be a REJ message in reply to |client_hello|. |
544 void BuildRejection(QuicVersion version, | 547 void BuildRejection(QuicVersion version, |
| 548 QuicWallTime now, |
545 const Config& config, | 549 const Config& config, |
546 const CryptoHandshakeMessage& client_hello, | 550 const CryptoHandshakeMessage& client_hello, |
547 const ClientHelloInfo& info, | 551 const ClientHelloInfo& info, |
548 const CachedNetworkParameters& cached_network_params, | 552 const CachedNetworkParameters& cached_network_params, |
549 bool use_stateless_rejects, | 553 bool use_stateless_rejects, |
550 QuicConnectionId server_designated_connection_id, | 554 QuicConnectionId server_designated_connection_id, |
551 QuicRandom* rand, | 555 QuicRandom* rand, |
552 QuicCompressedCertsCache* compressed_certs_cache, | 556 QuicCompressedCertsCache* compressed_certs_cache, |
553 QuicCryptoNegotiatedParameters* params, | 557 QuicCryptoNegotiatedParameters* params, |
554 const QuicCryptoProof& crypto_proof, | 558 const QuicCryptoProof& crypto_proof, |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 std::string cert_sct; | 789 std::string cert_sct; |
786 // The server config that is used for this proof (and the rest of the | 790 // The server config that is used for this proof (and the rest of the |
787 // request). | 791 // request). |
788 scoped_refptr<QuicCryptoServerConfig::Config> config; | 792 scoped_refptr<QuicCryptoServerConfig::Config> config; |
789 std::string primary_scid; | 793 std::string primary_scid; |
790 }; | 794 }; |
791 | 795 |
792 } // namespace net | 796 } // namespace net |
793 | 797 |
794 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ | 798 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_SERVER_CONFIG_H_ |
OLD | NEW |