Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 85f98322e6a68f91eff9a5c02bce5d9ea908bb84
      
https://github.com/WebKit/WebKit/commit/85f98322e6a68f91eff9a5c02bce5d9ea908bb84
  Author: Youenn Fablet <[email protected]>
  Date:   2024-05-05 (Sun, 05 May 2024)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/cookies/resources/cookie-test.js
    M 
LayoutTests/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js
    M 
LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt
    R 
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt
    R 
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt
    M Source/WebCore/loader/DocumentThreadableLoader.cpp
    M Source/WebCore/loader/SubresourceLoader.cpp
    M Source/WebCore/platform/network/ResourceErrorBase.cpp
    M Source/WebCore/platform/network/ResourceErrorBase.h
    M Source/WebCore/platform/network/ResourceResponseBase.h
    M Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp

  Log Message:
  -----------
  NUL bytes in header values allowed for fetch-API
https://bugs.webkit.org/show_bug.cgi?id=272740
rdar://126913166

Reviewed by Chris Dumez and Alex Christensen.

In no-cors mode, we are filtering responses before sending them to web process.
This can remove NUL header values.
We add a check in NetworkLoadChecker for NUL header values and fail the load as 
done in web pProcess.
We introduce a badResponseHeadersError routine to share more code between web 
process and network process.

We add a test in 
LayoutTests/imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js
 to cover the change.
We have to update 
LayoutTests/imported/w3c/web-platform-tests/cookies/resources/cookie-test.js to 
make sure cookie removal is done one at a time since our test runner has this 
constraint.

* 
LayoutTests/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/cookies/resources/cookie-test.js:
* 
LayoutTests/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js:
(promise_test.async t):
* 
LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt:
* 
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/cookies/name/name-ctl-expected.txt:
 Removed.
* 
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/cookies/value/value-ctl-expected.txt:
 Removed.
* Source/WebCore/loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* Source/WebCore/loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
* Source/WebCore/platform/network/ResourceErrorBase.cpp:
(WebCore::badResponseHeadersError):
* Source/WebCore/platform/network/ResourceErrorBase.h:
* Source/WebCore/platform/network/ResourceResponseBase.h:
* Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::validateResponse):

Canonical link: https://commits.webkit.org/278389@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to