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

Issue 1405293009: Certificate Transparency: Fetching consistency proofs. (Closed)

Created:
5 years, 1 month ago by Eran Messeri
Modified:
4 years, 10 months ago
Reviewers:
svaldez, mmenke, Ryan Sleevi
CC:
chromium-reviews, cbentzel+watch_chromium.org, davidben, Rob Percival, certificate-transparency-chrome_googlegroups.com
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Certificate Transparency: Fetching consistency proofs. This adds the ability for Chrome clients to fetch consistency proofs between two tree heads. It will be used in case a Chrome client has an old STH stored for which it was not provided with a consistency proof to a new STH pushed in a component update. BUG=506227 Committed: https://crrev.com/6851c0c562cb3f711f0fa03fff18a0750ac221e9 Cr-Commit-Position: refs/heads/master@{#374865}

Patch Set 1 #

Patch Set 2 : Post merge with master #

Total comments: 14

Patch Set 3 : Addressing review comments. #

Total comments: 12

Patch Set 4 : Addressing review comments and compilation issues #

Patch Set 5 : Fix compilation on Android #

Total comments: 32

Patch Set 6 : Addressing review comments #

Total comments: 21

Patch Set 7 : Class hierarchy for various requests #

Patch Set 8 : Switched to using RunLoop #

Total comments: 6

Patch Set 9 : Added LogFetcher for handling a single request #

Patch Set 10 : Addressing forgotten review comment. #

Total comments: 32

Patch Set 11 : Addressing review comments #

Total comments: 14

Patch Set 12 : Addressing comments #

Total comments: 36

Patch Set 13 : Switching to simpler callbacks model #

Total comments: 54

Patch Set 14 : Design, documentation fixes #

Total comments: 4

Patch Set 15 : Addressing mmenke's comments #

Total comments: 2

Patch Set 16 : Small documentation fix #

