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

Issue 27073003: CSP Suborigins

Created:
7 years, 2 months ago by jww
Modified:
5 years, 8 months ago
CC:
abarth-chromium, jochen (gone - plz use gerrit), lcamtuf1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Basic experimental suborigins implementation. BUG=336894

Patch Set 1 #

Total comments: 1

Patch Set 2 : Basic suborigin implementation #

Patch Set 3 : Put suborigin behind experimental flag #

Patch Set 4 : Rebase #

Total comments: 20

Patch Set 5 : Rebase on ToT (plus fix for broken tests) #

Patch Set 6 : Address abarth's comments #

Total comments: 57

Patch Set 7 : Rebase on ToT #

Patch Set 8 : Address comments from mkwst #

Patch Set 9 : Test fixes #

Total comments: 33

Patch Set 10 : Address many of mkwst's comments #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+529 lines, -25 lines) Patch
A LayoutTests/http/tests/security/suborigins/multiple-suborigins-disallowed.html View 1 2 3 4 5 6 7 8 9 1 chunk +23 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/resources/childsuborigin.php View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/resources/multiple-suborigins.php View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-allow-in-http-header.php View 1 2 3 4 5 6 7 1 chunk +26 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-blocked-different-suborigins.php View 1 2 3 4 5 6 7 1 chunk +26 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-blocked-not-in-suborigin-to-suborigin.php View 1 2 3 4 5 6 7 1 chunk +23 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-blocked-notifications.php View 1 2 3 4 5 6 7 8 9 1 chunk +30 lines, -0 lines 1 comment Download
A LayoutTests/http/tests/security/suborigins/suborigin-in-meta-disallowed.html View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-in-meta-disallowed-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-invalid-names.html View 1 2 3 4 5 6 7 1 chunk +47 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-invalid-names-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/security/suborigins/suborigin-valid-names.html View 1 2 3 4 5 6 7 1 chunk +45 lines, -0 lines 0 comments Download
M Source/core/dom/ExecutionContext.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -0 lines 0 comments Download
M Source/core/dom/ExecutionContext.cpp View 1 2 3 4 5 6 7 2 chunks +15 lines, -0 lines 0 comments Download
M Source/core/fetch/CrossOriginAccessControl.cpp View 1 2 3 4 5 6 7 3 chunks +21 lines, -13 lines 0 comments Download
M Source/core/frame/csp/CSPDirectiveList.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -1 line 0 comments Download
M Source/core/frame/csp/CSPDirectiveList.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +55 lines, -3 lines 0 comments Download
M Source/core/frame/csp/ContentSecurityPolicy.h View 1 2 3 4 5 6 7 5 chunks +8 lines, -0 lines 0 comments Download
M Source/core/frame/csp/ContentSecurityPolicy.cpp View 1 2 3 4 5 6 7 7 chunks +24 lines, -0 lines 0 comments Download
M Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/weborigin/SecurityOrigin.h View 1 2 3 4 5 6 7 8 9 3 chunks +16 lines, -7 lines 0 comments Download
M Source/platform/weborigin/SecurityOrigin.cpp View 1 2 3 4 5 6 7 8 9 12 chunks +64 lines, -1 line 0 comments Download
M Source/platform/weborigin/SecurityOriginTest.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +47 lines, -0 lines 1 comment Download

Messages

