Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: net/quic/quic_chromium_client_session.cc

Issue 1454993002: QUIC - Code to verify SCT tag with certificate transparency verifier (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments and add tests for SCTList Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/quic_chromium_client_session.h" 5 #include "net/quic/quic_chromium_client_session.h"
6 6
7 #include "base/callback_helpers.h" 7 #include "base/callback_helpers.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/metrics/sparse_histogram.h" 10 #include "base/metrics/sparse_histogram.h"
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 ssl_info->public_key_hashes = cert_verify_result_->public_key_hashes; 493 ssl_info->public_key_hashes = cert_verify_result_->public_key_hashes;
494 ssl_info->is_issued_by_known_root = 494 ssl_info->is_issued_by_known_root =
495 cert_verify_result_->is_issued_by_known_root; 495 cert_verify_result_->is_issued_by_known_root;
496 496
497 ssl_info->connection_status = ssl_connection_status; 497 ssl_info->connection_status = ssl_connection_status;
498 ssl_info->client_cert_sent = false; 498 ssl_info->client_cert_sent = false;
499 ssl_info->channel_id_sent = crypto_stream_->WasChannelIDSent(); 499 ssl_info->channel_id_sent = crypto_stream_->WasChannelIDSent();
500 ssl_info->security_bits = security_bits; 500 ssl_info->security_bits = security_bits;
501 ssl_info->handshake_type = SSLInfo::HANDSHAKE_FULL; 501 ssl_info->handshake_type = SSLInfo::HANDSHAKE_FULL;
502 ssl_info->pinning_failure_log = pinning_failure_log_; 502 ssl_info->pinning_failure_log = pinning_failure_log_;
503
504 ssl_info->UpdateSignedCertificateTimestamps(*ct_verify_result_);
505
503 return true; 506 return true;
504 } 507 }
505 508
506 int QuicChromiumClientSession::CryptoConnect( 509 int QuicChromiumClientSession::CryptoConnect(
507 bool require_confirmation, 510 bool require_confirmation,
508 const CompletionCallback& callback) { 511 const CompletionCallback& callback) {
509 require_confirmation_ = require_confirmation; 512 require_confirmation_ = require_confirmation;
510 handshake_start_ = base::TimeTicks::Now(); 513 handshake_start_ = base::TimeTicks::Now();
511 RecordHandshakeState(STATE_STARTED); 514 RecordHandshakeState(STATE_STARTED);
512 DCHECK(flow_controller()); 515 DCHECK(flow_controller());
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 } 796 }
794 797
795 void QuicChromiumClientSession::OnProofVerifyDetailsAvailable( 798 void QuicChromiumClientSession::OnProofVerifyDetailsAvailable(
796 const ProofVerifyDetails& verify_details) { 799 const ProofVerifyDetails& verify_details) {
797 const ProofVerifyDetailsChromium* verify_details_chromium = 800 const ProofVerifyDetailsChromium* verify_details_chromium =
798 reinterpret_cast<const ProofVerifyDetailsChromium*>(&verify_details); 801 reinterpret_cast<const ProofVerifyDetailsChromium*>(&verify_details);
799 CertVerifyResult* result_copy = new CertVerifyResult; 802 CertVerifyResult* result_copy = new CertVerifyResult;
800 result_copy->CopyFrom(verify_details_chromium->cert_verify_result); 803 result_copy->CopyFrom(verify_details_chromium->cert_verify_result);
801 cert_verify_result_.reset(result_copy); 804 cert_verify_result_.reset(result_copy);
802 pinning_failure_log_ = verify_details_chromium->pinning_failure_log; 805 pinning_failure_log_ = verify_details_chromium->pinning_failure_log;
806 ct::CTVerifyResult* ct_verify_result_copy = new ct::CTVerifyResult;
Eran Messeri 2015/11/23 17:35:19 Nit: In the past the use of scoped_ptr was recomme
ramant (doing other things) 2015/11/23 17:57:41 Acknowledged. Will modify CTVerifyResult and Cert
807 *ct_verify_result_copy = verify_details_chromium->ct_verify_result;
808 ct_verify_result_.reset(ct_verify_result_copy);
803 logger_->OnCertificateVerified(*cert_verify_result_); 809 logger_->OnCertificateVerified(*cert_verify_result_);
804 } 810 }
805 811
806 void QuicChromiumClientSession::StartReading() { 812 void QuicChromiumClientSession::StartReading() {
807 packet_reader_.StartReading(); 813 packet_reader_.StartReading();
808 } 814 }
809 815
810 void QuicChromiumClientSession::CloseSessionOnError(int error, 816 void QuicChromiumClientSession::CloseSessionOnError(int error,
811 QuicErrorCode quic_error) { 817 QuicErrorCode quic_error) {
812 RecordAndCloseSessionOnError(error, quic_error); 818 RecordAndCloseSessionOnError(error, quic_error);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 return; 969 return;
964 970
965 // TODO(rch): re-enable this code once beta is cut. 971 // TODO(rch): re-enable this code once beta is cut.
966 // if (stream_factory_) 972 // if (stream_factory_)
967 // stream_factory_->OnSessionConnectTimeout(this); 973 // stream_factory_->OnSessionConnectTimeout(this);
968 // CloseAllStreams(ERR_QUIC_HANDSHAKE_FAILED); 974 // CloseAllStreams(ERR_QUIC_HANDSHAKE_FAILED);
969 // DCHECK_EQ(0u, GetNumOpenStreams()); 975 // DCHECK_EQ(0u, GetNumOpenStreams());
970 } 976 }
971 977
972 } // namespace net 978 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698