Index: net/quic/quic_crypto_client_stream.cc |
diff --git a/net/quic/quic_crypto_client_stream.cc b/net/quic/quic_crypto_client_stream.cc |
index 68d0f0d7a374aaec1eb87a6a641e053f826aaf0f..7ac7fc5050d9b8cbd50de8ea5f52f46390be5b54 100644 |
--- a/net/quic/quic_crypto_client_stream.cc |
+++ b/net/quic/quic_crypto_client_stream.cc |
@@ -321,7 +321,7 @@ void QuicCryptoClientStream::DoSendCHLO( |
crypto_config_->FillInchoateClientHello( |
server_id_, session()->connection()->supported_versions().front(), |
cached, session()->connection()->random_generator(), |
- &crypto_negotiated_params_, &out); |
+ /* demand_x509_proof= */ true, &crypto_negotiated_params_, &out); |
// Pad the inchoate client hello to fill up a packet. |
const QuicByteCount kFramingOverhead = 50; // A rough estimate. |
const QuicByteCount max_packet_size = |
@@ -390,20 +390,10 @@ void QuicCryptoClientStream::DoSendCHLO( |
crypto_negotiated_params_.initial_crypters.encrypter.release()); |
session()->connection()->SetDefaultEncryptionLevel(ENCRYPTION_INITIAL); |
- if (FLAGS_quic_reply_to_rej) { |
- // TODO(ianswett): Merge ENCRYPTION_REESTABLISHED and |
- // ENCRYPTION_FIRST_ESTABLSIHED. |
- encryption_established_ = true; |
- session()->OnCryptoHandshakeEvent(QuicSession::ENCRYPTION_REESTABLISHED); |
- } else { |
- if (!encryption_established_) { |
- encryption_established_ = true; |
- session()->OnCryptoHandshakeEvent( |
- QuicSession::ENCRYPTION_FIRST_ESTABLISHED); |
- } else { |
- session()->OnCryptoHandshakeEvent(QuicSession::ENCRYPTION_REESTABLISHED); |
- } |
- } |
+ // TODO(ianswett): Merge ENCRYPTION_REESTABLISHED and |
+ // ENCRYPTION_FIRST_ESTABLSIHED |
+ encryption_established_ = true; |
+ session()->OnCryptoHandshakeEvent(QuicSession::ENCRYPTION_REESTABLISHED); |
} |
void QuicCryptoClientStream::DoReceiveREJ( |
@@ -486,7 +476,8 @@ QuicAsyncStatus QuicCryptoClientStream::DoVerifyProof( |
server_id_.host(), server_id_.port(), cached->server_config(), |
session()->connection()->version(), chlo_hash_, cached->certs(), |
cached->cert_sct(), cached->signature(), verify_context_.get(), |
- &verify_error_details_, &verify_details_, proof_verify_callback); |
+ &verify_error_details_, &verify_details_, |
+ std::unique_ptr<ProofVerifierCallback>(proof_verify_callback)); |
switch (status) { |
case QUIC_PENDING: |
@@ -494,10 +485,8 @@ QuicAsyncStatus QuicCryptoClientStream::DoVerifyProof( |
DVLOG(1) << "Doing VerifyProof"; |
break; |
case QUIC_FAILURE: |
- delete proof_verify_callback; |
break; |
case QUIC_SUCCESS: |
- delete proof_verify_callback; |
verify_ok_ = true; |
break; |
} |