Total messages: 33 (3 generated)
jww
Adam, I didn't get very far this week, but my first swing at this is ...
7 years, 2 months ago (2013-10-12 00:04:40 UTC) #1
abarth-chromium
It's hard for me to give you much feedback on this CL. Maybe I should ...
7 years, 2 months ago (2013-10-13 05:14:50 UTC) #2
jww
On 2013/10/13 05:14:50, abarth wrote: > It's hard for me to give you much feedback ...
7 years, 2 months ago (2013-10-14 16:04:28 UTC) #3
jww
This is a basic, working prototype. No need to review yet. I want to get ...
6 years, 11 months ago (2014-01-22 20:10:41 UTC) #4
jww
On 2014/01/22 20:10:41, jww wrote: > This is a basic, working prototype. No need to ...
6 years, 6 months ago (2014-06-14 01:06:00 UTC) #5
jww
On 2014/06/14 01:06:00, jww wrote: > On 2014/01/22 20:10:41, jww wrote: > > This is ...
6 years, 5 months ago (2014-07-11 01:29:58 UTC) #6
abarth-chromium
Don't we need to do something with the securityToken we give to V8? https://codereview.chromium.org/27073003/diff/67001/Source/core/dom/ExecutionContext.cpp File ...
6 years, 4 months ago (2014-07-31 04:56:48 UTC) #7
abarth-chromium
Should we include information about the suborigin when generating JavaScript access failure messages in the ...
6 years, 4 months ago (2014-07-31 04:58:26 UTC) #8
abarth-chromium
https://codereview.chromium.org/27073003/diff/67001/LayoutTests/http/tests/security/contentSecurityPolicy/suborigin-allow.html File LayoutTests/http/tests/security/contentSecurityPolicy/suborigin-allow.html (right): https://codereview.chromium.org/27073003/diff/67001/LayoutTests/http/tests/security/contentSecurityPolicy/suborigin-allow.html#newcode1 LayoutTests/http/tests/security/contentSecurityPolicy/suborigin-allow.html:1: <meta http-equiv="Content-Security-Policy" content="suborigin foobar"> I don't understand how this ...
6 years, 4 months ago (2014-07-31 05:02:06 UTC) #9
jww
Besides my inline response, here are a few additional responses to your additional questions: > ...
6 years, 2 months ago (2014-10-21 23:51:07 UTC) #10
abarth-chromium
I'm probably not the best reviewer for this CL anymore...
6 years, 2 months ago (2014-10-22 01:19:13 UTC) #12
jww
mkwst@, abarth@ has taken a once over at this point, but we thought it would ...
6 years, 2 months ago (2014-10-22 16:27:54 UTC) #14
Mike West
Sure, I'll take a look today! In the meantime, this should probably have an Intent ...
6 years, 2 months ago (2014-10-23 06:30:36 UTC) #15
Mike West
Took a first pass at this. I was expecting to see some work on the ...
6 years, 2 months ago (2014-10-23 12:59:21 UTC) #16
Mike West
Ping. You're coming back to this at some point, right? :)
6 years, 1 month ago (2014-11-04 07:31:59 UTC) #17
jww
On 2014/11/04 07:31:59, Mike West wrote: > Ping. You're coming back to this at some ...
6 years, 1 month ago (2014-11-04 18:05:40 UTC) #18
Mike West
On 2014/11/04 18:05:40, jww wrote: > On 2014/11/04 07:31:59, Mike West wrote: > > Ping. ...
6 years, 1 month ago (2014-11-04 18:07:06 UTC) #19
jochen (gone - plz use gerrit)
can we add some test how suborigins interact with changing document.domain? Maybe we should split ...
5 years, 9 months ago (2015-03-17 18:49:36 UTC) #21
jww
On 2015/03/17 18:49:36, jochen (slow) wrote: > can we add some test how suborigins interact ...
5 years, 9 months ago (2015-03-18 00:16:39 UTC) #22
jww
Mike, can you take a look at my response to your comments and the respective ...
5 years, 9 months ago (2015-03-20 22:50:04 UTC) #23
Mike West
Added some preliminary feedback. All the comments can basically be summarized as "I'm not comfortable ...
5 years, 9 months ago (2015-03-23 07:32:56 UTC) #24
Mike West
Ping?
5 years, 8 months ago (2015-03-30 12:03:19 UTC) #25
Mike West
On 2015/03/30 at 12:03:19, Mike West (OOO until 7th) wrote: > Ping? Ping ping?
5 years, 8 months ago (2015-04-07 06:50:26 UTC) #26
jww
On 2015/04/07 06:50:26, Mike West wrote: > On 2015/03/30 at 12:03:19, Mike West (OOO until ...
5 years, 8 months ago (2015-04-09 01:09:50 UTC) #27
jww
On 2015/04/09 01:09:50, jww wrote: > On 2015/04/07 06:50:26, Mike West wrote: > > On ...
5 years, 8 months ago (2015-04-10 01:47:15 UTC) #28
jww
On 2015/04/10 01:47:15, jww wrote: > On 2015/04/09 01:09:50, jww wrote: > > On 2015/04/07 ...
5 years, 8 months ago (2015-04-11 02:36:25 UTC) #29
jww
Oops, almost forgot my responses. https://codereview.chromium.org/27073003/diff/167001/LayoutTests/http/tests/security/suborigins/suborigin-invalid-names.html File LayoutTests/http/tests/security/suborigins/suborigin-invalid-names.html (right): https://codereview.chromium.org/27073003/diff/167001/LayoutTests/http/tests/security/suborigins/suborigin-invalid-names.html#newcode35 LayoutTests/http/tests/security/suborigins/suborigin-invalid-names.html:35: assert_equals(secret, "I am a ...
5 years, 8 months ago (2015-04-11 02:52:36 UTC) #30
Mike West
The changes between #9 and #10 seem reasonable, but my overarching feedback is that it's ...
5 years, 8 months ago (2015-04-13 10:03:35 UTC) #31
jww
On 2015/04/13 10:03:35, Mike West wrote: > The changes between #9 and #10 seem reasonable, ...
5 years, 8 months ago (2015-04-13 23:51:08 UTC) #32
jww
5 years, 8 months ago (2015-04-25 00:41:22 UTC) #33
https://codereview.chromium.org/27073003/diff/167001/Source/platform/weborigi...
File Source/platform/weborigin/SecurityOrigin.cpp (right):

https://codereview.chromium.org/27073003/diff/167001/Source/platform/weborigi...
Source/platform/weborigin/SecurityOrigin.cpp:156: if
(deserializeSuboriginAndProtocol(m_protocol, suboriginName, m_protocol))
On 2015/03/23 07:32:55, Mike West wrote:
> A side-effect of lumping the suborigin into the protocol is that two URLs
> produced from the same "real" origin might compare as distinct given their
> suborigins. Have you looked into the impact of suborigins on the URL parsing
> behavior of things like `Document::completeURL`? What is the expected impact?

Agreed. For this original implementation, my idea was to "deny" by default and
work out how to "allow" on a case by case basis. Based on my converastion with
aaj@, I'm not sure that's the right approach so I'm reevaluating.

Powered by Google App Engine
This is Rietveld 408576698