]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix(ObjectStore): handle empty S3 hostname 45839/head
authorJosh <josh.t.richards@gmail.com>
Mon, 3 Jun 2024 21:31:26 +0000 (17:31 -0400)
committerDaniel <mail@danielkesselberg.de>
Thu, 13 Jun 2024 09:22:58 +0000 (11:22 +0200)
Fixes #45637

The support for s3-accelerate added in #44496 introduced a regression in AWS S3 environments when `hostname` is blank (which is a valid configuration w/ AWS since the hostname gets auto-generated).

Signed-off-by: Josh <josh.t.richards@gmail.com>
lib/private/Files/ObjectStore/S3ConnectionTrait.php

index 7aa4189bbdecdd7e8b82c1bf21e7c19a07dd3708..19fcc5434a00184aa269d9182c60e0f355b15a42 100644 (file)
@@ -95,8 +95,8 @@ trait S3ConnectionTrait {
                $this->copySizeLimit = $params['copySizeLimit'] ?? 5242880000;
                $this->useMultipartCopy = (bool)($params['useMultipartCopy'] ?? true);
                $params['region'] = empty($params['region']) ? 'eu-west-1' : $params['region'];
-               $params['s3-accelerate'] = $params['hostname'] == 's3-accelerate.amazonaws.com' || $params['hostname'] == 's3-accelerate.dualstack.amazonaws.com';
                $params['hostname'] = empty($params['hostname']) ? 's3.' . $params['region'] . '.amazonaws.com' : $params['hostname'];
+               $params['s3-accelerate'] = $params['hostname'] === 's3-accelerate.amazonaws.com' || $params['hostname'] === 's3-accelerate.dualstack.amazonaws.com';
                if (!isset($params['port']) || $params['port'] === '') {
                        $params['port'] = (isset($params['use_ssl']) && $params['use_ssl'] === false) ? 80 : 443;
                }