diff --git a/ilot/nextcloud30/50813_check-if-storage-id-is-set-on-cache.patch b/ilot/nextcloud30/50813_check-if-storage-id-is-set-on-cache.patch new file mode 100644 index 0000000..1f704c7 --- /dev/null +++ b/ilot/nextcloud30/50813_check-if-storage-id-is-set-on-cache.patch @@ -0,0 +1,62 @@ +From 59a0bc99824402fc126e58dfcc8da68fc6e41349 Mon Sep 17 00:00:00 2001 +From: Git'Fellow <12234510+solracsf@users.noreply.github.com> +Date: Wed, 12 Feb 2025 11:30:14 +0100 +Subject: [PATCH] fix(SharedStorage): Check if storage ID is set on cache + +Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> +--- + apps/files_sharing/lib/SharedStorage.php | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php +index 2ac157f7970b6..a70632d6faa54 100644 +--- a/apps/files_sharing/lib/SharedStorage.php ++++ b/apps/files_sharing/lib/SharedStorage.php +@@ -29,6 +29,7 @@ use OCP\Files\Storage\IDisableEncryptionStorage; + use OCP\Files\Storage\ISharedStorage; + use OCP\Files\Storage\IStorage; + use OCP\Lock\ILockingProvider; ++use OCP\Server; + use OCP\Share\IShare; + use Psr\Log\LoggerInterface; + +@@ -82,7 +83,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha + + public function __construct($arguments) { + $this->ownerView = $arguments['ownerView']; +- $this->logger = \OC::$server->get(LoggerInterface::class); ++ $this->logger = Server::get(LoggerInterface::class); + + $this->superShare = $arguments['superShare']; + $this->groupedShares = $arguments['groupedShares']; +@@ -142,7 +143,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha + } + + /** @var IRootFolder $rootFolder */ +- $rootFolder = \OC::$server->get(IRootFolder::class); ++ $rootFolder = Server::get(IRootFolder::class); + $this->ownerUserFolder = $rootFolder->getUserFolder($this->superShare->getShareOwner()); + $sourceId = $this->superShare->getNodeId(); + $ownerNodes = $this->ownerUserFolder->getById($sourceId); +@@ -431,7 +432,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha + $this->cache = new \OCA\Files_Sharing\Cache( + $storage, + $sourceRoot, +- \OC::$server->get(CacheDependencies::class), ++ Server::get(CacheDependencies::class), + $this->getShare() + ); + return $this->cache; +@@ -456,10 +457,10 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha + // Get node information + $node = $this->getShare()->getNodeCacheEntry(); + if ($node instanceof CacheEntry) { +- $storageId = $node->getData()['storage_string_id']; ++ $storageId = $node->getData()['storage_string_id'] ?? null; + // for shares from the home storage we can rely on the home storage to keep itself up to date + // for other storages we need use the proper watcher +- if (!(str_starts_with($storageId, 'home::') || str_starts_with($storageId, 'object::user'))) { ++ if ($storageId !== null && !(str_starts_with($storageId, 'home::') || str_starts_with($storageId, 'object::user'))) { + $this->watcher = parent::getWatcher($path, $storage); + return $this->watcher; + } diff --git a/ilot/nextcloud30/APKBUILD b/ilot/nextcloud30/APKBUILD index 66aca75..d0c86f2 100644 --- a/ilot/nextcloud30/APKBUILD +++ b/ilot/nextcloud30/APKBUILD @@ -87,6 +87,7 @@ source="https://download.nextcloud.com/server/releases/nextcloud-$pkgver.tar.bz2 dont-update-htaccess.patch disable-integrity-check-as-default.patch use-external-docs-if-local-not-avail.patch + 50813_check-if-storage-id-is-set-on-cache.patch $_pkgname-config.php $_pkgname.logrotate @@ -311,10 +312,11 @@ _package_app() { sha512sums=" 0bca2f42ccfb7db4befdd2aeeb1df72d2f9acad88907706f8524ced55bd0213b30b687a5e4c623615e59f22246562e195fd74bbb409c4f60b713482e1237d755 nextcloud-30.0.8.tar.bz2 -daeabeaa315bb908cc1e49612cce4b2debd71d17acb84b5d14e15fe124c907884b72d54e9aa669ec209eee1b1934d0bc242d72a28d8db7339cfb08383f66fd5c nextcloud-dont-chmod.patch +aea0adb2c3a48ec6af2958c6ccfe13adff86316a56084e763b7e6df9e21aa3435b13305b7c15cc2b795e83c9388b05006862f6465c29e3dc2c1fbd8eb8befcb9 nextcloud-dont-chmod.patch 12f4a39aef0f81a0115c81bf2b345cc194537a7e8300748b800b0e35bc07928091296074b23c2019c17aced69854a11d1ed7225f67eefd27cf00c3969a75c5b0 dont-update-htaccess.patch cb04252d01407c7030e87dd54616c621ea0f85ef0212674b1161288182538cae0fb31c67e7cc07c66f9607075774c64e386009cc66365b1f1b155f6ad4f83ac0 disable-integrity-check-as-default.patch c0a9b7c31c8beaca711f8e97d98441007b3dca7fb3d316d2eacd28a73b5233def6f846c02d98202f75efb9cb248b8787a80e20b07c32d1c7534a0e54bb20feab use-external-docs-if-local-not-avail.patch +5925787e34c39ad217103b9ebe82654c612a97e70d4b2208c77f84847afb1bcccd929366a807fa76ff929a7ee7e8008eaa58fd950915ffcce8ef2ddf97ef9d1d 50813_check-if-storage-id-is-set-on-cache.patch 5f73cd9399fa484ef15bd47e803c93381deffbc7699eceadbb5c27e43b20156806d74e5021a64d28f0165ef87b519e962780651711a37bceb9f0b04455dfdce1 nextcloud-config.php 7388458a9e8b7afd3d3269718306410ffa59c3c23da4bef367a4d7f6d2570136fae9dd421b19c1441e7ffb15a5405e18bb5da67b1a15f9f45e8b98d3fda532ba nextcloud.logrotate dcc57735d7d4af4a7ebbdd1186d301e51d2ae4675022aea6bf1111222dfa188a3a490ebd6e7c8a7ac30046cb7d93f81cec72a51acbc60d0c10b7fb64630c637a nextcloud.confd diff --git a/ilot/nextcloud30/nextcloud-dont-chmod.patch b/ilot/nextcloud30/nextcloud-dont-chmod.patch index 1929185..2145508 100644 --- a/ilot/nextcloud30/nextcloud-dont-chmod.patch +++ b/ilot/nextcloud30/nextcloud-dont-chmod.patch @@ -32,6 +32,18 @@ index 9e9abb11..7db25286 100644 if ($handle) { fwrite($handle, $entry."\n"); fclose($handle); +diff --git a/lib/private/TempManager.php b/lib/private/TempManager.php +index 49d4ee94..b0943843 100644 +--- a/lib/private/TempManager.php ++++ b/lib/private/TempManager.php +@@ -96,7 +96,6 @@ class TempManager implements ITempManager { + if ($postFix !== '') { + $fileNameWithPostfix = $this->buildFileNameWithSuffix($file, $postFix); + touch($fileNameWithPostfix); +- chmod($fileNameWithPostfix, 0600); + $this->current[] = $fileNameWithPostfix; + return $fileNameWithPostfix; + } diff --git a/lib/private/legacy/OC_Util.php b/lib/private/legacy/OC_Util.php index 71f6edba..216abdf8 100644 --- a/lib/private/legacy/OC_Util.php