| 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 #include "net/quic/crypto/quic_crypto_server_config.h" | 5 #include "net/quic/crypto/quic_crypto_server_config.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 SelectNewPrimaryConfig(now); | 515 SelectNewPrimaryConfig(now); |
| 516 DCHECK(primary_config_.get()); | 516 DCHECK(primary_config_.get()); |
| 517 DCHECK_EQ(configs_.find(primary_config_->id)->second, primary_config_); | 517 DCHECK_EQ(configs_.find(primary_config_->id)->second, primary_config_); |
| 518 } | 518 } |
| 519 | 519 |
| 520 memcpy(primary_orbit, primary_config_->orbit, sizeof(primary_orbit)); | 520 memcpy(primary_orbit, primary_config_->orbit, sizeof(primary_orbit)); |
| 521 } | 521 } |
| 522 | 522 |
| 523 requested_config = GetConfigWithScid(requested_scid); | 523 requested_config = GetConfigWithScid(requested_scid); |
| 524 primary_config = primary_config_; | 524 primary_config = primary_config_; |
| 525 crypto_proof->primary_scid = primary_config->id; | 525 if (FLAGS_quic_crypto_proof_use_ref) { |
| 526 crypto_proof->config = primary_config_; |
| 527 } else { |
| 528 crypto_proof->primary_scid = primary_config->id; |
| 529 } |
| 526 } | 530 } |
| 527 | 531 |
| 528 if (result->error_code == QUIC_NO_ERROR) { | 532 if (result->error_code == QUIC_NO_ERROR) { |
| 529 EvaluateClientHello(server_ip, version, primary_orbit, requested_config, | 533 EvaluateClientHello(server_ip, version, primary_orbit, requested_config, |
| 530 primary_config, crypto_proof, result, done_cb); | 534 primary_config, crypto_proof, result, done_cb); |
| 531 } else { | 535 } else { |
| 532 done_cb->Run(result); | 536 done_cb->Run(result); |
| 533 } | 537 } |
| 534 } | 538 } |
| 535 | 539 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 | 579 |
| 576 if (!next_config_promotion_time_.IsZero() && | 580 if (!next_config_promotion_time_.IsZero() && |
| 577 next_config_promotion_time_.IsAfter(now)) { | 581 next_config_promotion_time_.IsAfter(now)) { |
| 578 SelectNewPrimaryConfig(now); | 582 SelectNewPrimaryConfig(now); |
| 579 DCHECK(primary_config_.get()); | 583 DCHECK(primary_config_.get()); |
| 580 DCHECK_EQ(configs_.find(primary_config_->id)->second, primary_config_); | 584 DCHECK_EQ(configs_.find(primary_config_->id)->second, primary_config_); |
| 581 } | 585 } |
| 582 | 586 |
| 583 // Use the config that the client requested in order to do key-agreement. | 587 // Use the config that the client requested in order to do key-agreement. |
| 584 // Otherwise give it a copy of |primary_config_| to use. | 588 // Otherwise give it a copy of |primary_config_| to use. |
| 585 primary_config = GetConfigWithScid(crypto_proof->primary_scid); | 589 if (FLAGS_quic_crypto_proof_use_ref) { |
| 590 primary_config = crypto_proof->config; |
| 591 } else { |
| 592 primary_config = GetConfigWithScid(crypto_proof->primary_scid); |
| 593 } |
| 586 if (!primary_config) { | 594 if (!primary_config) { |
| 587 *error_details = "Configuration not found"; | 595 *error_details = "Configuration not found"; |
| 588 QUIC_BUG << "Primary config not found"; | 596 QUIC_BUG << "Primary config not found"; |
| 589 return QUIC_CRYPTO_INTERNAL_ERROR; | 597 return QUIC_CRYPTO_INTERNAL_ERROR; |
| 590 } | 598 } |
| 591 | 599 |
| 592 requested_config = GetConfigWithScid(requested_scid); | 600 requested_config = GetConfigWithScid(requested_scid); |
| 593 } | 601 } |
| 594 | 602 |
| 595 if (validate_chlo_result.error_code != QUIC_NO_ERROR) { | 603 if (validate_chlo_result.error_code != QUIC_NO_ERROR) { |
| (...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1796 : channel_id_enabled(false), | 1804 : channel_id_enabled(false), |
| 1797 is_primary(false), | 1805 is_primary(false), |
| 1798 primary_time(QuicWallTime::Zero()), | 1806 primary_time(QuicWallTime::Zero()), |
| 1799 priority(0), | 1807 priority(0), |
| 1800 source_address_token_boxer(nullptr) {} | 1808 source_address_token_boxer(nullptr) {} |
| 1801 | 1809 |
| 1802 QuicCryptoServerConfig::Config::~Config() { | 1810 QuicCryptoServerConfig::Config::~Config() { |
| 1803 STLDeleteElements(&key_exchanges); | 1811 STLDeleteElements(&key_exchanges); |
| 1804 } | 1812 } |
| 1805 | 1813 |
| 1814 QuicCryptoProof::QuicCryptoProof() : certs(nullptr) {} |
| 1815 QuicCryptoProof::~QuicCryptoProof() {} |
| 1806 } // namespace net | 1816 } // namespace net |
| OLD | NEW |