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

Issue 619433002: Use a more compact HSTS representation. (Closed)

Created:
6 years, 2 months ago by agl
Modified:
6 years, 2 months ago
Reviewers:
palmer, jamesr
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Use a more compact HSTS representation. The current, preloaded HSTS table is nearly 80KB now. We match it linearly so we trash the D1 cache with it for every lookup. Additionally, we have to do multiple passes through it, removing a label from the target each time. This changes the HSTS information to be a trie. The trie only consumes about 10KB and only a single lookup is needed for a given hostname since the organisation of the trie means that all matches (from least to most specific) for a given hostname will be found with a single walk. BUG=none R=palmer@chromium.org Committed: https://chromium.googlesource.com/chromium/src/+/0653ece4f182ab947d6809c311dfd4e8febaee1f

Patch Set 1 #

Patch Set 2 : ... #

Patch Set 3 : g cl try #

Total comments: 14

Patch Set 4 : ... #

Patch Set 5 : ... #

Patch Set 6 : ... #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+2229 lines, -1497 lines) Patch
M net/http/transport_security_state.cc View 1 2 3 3 chunks +363 lines, -382 lines 0 comments Download
M net/http/transport_security_state_static.h View 1 2 3 4 6 chunks +1605 lines, -1115 lines 1 comment Download
M net/http/transport_security_state_static.json View 1 2 3 4 1 chunk +261 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (4 generated)
agl
6 years, 2 months ago (2014-09-29 23:25:12 UTC) #2
agl
ping, since you're back :)
6 years, 2 months ago (2014-10-02 19:20:35 UTC) #3
palmer
https://codereview.chromium.org/619433002/diff/40001/net/http/transport_security_state.cc File net/http/transport_security_state.cc (right): https://codereview.chromium.org/619433002/diff/40001/net/http/transport_security_state.cc#newcode276 net/http/transport_security_state.cc:276: BitReader(const uint8 *bytes, size_t num_bits) Style nit: "const uint8* ...
6 years, 2 months ago (2014-10-02 20:26:36 UTC) #4
palmer
Can we write a program to turn the JSON into the trie at compile time? ...
6 years, 2 months ago (2014-10-02 21:55:50 UTC) #5
agl
On 2014/10/02 21:55:50, Chromium Palmer wrote: > Can we write a program to turn the ...
6 years, 2 months ago (2014-10-03 00:01:16 UTC) #6
agl
https://codereview.chromium.org/619433002/diff/40001/net/http/transport_security_state.cc File net/http/transport_security_state.cc (right): https://codereview.chromium.org/619433002/diff/40001/net/http/transport_security_state.cc#newcode276 net/http/transport_security_state.cc:276: BitReader(const uint8 *bytes, size_t num_bits) On 2014/10/02 20:26:36, Chromium ...
6 years, 2 months ago (2014-10-03 00:01:21 UTC) #7
palmer
Is it too onerous to reimplement the Go program in Python or C++ so that ...
6 years, 2 months ago (2014-10-06 19:32:25 UTC) #8
Daniel Bratell
On 2014/10/06 19:32:25, Chromium Palmer wrote: > Is it too onerous to reimplement the Go ...
6 years, 2 months ago (2014-10-06 20:09:41 UTC) #9
agl
On 2014/10/06 19:32:25, Chromium Palmer wrote: > Is it too onerous to reimplement the Go ...
6 years, 2 months ago (2014-10-06 21:08:54 UTC) #10
palmer
LGTM.
6 years, 2 months ago (2014-10-07 19:10:50 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/619433002/100001
6 years, 2 months ago (2014-10-07 21:17:17 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/16120)
6 years, 2 months ago (2014-10-07 21:28:21 UTC) #15
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/0653ece4f182ab947d6809c311dfd4e8febaee1f Cr-Commit-Position: refs/heads/master@{#298580}
6 years, 2 months ago (2014-10-07 21:52:32 UTC) #16
agl
Committed patchset #6 (id:100001) manually as 0653ece4f182ab947d6809c311dfd4e8febaee1f (presubmit successful).
6 years, 2 months ago (2014-10-07 21:52:34 UTC) #17
jamesr
6 years, 2 months ago (2014-10-08 00:51:01 UTC) #19
Message was sent while issue was closed.
https://codereview.chromium.org/619433002/diff/100001/net/http/transport_secu...
File net/http/transport_security_state_static.h (right):

https://codereview.chromium.org/619433002/diff/100001/net/http/transport_secu...
net/http/transport_security_state_static.h:657: static const struct Pinset
kPinsets[] = {
this'll generate a static initializer, sadly

Powered by Google App Engine
This is Rietveld 408576698