| Index: net/quic/crypto/quic_crypto_server_config.cc
|
| diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc
|
| index d04b44cdd5386c20cda9399d94007f019862c12f..9bf08a6370af3fb8c7df88afdf082fba44598c16 100644
|
| --- a/net/quic/crypto/quic_crypto_server_config.cc
|
| +++ b/net/quic/crypto/quic_crypto_server_config.cc
|
| @@ -522,7 +522,11 @@ void QuicCryptoServerConfig::ValidateClientHello(
|
|
|
| requested_config = GetConfigWithScid(requested_scid);
|
| primary_config = primary_config_;
|
| - crypto_proof->primary_scid = primary_config->id;
|
| + if (FLAGS_quic_crypto_proof_use_ref) {
|
| + crypto_proof->config = primary_config_;
|
| + } else {
|
| + crypto_proof->primary_scid = primary_config->id;
|
| + }
|
| }
|
|
|
| if (result->error_code == QUIC_NO_ERROR) {
|
| @@ -582,7 +586,11 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello(
|
|
|
| // Use the config that the client requested in order to do key-agreement.
|
| // Otherwise give it a copy of |primary_config_| to use.
|
| - primary_config = GetConfigWithScid(crypto_proof->primary_scid);
|
| + if (FLAGS_quic_crypto_proof_use_ref) {
|
| + primary_config = crypto_proof->config;
|
| + } else {
|
| + primary_config = GetConfigWithScid(crypto_proof->primary_scid);
|
| + }
|
| if (!primary_config) {
|
| *error_details = "Configuration not found";
|
| QUIC_BUG << "Primary config not found";
|
| @@ -1803,4 +1811,6 @@ QuicCryptoServerConfig::Config::~Config() {
|
| STLDeleteElements(&key_exchanges);
|
| }
|
|
|
| +QuicCryptoProof::QuicCryptoProof() : certs(nullptr) {}
|
| +QuicCryptoProof::~QuicCryptoProof() {}
|
| } // namespace net
|
|
|