aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/lib/Controller/CheckSetupController.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2021-02-13 14:58:26 +0100
committerGitHub <noreply@github.com>2021-02-13 14:58:26 +0100
commitae4e47cbe733d4aa0c7fed0a7c9ba30b4514e660 (patch)
tree112f824fd83ffeb31c81d8cd706773b03521bcf4 /apps/settings/lib/Controller/CheckSetupController.php
parent5b43afd076aa25474456ee01cd077acebe7b4675 (diff)
parent01118a2218e76d5fb89eb5eaeb101ce43632996f (diff)
downloadnextcloud-server-ae4e47cbe733d4aa0c7fed0a7c9ba30b4514e660.tar.gz
nextcloud-server-ae4e47cbe733d4aa0c7fed0a7c9ba30b4514e660.zip
Merge pull request #25608 from nextcloud/trusted-proxy-check-correct-header
use the configured forwarded headers for the setup check
Diffstat (limited to 'apps/settings/lib/Controller/CheckSetupController.php')
-rw-r--r--apps/settings/lib/Controller/CheckSetupController.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/settings/lib/Controller/CheckSetupController.php b/apps/settings/lib/Controller/CheckSetupController.php
index d732b137199..47a55591a46 100644
--- a/apps/settings/lib/Controller/CheckSetupController.php
+++ b/apps/settings/lib/Controller/CheckSetupController.php
@@ -309,7 +309,14 @@ class CheckSetupController extends Controller {
$trustedProxies = $this->config->getSystemValue('trusted_proxies', []);
$remoteAddress = $this->request->getHeader('REMOTE_ADDR');
- if (empty($trustedProxies) && $this->request->getHeader('X-Forwarded-Host') !== '') {
+ $forwardedForHeaders = $this->config->getSystemValue('forwarded_for_headers', [
+ 'HTTP_X_FORWARDED_FOR'
+ ]);
+ $hasForwardedHeaderSet = array_reduce($forwardedForHeaders, function($set, $header) {
+ return $set || ($this->request->getHeader($header) !== '');
+ }, false);
+
+ if (empty($trustedProxies) && $hasForwardedHeaderSet) {
return false;
}