]> source.dussan.org Git - nextcloud-server.git/commitdiff
only use nextcloud bundle when explicitly enabled 32963/head
authorRobin Appelman <robin@icewind.nl>
Tue, 5 Jul 2022 14:06:55 +0000 (16:06 +0200)
committerRobin Appelman <robin@icewind.nl>
Tue, 5 Jul 2022 14:06:55 +0000 (16:06 +0200)
Signed-off-by: Robin Appelman <robin@icewind.nl>
lib/private/Files/ObjectStore/S3ConnectionTrait.php
lib/private/Files/ObjectStore/S3ObjectTrait.php

index a1dd8ba3909ba5110e7834ae45cad86550c9b838..8286321450ddddc9208e8dd797d7efa1b29cdffa 100644 (file)
@@ -28,6 +28,7 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  *
  */
+
 namespace OC\Files\ObjectStore;
 
 use Aws\ClientResolver;
@@ -143,7 +144,7 @@ trait S3ConnectionTrait {
                if (!$this->connection::isBucketDnsCompatible($this->bucket)) {
                        $logger = \OC::$server->get(LoggerInterface::class);
                        $logger->debug('Bucket "' . $this->bucket . '" This bucket name is not dns compatible, it may contain invalid characters.',
-                                        ['app' => 'objectstore']);
+                               ['app' => 'objectstore']);
                }
 
                if ($this->params['verify_bucket_exists'] && !$this->connection->doesBucketExist($this->bucket)) {
@@ -194,7 +195,7 @@ trait S3ConnectionTrait {
        /**
         * This function creates a credential provider based on user parameter file
         */
-       protected function paramCredentialProvider() : callable {
+       protected function paramCredentialProvider(): callable {
                return function () {
                        $key = empty($this->params['key']) ? null : $this->params['key'];
                        $secret = empty($this->params['secret']) ? null : $this->params['secret'];
@@ -210,14 +211,18 @@ trait S3ConnectionTrait {
                };
        }
 
-       protected function getCertificateBundlePath(): string {
-               // since we store the certificate bundles on the primary storage, we can't get the bundle while setting up the primary storage
-               if (!isset($this->params['primary_storage'])) {
-                       /** @var ICertificateManager $certManager */
-                       $certManager = \OC::$server->get(ICertificateManager::class);
-                       return $certManager->getAbsoluteBundlePath();
+       protected function getCertificateBundlePath(): ?string {
+               if ((int)($this->params['use_nextcloud_bundle'] ?? "0")) {
+                       // since we store the certificate bundles on the primary storage, we can't get the bundle while setting up the primary storage
+                       if (!isset($this->params['primary_storage'])) {
+                               /** @var ICertificateManager $certManager */
+                               $certManager = \OC::$server->get(ICertificateManager::class);
+                               return $certManager->getAbsoluteBundlePath();
+                       } else {
+                               return \OC::$SERVERROOT . '/resources/config/ca-bundle.crt';
+                       }
                } else {
-                       return \OC::$SERVERROOT . '/resources/config/ca-bundle.crt';
+                       return null;
                }
        }
 }
index a4efc6872361a81160d46296c2459c92b9dc8651..0b2fd95c652baf5b29ea21d642d1614bcf75d6ff 100644 (file)
@@ -43,7 +43,7 @@ trait S3ObjectTrait {
         */
        abstract protected function getConnection();
 
-       abstract protected function getCertificateBundlePath(): string;
+       abstract protected function getCertificateBundlePath(): ?string;
 
        /**
         * @param string $urn the unified resource name used to identify the object