]> source.dussan.org Git - nextcloud-server.git/commitdiff
disable update checking for shared storages
authorRobin Appelman <robin@icewind.nl>
Tue, 15 Sep 2020 14:29:21 +0000 (16:29 +0200)
committerRobin Appelman <robin@icewind.nl>
Tue, 15 Sep 2020 14:42:40 +0000 (16:42 +0200)
update checking is already handled by the share source

Signed-off-by: Robin Appelman <robin@icewind.nl>
apps/files_sharing/lib/SharedStorage.php
lib/composer/composer/autoload_classmap.php
lib/composer/composer/autoload_static.php
lib/private/Files/Cache/NullWatcher.php [new file with mode: 0644]

index 1735cab43f6142543280ab80b0c287ab83649df0..43896679a31dd1ee2137daf317f4808cd62ecc28 100644 (file)
@@ -33,6 +33,8 @@
 namespace OCA\Files_Sharing;
 
 use OC\Files\Cache\FailedCache;
+use OC\Files\Cache\LazyWatcher;
+use OC\Files\Cache\NullWatcher;
 use OC\Files\Filesystem;
 use OC\Files\Storage\FailedStorage;
 use OC\Files\Storage\Wrapper\PermissionsMask;
@@ -126,7 +128,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
                try {
                        Filesystem::initMountPoints($this->superShare->getShareOwner());
                        $sourcePath = $this->ownerView->getPath($this->superShare->getNodeId());
-                       list($this->nonMaskedStorage, $this->rootPath) = $this->ownerView->resolvePath($sourcePath);
+                       [$this->nonMaskedStorage, $this->rootPath] = $this->ownerView->resolvePath($sourcePath);
                        $this->storage = new PermissionsMask([
                                'storage' => $this->nonMaskedStorage,
                                'mask' => $this->superShare->getPermissions()
@@ -160,7 +162,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
                if ($class === '\OC\Files\Storage\Common') {
                        return true;
                }
-               if (in_array($class, ['\OC\Files\Storage\Home', '\OC\Files\ObjectStore\HomeObjectStoreStorage'])) {
+               if (in_array($class, ['\OC\Files\Storage\Home', '\OC\Files\ObjectStore\HomeObjectStoreStorage', '\OCP\Files\IHomeStorage'])) {
                        return false;
                }
                return parent::instanceOfStorage($class);
@@ -223,7 +225,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
                }
                /** @var IStorage $storage */
                /** @var string $internalPath */
-               list($storage, $internalPath) = $this->resolvePath($path);
+               [$storage, $internalPath] = $this->resolvePath($path);
                return $storage->isReadable($internalPath);
        }
 
@@ -397,6 +399,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
                return $this->superShare->getShareOwner();
        }
 
+       public function getWatcher($path = '', $storage = null) {
+               // cache updating is handled by the share source
+               return new NullWatcher();
+       }
+
        /**
         * unshare complete storage, also the grouped shares
         *
@@ -417,7 +424,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
         */
        public function acquireLock($path, $type, ILockingProvider $provider) {
                /** @var \OCP\Files\Storage $targetStorage */
-               list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
+               [$targetStorage, $targetInternalPath] = $this->resolvePath($path);
                $targetStorage->acquireLock($targetInternalPath, $type, $provider);
                // lock the parent folders of the owner when locking the share as recipient
                if ($path === '') {
@@ -433,7 +440,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
         */
        public function releaseLock($path, $type, ILockingProvider $provider) {
                /** @var \OCP\Files\Storage $targetStorage */
-               list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
+               [$targetStorage, $targetInternalPath] = $this->resolvePath($path);
                $targetStorage->releaseLock($targetInternalPath, $type, $provider);
                // unlock the parent folders of the owner when unlocking the share as recipient
                if ($path === '') {
@@ -449,7 +456,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
         */
        public function changeLock($path, $type, ILockingProvider $provider) {
                /** @var \OCP\Files\Storage $targetStorage */
-               list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
+               [$targetStorage, $targetInternalPath] = $this->resolvePath($path);
                $targetStorage->changeLock($targetInternalPath, $type, $provider);
        }
 
index a217a7044482d70ff78ca3fbd46046adb1bc2575..a1960f678fd0c3b8123730ff699d906b65105104 100644 (file)
@@ -1011,6 +1011,7 @@ return array(
     'OC\\Files\\Cache\\HomePropagator' => $baseDir . '/lib/private/Files/Cache/HomePropagator.php',
     'OC\\Files\\Cache\\LocalRootScanner' => $baseDir . '/lib/private/Files/Cache/LocalRootScanner.php',
     'OC\\Files\\Cache\\MoveFromCacheTrait' => $baseDir . '/lib/private/Files/Cache/MoveFromCacheTrait.php',
+    'OC\\Files\\Cache\\NullWatcher' => $baseDir . '/lib/private/Files/Cache/NullWatcher.php',
     'OC\\Files\\Cache\\Propagator' => $baseDir . '/lib/private/Files/Cache/Propagator.php',
     'OC\\Files\\Cache\\QuerySearchHelper' => $baseDir . '/lib/private/Files/Cache/QuerySearchHelper.php',
     'OC\\Files\\Cache\\Scanner' => $baseDir . '/lib/private/Files/Cache/Scanner.php',
index 9e46855f1ebc2e2d37a2aa7422e715e3d06cca80..8c7db5e5723d654931647ba7339eb1a48cdcefce 100644 (file)
@@ -1040,6 +1040,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OC\\Files\\Cache\\HomePropagator' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/HomePropagator.php',
         'OC\\Files\\Cache\\LocalRootScanner' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/LocalRootScanner.php',
         'OC\\Files\\Cache\\MoveFromCacheTrait' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/MoveFromCacheTrait.php',
+        'OC\\Files\\Cache\\NullWatcher' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/NullWatcher.php',
         'OC\\Files\\Cache\\Propagator' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Propagator.php',
         'OC\\Files\\Cache\\QuerySearchHelper' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/QuerySearchHelper.php',
         'OC\\Files\\Cache\\Scanner' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Scanner.php',
diff --git a/lib/private/Files/Cache/NullWatcher.php b/lib/private/Files/Cache/NullWatcher.php
new file mode 100644 (file)
index 0000000..6ab886f
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2020 Robin Appelman <robin@icewind.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Files\Cache;
+
+class NullWatcher extends Watcher {
+       private $policy;
+
+       public function __construct() {
+
+       }
+
+       public function setPolicy($policy) {
+               $this->policy = $policy;
+       }
+
+       public function getPolicy() {
+               return $this->policy;
+       }
+
+       public function checkUpdate($path, $cachedEntry = null) {
+               return false;
+       }
+
+       public function update($path, $cachedData) {
+
+       }
+
+       public function needsUpdate($path, $cachedData) {
+               return false;
+       }
+
+       public function cleanFolder($path) {
+
+       }
+}