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/core/crypto/quic_crypto_server_config.h" | 5 #include "net/quic/core/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 #include <memory> | 10 #include <memory> |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 | 534 |
535 memcpy(primary_orbit, primary_config_->orbit, sizeof(primary_orbit)); | 535 memcpy(primary_orbit, primary_config_->orbit, sizeof(primary_orbit)); |
536 } | 536 } |
537 | 537 |
538 requested_config = GetConfigWithScid(requested_scid); | 538 requested_config = GetConfigWithScid(requested_scid); |
539 primary_config = primary_config_; | 539 primary_config = primary_config_; |
540 crypto_proof->config = primary_config_; | 540 crypto_proof->config = primary_config_; |
541 } | 541 } |
542 | 542 |
543 if (result->error_code == QUIC_NO_ERROR) { | 543 if (result->error_code == QUIC_NO_ERROR) { |
544 if (version > QUIC_VERSION_30) { | 544 // QUIC requires a new proof for each CHLO so clear any existing proof. |
545 // QUIC v31 and above require a new proof for each CHLO so clear the | 545 crypto_proof->chain = nullptr; |
546 // existing proof, if any. | 546 crypto_proof->signature = ""; |
547 crypto_proof->chain = nullptr; | 547 crypto_proof->cert_sct = ""; |
548 crypto_proof->signature = ""; | |
549 crypto_proof->cert_sct = ""; | |
550 } | |
551 EvaluateClientHello(server_ip, version, primary_orbit, requested_config, | 548 EvaluateClientHello(server_ip, version, primary_orbit, requested_config, |
552 primary_config, crypto_proof, result, | 549 primary_config, crypto_proof, result, |
553 std::move(done_cb)); | 550 std::move(done_cb)); |
554 } else { | 551 } else { |
555 done_cb->Run(result, /* details = */ nullptr); | 552 done_cb->Run(result, /* details = */ nullptr); |
556 } | 553 } |
557 } | 554 } |
558 | 555 |
559 class ProcessClientHelloHelper { | 556 class ProcessClientHelloHelper { |
560 public: | 557 public: |
(...skipping 1594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2155 priority(0), | 2152 priority(0), |
2156 source_address_token_boxer(nullptr) {} | 2153 source_address_token_boxer(nullptr) {} |
2157 | 2154 |
2158 QuicCryptoServerConfig::Config::~Config() { | 2155 QuicCryptoServerConfig::Config::~Config() { |
2159 base::STLDeleteElements(&key_exchanges); | 2156 base::STLDeleteElements(&key_exchanges); |
2160 } | 2157 } |
2161 | 2158 |
2162 QuicCryptoProof::QuicCryptoProof() {} | 2159 QuicCryptoProof::QuicCryptoProof() {} |
2163 QuicCryptoProof::~QuicCryptoProof() {} | 2160 QuicCryptoProof::~QuicCryptoProof() {} |
2164 } // namespace net | 2161 } // namespace net |
OLD | NEW |