|
|
Created:
5 years, 1 month ago by ramant (doing other things) Modified:
5 years, 1 month ago Reviewers:
Ryan Hamilton CC:
chromium-reviews, cbentzel+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionQUIC - delete #ifdef USE_OPENSSL in unittests.
+ Deleted #ifdef USE_OPENSSL from QUIC tests.
+ Fixed/enabled QuicChromiumClientSessionTest unittests.
+ Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled.
+ Use fake proof verifier when NSS is enabled.
+ FakeProofVerifier verifies the certificates using MockCertVerifier.
Initialized certificates ala OPENSSL's code.
R=rch@chromium.org
Committed: https://crrev.com/ac06c2f29fa6cd3d8291eec78899918d450bc569
Cr-Commit-Position: refs/heads/master@{#358085}
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #Patch Set 4 : fix minor typos #
Total comments: 5
Patch Set 5 : Fix comments #
Depends on Patchset: Messages
Total messages: 56 (33 generated)
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/1
Hi Ryan, This is work in progress. Please hold off reviewing this code. This code runs all platforms except Ios. Still testing it. thanks raman
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator...)
Patchset #2 (id:20001) has been deleted
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/60001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
Patchset #4 (id:80001) has been deleted
Patchset #3 (id:60001) has been deleted
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/100001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
Patchset #3 (id:100001) has been deleted
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/120001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_r...) mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
Description was changed from ========== QUIC - Delete FakeProofSource and FakeProofVerifier and the associated methods. NSS code returns a dummy signature as the Proof. Added a TODO to support signature generation for NSS. Deleted #ifdef USE_OPENSSL code from all places except ProofVerifierChromium::Job::VerifySignature, which for NSS verifies that signature is the dummy signature. NSS's prrof verifier verifies the certificates. R=rch@chromium.org ========== to ========== QUIC - Delete FakeProofSource and FakeProofVerifier and the associated methods. NSS code returns a dummy signature as the Proof. Added a TODO to support signature generation for NSS. Deleted #ifdef USE_OPENSSL code from all places except ProofVerifierChromium::Job::VerifySignature, which for NSS verifies that signature is the dummy signature. NSS's prrof verifier verifies the certificates. R=rch@chromium.org ==========
rch@chromium.org changed reviewers: - rch@chromium.org
rch@chromium.org changed reviewers: + rch@chromium.org
Removing myself as a reviewer. Just add me back when you're ready!
Description was changed from ========== QUIC - Delete FakeProofSource and FakeProofVerifier and the associated methods. NSS code returns a dummy signature as the Proof. Added a TODO to support signature generation for NSS. Deleted #ifdef USE_OPENSSL code from all places except ProofVerifierChromium::Job::VerifySignature, which for NSS verifies that signature is the dummy signature. NSS's prrof verifier verifies the certificates. R=rch@chromium.org ========== to ========== QUIC - Delete FakeProofSource and FakeProofVerifier and the associated methods. NSS code returns a dummy signature as the Proof. Added a TODO to support signature generation for NSS. Deleted #ifdef USE_OPENSSL code from all places except ProofVerifierChromium::Job::VerifySignature, which for NSS verifies that signature is the dummy signature. NSS's prrof verifier verifies the certificates. ==========
rtenneti@chromium.org changed reviewers: - rch@chromium.org
Patchset #3 (id:120001) has been deleted
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/140001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator...)
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Patchset #3 (id:140001) has been deleted
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/160001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Patchset #2 (id:40001) has been deleted
Description was changed from ========== QUIC - Delete FakeProofSource and FakeProofVerifier and the associated methods. NSS code returns a dummy signature as the Proof. Added a TODO to support signature generation for NSS. Deleted #ifdef USE_OPENSSL code from all places except ProofVerifierChromium::Job::VerifySignature, which for NSS verifies that signature is the dummy signature. NSS's prrof verifier verifies the certificates. ========== to ========== QUIC - delete #ifdef USE_OPENSSL in unittests. + Deleted #ifdef USE_OPENSSL from QUIC tests. + Fixed/enabled QuicChromiumClientSessionTest unittests. + Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled. + Use fake proof verifier when NSS is enabled. + FakeProofVerifier verifies the certificates using MockCertVerifier. Initialized certificates ala OPENSSL's code. R=rch@chromium.org ==========
rtenneti@chromium.org changed reviewers: + rch@chromium.org
Patchset #3 (id:180001) has been deleted
Description was changed from ========== QUIC - delete #ifdef USE_OPENSSL in unittests. + Deleted #ifdef USE_OPENSSL from QUIC tests. + Fixed/enabled QuicChromiumClientSessionTest unittests. + Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled. + Use fake proof verifier when NSS is enabled. + FakeProofVerifier verifies the certificates using MockCertVerifier. Initialized certificates ala OPENSSL's code. R=rch@chromium.org ========== to ========== QUIC - delete #ifdef USE_OPENSSL in unittests. + Deleted #ifdef USE_OPENSSL from QUIC tests. + Fixed/enabled QuicChromiumClientSessionTest unittests. + Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled. + Use fake proof verifier when NSS is enabled. + FakeProofVerifier verifies the certificates using MockCertVerifier. Initialized certificates ala OPENSSL's code. R=rch@chromium.org ==========
The CQ bit was checked by rtenneti@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/200001
Hi Ryan, Verified these changes work ok on all platforms. The idea of adding a virtual VerifySignature method on ProofVerifier didn't work (thus didn't make that change). PTAL. thanks raman
Patchset #4 (id:220001) has been deleted
https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... File net/quic/test_tools/crypto_test_utils_chromium.cc (right): https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... net/quic/test_tools/crypto_test_utils_chromium.cc:126: class FakeProofVerifier : public TestProofVerifierChromium { Hi Ryan, When I had tested the FakeProofVerifier (by using it when USE_OPENSSL is enabled), it was crashing with the following call stack, if we didn't verify the certificate. verify_details_chromium->cert_verify_result is used by the logger's OnCertificateVerified method. [ RUN ] Tests/QuicChromiumClientSessionTest.CryptoConnect/0 [11531:11531:1104/153819:1551470998457:FATAL:ref_counted.h(309)] Assert failed: ptr_ != __null. #0 0x7fce1c1bad4e base::debug::StackTrace::StackTrace() #1 0x7fce1c0d0f8f logging::LogMessage::~LogMessage() #2 0x7fce1c5eb344 scoped_refptr<>::operator->() #3 0x7fce1c712ad4 net::(anonymous namespace)::NetLogQuicCertificateVerifiedCallback() #4 0x7fce1c718933 base::internal::RunnableAdapter<>::Run() #5 0x7fce1c7188a4 _ZN4base8internal12InvokeHelperILb0E10scoped_ptrINS_5ValueENS_14DefaultDeleterIS3_EEENS0_15RunnableAdapterIPFS6_13scoped_refptrIN3net15X509CertificateEENS9_17NetLogCaptureModeEEEENS0_8TypeListIJPSA_RKSC_EEEE8MakeItSoESF_SH_SJ_ #6 0x7fce1c718828 _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0EEEENS0_9BindStateINS0_15RunnableAdapterIPF10scoped_ptrINS_5ValueENS_14DefaultDeleterIS7_EEE13scoped_refptrIN3net15X509CertificateEENSC_17NetLogCaptureModeEEEESG_NS0_8TypeListIJSE_EEEEENSJ_IJNS0_12UnwrapTraitsISE_EEEEENS0_12InvokeHelperILb0ESA_SI_NSJ_IJPSD_RKSF_EEEEEFSA_SS_EE3RunEPNS0_13BindStateBaseESS_ #7 0x7fce1c673ec5 base::Callback<>::Run() #8 0x7fce1c66fefd net::NetLog::Entry::ParametersToValue() #9 0x000001ae7a5c net::TestNetLog::Observer::OnAddEntry() #10 0x7fce1c670325 net::NetLog::ThreadSafeObserver::OnAddEntryData() #11 0x7fce1c67057c net::NetLog::AddEntry() #12 0x7fce1c6735d4 net::BoundNetLog::AddEntry() #13 0x7fce1c673637 net::BoundNetLog::AddEvent() #14 0x7fce1c712a65 net::QuicConnectionLogger::OnCertificateVerified() #15 0x7fce1cb71184 net::QuicChromiumClientSession::OnProofVerifyDetailsAvailable() #16 0x7fce1cbd1c7c net::QuicCryptoClientStream::DoSendCHLO() #17 0x7fce1cbd0517 net::QuicCryptoClientStream::DoHandshakeLoop() #18 0x7fce1cbd0cbd net::QuicCryptoClientStream::OnHandshakeMessage() #19 0x000001322fc7 net::test::(anonymous namespace)::MovePackets() #20 0x000001322924 net::test::CryptoTestUtils::CommunicateHandshakeMessagesAndRunCallbacks() #21 0x000001321082 net::test::CryptoTestUtils::CommunicateHandshakeMessages() #22 0x000001320f10 net::test::CryptoTestUtils::HandshakeWithFakeServer() #23 0x000001027949 net::test::(anonymous namespace)::QuicChromiumClientSessionTest::CompleteCryptoHandshake()
Description was changed from ========== QUIC - delete #ifdef USE_OPENSSL in unittests. + Deleted #ifdef USE_OPENSSL from QUIC tests. + Fixed/enabled QuicChromiumClientSessionTest unittests. + Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled. + Use fake proof verifier when NSS is enabled. + FakeProofVerifier verifies the certificates using MockCertVerifier. Initialized certificates ala OPENSSL's code. R=rch@chromium.org ========== to ========== QUIC - delete #ifdef USE_OPENSSL in unittests. + Deleted #ifdef USE_OPENSSL from QUIC tests. + Fixed/enabled QuicChromiumClientSessionTest unittests. + Use real ProofVerifier for ProofTests and when USE_OPENSSL is enabled. + Use fake proof verifier when NSS is enabled. + FakeProofVerifier verifies the certificates using MockCertVerifier. Initialized certificates ala OPENSSL's code. R=rch@chromium.org ==========
lgtm Thanks for doing this!! https://codereview.chromium.org/1415933006/diff/240001/net/quic/quic_chromium... File net/quic/quic_chromium_client_session_test.cc (right): https://codereview.chromium.org/1415933006/diff/240001/net/quic/quic_chromium... net/quic/quic_chromium_client_session_test.cc:138: if (FLAGS_quic_count_unfinished_as_open_streams) { Since this flag is true and we have no plans to make it false, I'd just make this unconditional. (and below) https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... File net/quic/test_tools/crypto_test_utils.h (right): https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... net/quic/test_tools/crypto_test_utils.h:131: static ProofVerifier* ProofVerifierRealForTesting(); nit: How about RealProofVerifierForTesting()?
Thanks Ryan, raman https://codereview.chromium.org/1415933006/diff/240001/net/quic/quic_chromium... File net/quic/quic_chromium_client_session_test.cc (right): https://codereview.chromium.org/1415933006/diff/240001/net/quic/quic_chromium... net/quic/quic_chromium_client_session_test.cc:138: if (FLAGS_quic_count_unfinished_as_open_streams) { On 2015/11/05 05:26:46, Ryan Hamilton wrote: > Since this flag is true and we have no plans to make it false, I'd just make > this unconditional. (and below) Done. https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... File net/quic/test_tools/crypto_test_utils.h (right): https://codereview.chromium.org/1415933006/diff/240001/net/quic/test_tools/cr... net/quic/test_tools/crypto_test_utils.h:131: static ProofVerifier* ProofVerifierRealForTesting(); On 2015/11/05 05:26:47, Ryan Hamilton wrote: > nit: How about RealProofVerifierForTesting()? Done.
The CQ bit was checked by rtenneti@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from rch@chromium.org Link to the patchset: https://codereview.chromium.org/1415933006/#ps260001 (title: "Fix comments")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415933006/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415933006/260001
Message was sent while issue was closed.
Committed patchset #5 (id:260001)
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/ac06c2f29fa6cd3d8291eec78899918d450bc569 Cr-Commit-Position: refs/heads/master@{#358085} |