Patch Set 17 : Catching up with master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+592 lines, -249 lines) Patch
M components/certificate_transparency/log_proof_fetcher.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +47 lines, -38 lines 0 comments Download
M components/certificate_transparency/log_proof_fetcher.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +355 lines, -154 lines 0 comments Download
M components/certificate_transparency/log_proof_fetcher_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 12 chunks +187 lines, -57 lines 0 comments Download
M net/base/net_error_list.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 57 (12 generated)
Eran Messeri
Matt, this change adds the ability to fetch consistency proofs, implementing one step of the ...
5 years, 1 month ago (2015-11-10 13:09:59 UTC) #4
mmenke
[+svaldez]: Mind doing an initial pass on this CL?
5 years, 1 month ago (2015-11-12 19:22:22 UTC) #6
svaldez
Did a quick initial pass. I'll try doing a more thorough pass in a bit. ...
5 years, 1 month ago (2015-11-12 20:11:03 UTC) #7
Eran Messeri
Addressed all comments, PTAL. https://codereview.chromium.org/1405293009/diff/20001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/20001/components/certificate_transparency/log_proof_fetcher.cc#newcode75 components/certificate_transparency/log_proof_fetcher.cc:75: FetchFailedCallback failed_callback; On 2015/11/12 20:11:03, ...
5 years, 1 month ago (2015-11-16 13:39:46 UTC) #8
svaldez
Few more nits. https://codereview.chromium.org/1405293009/diff/40001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/40001/components/certificate_transparency/log_proof_fetcher.cc#newcode52 components/certificate_transparency/log_proof_fetcher.cc:52: ConsistencyProofFetchedCallback proof_fetch_callback, const ...FetchedCallback& https://codereview.chromium.org/1405293009/diff/40001/components/certificate_transparency/log_proof_fetcher.cc#newcode103 components/certificate_transparency/log_proof_fetcher.cc:103: ...
5 years, 1 month ago (2015-11-16 17:33:08 UTC) #9
Eran Messeri
Thanks for the quick re-review, PTAL. https://codereview.chromium.org/1405293009/diff/40001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/40001/components/certificate_transparency/log_proof_fetcher.cc#newcode52 components/certificate_transparency/log_proof_fetcher.cc:52: ConsistencyProofFetchedCallback proof_fetch_callback, On ...
5 years, 1 month ago (2015-11-17 10:47:31 UTC) #10
svaldez
lgtm, though mmenke will need to take a look as an actual owner.
5 years, 1 month ago (2015-11-17 21:49:11 UTC) #11
mmenke
On 2015/11/17 21:49:11, svaldez wrote: > lgtm, though mmenke will need to take a look ...
5 years, 1 month ago (2015-11-17 22:01:08 UTC) #12
mmenke
https://codereview.chromium.org/1405293009/diff/80001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/80001/components/certificate_transparency/log_proof_fetcher.cc#newcode96 components/certificate_transparency/log_proof_fetcher.cc:96: const FetchFailedCallback& failed_callback) { Suggest putting everything in this ...
5 years, 1 month ago (2015-11-18 19:25:16 UTC) #13
Eran Messeri
Matt, thanks for the thorough review - hopefully you can have another look before the ...
5 years ago (2015-11-24 22:53:38 UTC) #14
mmenke
https://codereview.chromium.org/1405293009/diff/80001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/80001/components/certificate_transparency/log_proof_fetcher.cc#newcode96 components/certificate_transparency/log_proof_fetcher.cc:96: const FetchFailedCallback& failed_callback) { On 2015/11/24 22:53:38, Eran Messeri ...
5 years ago (2015-11-25 17:40:29 UTC) #15
Ryan Sleevi
https://codereview.chromium.org/1405293009/diff/100001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/100001/components/certificate_transparency/log_proof_fetcher.cc#newcode45 components/certificate_transparency/log_proof_fetcher.cc:45: enum LogRequestType { SIGNED_TREE_HEAD, CONSISTENCY_PROOF }; Document https://codereview.chromium.org/1405293009/diff/100001/components/certificate_transparency/log_proof_fetcher.cc#newcode78 components/certificate_transparency/log_proof_fetcher.cc:78: ...
5 years ago (2015-11-26 00:50:09 UTC) #17
Eran Messeri
Happy Thanksgiving! I've addressed all comments except the RunLoop in the tests, which I'm now ...
5 years ago (2015-11-26 22:07:13 UTC) #18
Eran Messeri
Switched to using a RunLoop - it's now ready for another look.
5 years ago (2015-12-01 13:10:27 UTC) #19
mmenke
Suggestion: Get rid of FetchState. Make LogRequest own everything (Including the request itself) and drive ...
5 years ago (2015-12-01 16:23:49 UTC) #20
Eran Messeri
Matt, PTAL. In patchset 9 I've introduced the LogFetcher, which implements URLRequest::Delegate and abstracts interaction ...
5 years ago (2015-12-04 11:41:44 UTC) #21
Ryan Sleevi
Just a few rounds of drive-by design comments. https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc#newcode71 components/certificate_transparency/log_proof_fetcher.cc:71: virtual ...
5 years ago (2015-12-08 01:13:53 UTC) #22
mmenke
https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc#newcode71 components/certificate_transparency/log_proof_fetcher.cc:71: virtual void HandleNetFailure(int net_error, int http_response_code); On 2015/12/08 01:13:52, ...
5 years ago (2015-12-08 17:10:12 UTC) #23
Eran Messeri
Addressed all comments, PTAL. Regarding changes tho URLRequest usage code, I suggest any issues be ...
5 years ago (2015-12-14 13:01:42 UTC) #24
Eran Messeri
Also FYI the asan failure is likely fixed by https://codereview.chromium.org/1527063002/
5 years ago (2015-12-15 22:34:55 UTC) #25
mmenke
A couple nitty comments I hadn't yet published. https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/180001/components/certificate_transparency/log_proof_fetcher.cc#newcode304 components/certificate_transparency/log_proof_fetcher.cc:304: url_request_->Read(response_buffer_.get(), ...
5 years ago (2015-12-16 15:45:28 UTC) #26
Eran Messeri
Addressed all comments. https://codereview.chromium.org/1405293009/diff/200001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/200001/components/certificate_transparency/log_proof_fetcher.cc#newcode67 components/certificate_transparency/log_proof_fetcher.cc:67: const std::string& assembled_response() { return assembled_response_; ...
5 years ago (2015-12-17 16:41:28 UTC) #27
Eran Messeri
mmenke/rsleevi: Pre-holiday ping (one can always hope).
5 years ago (2015-12-23 08:45:01 UTC) #28
Eran Messeri
Post-holidays, Post Real World Crypto ping.
4 years, 11 months ago (2016-01-11 15:24:28 UTC) #29
Ryan Sleevi
https://codereview.chromium.org/1405293009/diff/220001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/220001/components/certificate_transparency/log_proof_fetcher.cc#newcode58 components/certificate_transparency/log_proof_fetcher.cc:58: LogFetcher(net::URLRequestContext* request_context, nit: newline between 57 & 58 https://codereview.chromium.org/1405293009/diff/220001/components/certificate_transparency/log_proof_fetcher.cc#newcode84 ...
4 years, 11 months ago (2016-01-12 22:15:01 UTC) #30
mmenke
I just reviewed the use of URLRequest / implementation of URLRequest::Delegate, and that LGTM. Be ...
4 years, 11 months ago (2016-01-12 22:43:21 UTC) #31
Eran Messeri
Addressed all your comments, PTAL. Also Valgrind is happy with my code so hopefully the ...
4 years, 11 months ago (2016-01-18 15:50:56 UTC) #32
Eran Messeri
Friendly pre-weekend ping.
4 years, 11 months ago (2016-01-21 16:23:54 UTC) #33
Ryan Sleevi
https://codereview.chromium.org/1405293009/diff/240001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/240001/components/certificate_transparency/log_proof_fetcher.cc#newcode116 components/certificate_transparency/log_proof_fetcher.cc:116: int net_error = GetNetErrorFromURLRequestStatus(request->status()); if status.is_success() is false, will ...
4 years, 11 months ago (2016-01-23 00:34:23 UTC) #34
Eran Messeri
PTAL - hopefully lifetime management is clearer and simpler now. https://codereview.chromium.org/1405293009/diff/240001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/240001/components/certificate_transparency/log_proof_fetcher.cc#newcode116 ...
4 years, 11 months ago (2016-01-25 17:07:38 UTC) #35
mmenke
https://codereview.chromium.org/1405293009/diff/260001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/260001/components/certificate_transparency/log_proof_fetcher.cc#newcode142 components/certificate_transparency/log_proof_fetcher.cc:142: net_error = net::URLRequestStatus::FAILED; If bytes_read is < 0, net_error ...
4 years, 11 months ago (2016-01-25 17:41:39 UTC) #36
Eran Messeri
https://codereview.chromium.org/1405293009/diff/260001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/260001/components/certificate_transparency/log_proof_fetcher.cc#newcode142 components/certificate_transparency/log_proof_fetcher.cc:142: net_error = net::URLRequestStatus::FAILED; On 2016/01/25 17:41:39, mmenke wrote: > ...
4 years, 11 months ago (2016-01-25 19:20:22 UTC) #37
Eran Messeri
Ping.
4 years, 10 months ago (2016-01-29 11:11:35 UTC) #38
Ryan Sleevi
I've got one nit. To be honest, I still struggle a bit with the lifetime ...
4 years, 10 months ago (2016-02-05 02:28:32 UTC) #39
mmenke
On 2016/02/05 02:28:32, Ryan Sleevi wrote: > I've got one nit. > > To be ...
4 years, 10 months ago (2016-02-05 02:43:06 UTC) #40
mmenke
On 2016/02/05 02:43:06, mmenke wrote: > On 2016/02/05 02:28:32, Ryan Sleevi wrote: > > I've ...
4 years, 10 months ago (2016-02-05 02:44:13 UTC) #41
Eran Messeri
> And yea, I think it's a valid point that the state machine here isn't ...
4 years, 10 months ago (2016-02-05 11:04:14 UTC) #42
Eran Messeri
https://codereview.chromium.org/1405293009/diff/280001/components/certificate_transparency/log_proof_fetcher.cc File components/certificate_transparency/log_proof_fetcher.cc (right): https://codereview.chromium.org/1405293009/diff/280001/components/certificate_transparency/log_proof_fetcher.cc#newcode159 components/certificate_transparency/log_proof_fetcher.cc:159: // We have data, collect it and indicate another ...
4 years, 10 months ago (2016-02-05 11:13:44 UTC) #43
Ryan Sleevi
On 2016/02/05 11:04:14, Eran Messeri wrote: > My proposal is: > - For now we ...
4 years, 10 months ago (2016-02-07 22:15:45 UTC) #44
Eran Messeri
On 2016/02/07 22:15:45, Ryan Sleevi wrote: > On 2016/02/05 11:04:14, Eran Messeri wrote: > > ...
4 years, 10 months ago (2016-02-10 15:35:43 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405293009/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405293009/320001
4 years, 10 months ago (2016-02-10 15:43:31 UTC) #48
commit-bot: I haz the power
Failed to request the patch to try. Please note that binary files are still unsupported ...
4 years, 10 months ago (2016-02-10 19:27:36 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405293009/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405293009/320001
4 years, 10 months ago (2016-02-11 06:18:01 UTC) #53
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 10 months ago (2016-02-11 06:23:58 UTC) #55
commit-bot: I haz the power
4 years, 10 months ago (2016-02-16 22:34:48 UTC) #57
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/6851c0c562cb3f711f0fa03fff18a0750ac221e9
Cr-Commit-Position: refs/heads/master@{#374865}

Powered by Google App Engine
This is Rietveld 408576698