Files
cromite/build/patches/Remove-auth-header-upon-cross-origin-redirect.patch
T

47 lines
2.4 KiB
Diff

From: uazo <uazo@users.noreply.github.com>
Date: Wed, 19 Apr 2023 06:53:19 +0000
Subject: Remove auth header upon cross origin redirect
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../Remove-auth-header-upon-cross-origin-redirect.inc | 1 +
.../blink/renderer/platform/loader/fetch/resource_loader.cc | 3 +++
.../platform/loader/fetch/url_loader/sync_load_context.cc | 4 ++++
3 files changed, 8 insertions(+)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
diff --git a/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc b/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/third_party/blink/common/features_cc/Remove-auth-header-upon-cross-origin-redirect.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kRemoveAuthroizationOnCrossOriginRedirect);
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -600,6 +600,9 @@ bool ResourceLoader::WillFollowRedirect(
new_url)) {
fetcher_->GetUseCounter().CountUse(
mojom::WebFeature::kAuthorizationCrossOrigin);
+ if (removed_headers) {
+ removed_headers->push_back(net::HttpRequestHeaders::kAuthorization);
+ }
}
// TODO(https://crbug.com/471397, https://crbug.com/1406737): Reconsider
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
@@ -199,6 +199,10 @@ void SyncLoadContext::FollowRedirect(std::vector<std::string> removed_headers,
return;
}
+ if (response_->has_authorization_header_between_cross_origin_redirect_) {
+ removed_headers.push_back(net::HttpRequestHeaders::kAuthorization);
+ }
+
response_->redirect_info = net::RedirectInfo();
*context_for_redirect_ = nullptr;
std::move(follow_redirect_callback_)
--