Commit Graph

1897 Commits (2970232790a24c07fb0154f901b4864d54a9d027)

Author SHA1 Message Date
Robin Appelman c2f474ff49
Merge pull request #48769 from nextcloud/copy-share-unmasked
Fix incorrect permissions when copying shared files
2024-12-04 20:11:41 +07:00
John Molakvoæ b4c43bb811
Merge pull request #49551 from nextcloud/dont-propagate-future-time 2024-12-04 20:11:23 +07:00
Robin Appelman 6419de7acc fix: use scan_permissions when copying cache items
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-04 19:19:08 +07:00
Robin Appelman 88c685f27c fix: store unmaked source permissions as scan_permissions when loading share cache items
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-04 19:19:08 +07:00
Louis 1ef3e3e753
Merge pull request #49293 from nextcloud/artonge/fix/handle_folders_copy_live_photos
fix: Handle copy of folders containing live photos
2024-12-04 17:02:56 +07:00
Louis 27331d48e3
Merge pull request #48651 from nextcloud/artonge/fix/copy_cache_during_copy_operations
fix(files): Correctly copy the cache information during copy operations
2024-12-04 16:58:01 +07:00
Louis Chemineau f6c48a45ae
fix: Correctly create NonExistingFolder during copy
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-04 15:38:35 +07:00
Robin Appelman ae30269eac
fix: don't set 'name' on null metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-03 19:12:45 +07:00
Louis Chemineau 199b0bd4d9
fix(files): Correctly copy the cache information on copy operations
Needed to copy the `encrypted` flag of encrypted files when those files are two level down in a moved folder.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 17:04:44 +07:00
Robin Appelman aadfcb3fe6
fix: don't propagate future mtimes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-28 17:24:36 +07:00
Robin Appelman b2c01785ae
fix: fix availability wrapper not applying
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 17:44:58 +07:00
Robin Appelman df3a9e221d
fix: throw correct exception type when we can't verify if an s3 bucket exists
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 16:49:55 +07:00
Louis Chemineau f9cda54cbf
fix: Wrap partial cache entry in CacheEntry
Because it is returned here: 7b7d07c575/lib/private/Files/Cache/Cache.php (L136-L137)

And some implementation got stricter: df95bf6ba8/lib/Mount/RootEntryCache.php (L23-L28)

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-11-21 17:13:24 +07:00
John Molakvoæ c1abc69b3e
Merge pull request #49417 from nextcloud/refactSmallAdjust 2024-11-21 12:18:30 +07:00
John Molakvoæ e2040980de
Merge pull request #49420 from nextcloud/fix/etag-constraint-search-query 2024-11-21 11:27:46 +07:00
skjnldsv 4db5f708b6 fix(cache): etag constraint violation
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-21 10:34:39 +07:00
Git'Fellow 60d956f39f refactor(storage): Code adjustements and simplifications
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-11-21 10:02:00 +07:00
Git'Fellow 8755bf1815 fix(storage): Try to delete existing target
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Add same logic to common storage
2024-11-20 09:42:33 +07:00
Robin Appelman 0bc478de2c
fix: don't do same-storage move optimization with encryption wrappers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-13 18:47:13 +07:00
skjnldsv 954b6c68a0 chore: use `$this->logger` and prevent Server::get
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 10:56:30 +07:00
Victor Dubiniuk 0f96a2ccb9 Fix Undefined variable: response notice in case of non-404 error
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 10:56:25 +07:00
provokateurin 77114fb327
fix(OpenAPI): Adjust array syntax to avoid ambiguities
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-05 09:58:11 +07:00
John Molakvoæ e3e22e28c0
Merge pull request #47847 from nextcloud/fix-copying-or-moving-from-shared-groupfolders 2024-10-29 11:33:12 +07:00
skjnldsv 14e2a8d3f9 feat(systemtags): add etag support and handle proppatch
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:31 +07:00
Kate 5efb175665
Merge pull request #48614 from nextcloud/refactor/storage/constructors 2024-10-28 10:19:41 +07:00
provokateurin 0de4843b73 refactor(Storage): Align all Storage constructors
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 13:24:18 +07:00
Louis 5f69d8d891
fix: $uid type in Encryption stream
As explained by the comment.

Signed-off-by: Louis <louis@chmn.me>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-10-23 13:20:40 +07:00
dependabot[bot] bb598c8451
chore(deps): Bump nextcloud/coding-standard in /vendor-bin/cs-fixer
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-19 07:57:35 +07:00
Git'Fellow a1681b0756 chore(db): Apply query prepared statements
Fix: psalm

fix: bad file

fix: bug

chore: add batch

chore: add batch

chore: add batch

fix: psalm
2024-10-17 20:30:47 +07:00
Git'Fellow c254855222 chore(db): Correctly apply query types
fix: psalm

fix: error

fix: add batch

fix: fatal error

fix: add batch

chore: add batch

chore: add batch

fix: psalm

fix: typo

fix: psalm

fix: return bool

fix: revert Manager
2024-10-17 09:21:07 +07:00
Thomas Citharel dcd27fd986
feat(http-client): expose default request timeout constant to be used instead of magic number 30
Will be used to set default where we are able to override the default timeout.

See https://github.com/nextcloud/server/pull/48418

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-10-11 10:57:02 +07:00
Daniel Calviño Sánchez 3017951d1d fix: Fix copying or moving from shared groupfolders
When copying or moving between two local storages the source path (on
disk) to copy or move from is got from the unjailed path of the source
storage. However, if the source storage has more than one jail getting
the unjailed path resolves the most external jail, but the source path
needs to be got from the most internal jail instead (the one closer to
the local storage).

This can happen, for example, with a shared groupfolder: in that case
there is an external jail for the shared storage, and one internal jail
for the groupfolder storage wrapped by the shared storage.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-10 15:16:12 +07:00
Kate 43b1fd7bb8
Merge pull request #48623 from nextcloud/fix/allow-quota-wrapper-check 2024-10-09 18:39:42 +07:00
Julius Knorr 75381dfe0c
fix: Allow overriding shouldApplyQuota check from child classes
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-10-09 08:25:30 +07:00
provokateurin f28e74b7a8
refactor(Storage): Make all parameter types strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:05 +07:00
provokateurin 4412b2b8a8
refactor(Wrapper\Encryption): Migrate to strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:11:56 +07:00
provokateurin d1977b8d25
refactor(Stream\Encryption): Migrate to strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:02:27 +07:00
Kate 26762172f5
Merge pull request #48454 from nextcloud/fix/storage/get-directory-content-return-type 2024-10-01 16:22:16 +07:00
Robin Appelman 1bf27e74dd
Merge pull request #48235 from nextcloud/readd-object-store-phpunit
test: re-add object store primary storage phpunit tests
2024-10-01 15:11:10 +07:00
Daniel Kesselberg fbaa4cc5e0 fix: catch NotPermittedException in Folder.nodeExists
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-09-30 19:00:36 +07:00
Daniel Kesselberg 3db20c8b00 docs: Folder.get throws a NotPermittedException exception
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-09-30 19:00:36 +07:00
provokateurin e1998b6b6c
fix(Storage): Fix getDirectoryContent() return type
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-30 16:49:27 +07:00
Côme Chilliet 6ef05bafeb
fix: Fix test of IConstructableStorage implentation by storage classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-30 11:21:42 +07:00
Robin Appelman 3e12e1e789
fix: rework move into object store to better preserve fileids
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:46:08 +07:00
Robin Appelman 888d06dff9
fix: preserve fileid when moving from objectstore to non-objectstore
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:45:42 +07:00
Robin Appelman da21acfb3f
fix: ensure source folder is removed from cache when moving to objectstore
otherwise this causes confusion down the line as it's contents will be moved to the new cache

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:45:42 +07:00
provokateurin 7cdccd058f
fix(Storage): Fix IStorage return types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 18:13:03 +07:00
Carl Schwan 77821f8f3e
feat(trashbin): Port files trashbin events to IEventDispatcher/IEventListener
oc_hooks is deprecated and will at some point be removed

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 18:13:21 +07:00
Côme Chilliet 94b0a0e863 fix: Move storage constructor to specific interface
That allows Wrappers to use DI and not care about the constructor

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 09:46:44 +07:00
Ferdinand Thiessen a8f46af20f
chore: Add proper deprecation dates where missing
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-20 00:46:03 +07:00
Robin Appelman 47d281865e perf: reuse cache info we already have when moving to object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 19:06:06 +07:00
provokateurin 9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00
Robin Appelman b45f2420fe fix: fix share reminder job for oracle
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 19:24:44 +07:00
Robin Appelman 3c0c81bb94 fix: ensure parent folder exists when writing a file to object storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 14:11:27 +07:00
Robin Appelman 75cf17e4c4 fix: verify that parent exists in cache when inserting
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 14:11:27 +07:00
Robin Appelman e0fb25f846 fix: fix object store id for test object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +07:00
Robin Appelman 60f6347c97 fix: cleanup objectstore file_put_content
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +07:00
Robin Appelman 3e94ee391f fix: create intermediate directories for objectstore moveFromStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +07:00
Robin Appelman 879fcc4253 fix: get source file before moving the cache item in objectstore moveFromStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +07:00
Stephan Orbaugh f25acfb799
Merge pull request #47986 from cfiehe/fix_move_on_same_bucket
perf(ObjectStoreStorage): Improve (slow) move on same object bucket
2024-09-17 16:35:19 +07:00
provokateurin d2d1e3284d
fix(Storage): Fix method docs inheritance
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:20:38 +07:00
provokateurin dc13f9cc1e
fix(Files): Handle getOwner() returning false
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:10:50 +07:00
provokateurin 8ca6fcace7
fix(Storage): Document getOwner() can return false
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:10:50 +07:00
Côme Chilliet e7ac9bb2d8
chore: Check storage is an instance of the correct class instead of psalm-suppress
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:39 +07:00
Côme Chilliet ed0ac284e3
chore: Remove deprecated Storage::search method instead of moving it to IStorage
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +07:00
Côme Chilliet 5d01e0a73c
chore: psalm-suppress legacy code weirdness
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +07:00
Côme Chilliet 492e6997d8
chore: Fix psalm issues, put back private versions of getter in private Storage interface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +07:00
Côme Chilliet 22822d5e9b
fix: Fix other uses of removed Storage interface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:36 +07:00
Christoph Fiehe 9597072ada perf(ObjectStoreStorage): Improve (slow) move on same object bucket
This commit fixes the issue #47856. When you upload a file into a group folder and when you use a single S3 bucket as primary storage, the final move operation hangs for a long time. In the background, Nextcloud initiates a copy-delete sequence from the bucket into the bucket, with causes a lot unnecessary overhead. Nextcloud thinks that the file must be imported to another storage and does not recognize that everything is done on the same object bucket. In that case, the import step can be completely skipped, which saves time, network bandwidth and reduces the load on the object storage.

The behavior improves a lot with https://github.com/nextcloud/server/pull/46013. However, there are still some put messages that are being sent to the object storage when you use an object storage as primary storage and upload files into a group folder.

Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-09-16 15:11:09 +07:00
John Molakvoæ 9acaf0788f chore: improve hash_file php usage in Local Storage
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-09-16 15:07:21 +07:00
Louis Chemineau 6674f790a9 fix(files): Ensure that the hash method does not return null
To match beececf660/lib/private/Files/View.php (L1050)

- Fix https://github.com/nextcloud/server/issues/44110

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-16 15:07:21 +07:00
John Molakvoæ ff0cab5956
Merge pull request #47852 from nextcloud/sharding-code-fixes 2024-09-16 11:39:58 +07:00
Kate 3fe3f8d1f6
Merge pull request #48016 from nextcloud/fix/s3configtrait/proxy-false 2024-09-15 19:16:04 +07:00
provokateurin 7c1c02d6a5
fix(S3ConfigTrait): Allow proxy field to take false
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 15:41:58 +07:00
provokateurin 5bbe535c27
fix(Storage\Local): Do not call getSourcePath() on SplFileInfo
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 15:39:09 +07:00
provokateurin 714671a8a6
fix(files): Adjust Cache::searchQuery() parameter name to match interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-13 18:13:44 +07:00
Robin Appelman a7eaed721c
Merge pull request #47853 from nextcloud/clearify-swift-exception
fix: make swift connect exception message more informative
2024-09-10 16:45:19 +07:00
Julius Knorr 46a4a16eb6
fix: Only write once to template instead of create/copy
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-10 09:43:42 +07:00
Robin Appelman 508d8e7c01
fix: make swift connect exception message more informative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 17:15:01 +07:00
Robin Appelman da59fd4389
fix: misc code fixes around db sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 16:59:59 +07:00
provokateurin 70fa51f042
fix(files): Never return a null ETag in DAV
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-09 10:30:33 +07:00
Git'Fellow a36738dbfc chore(storage): refactor some code portions
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

chore: revert portion

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-06 12:44:48 +07:00
Ferdinand Thiessen ba73beaac1
Merge pull request #47784 from nextcloud/fix/file-info
fix(FileInfo): correctly implement `\ArrayAccess::offsetGet`
2024-09-06 12:18:30 +07:00
Ferdinand Thiessen a96406086c fix(FileInfo): correctly implement `\ArrayAccess::offsetGet`
We are targetting PHP 8.1+, since PHP 8.0 `offsetGet` has the `mixed` types for `offset` and return value.
So this adds the types to correctly implement the interface.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-06 03:58:00 +07:00
Git'Fellow 0308001118 fix(files): Check if the target path is a descendant of the shared folder path
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: fix tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: add tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: tests
2024-09-05 23:54:01 +07:00
Anna Larch 8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07:00
Kate 09fef8f0ec
Merge pull request #47417 from nextcloud/fix/files/create-mountpoint-parents 2024-09-04 20:00:24 +07:00
Andy Scherzinger bfb5835750
Merge pull request #47546 from nextcloud/fix/files-view-error-messages
fix: Adjust filename validation messages
2024-08-29 23:28:50 +07:00
Julius Härtl 61108882b9
fix: Do not fail to get internal path on NonExistingFile/NonExistingFolder
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-29 12:43:44 +07:00
Ferdinand Thiessen 17f011f7c5 fix: Also validate parent path in `verifyPath`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 17:22:20 +07:00
Ferdinand Thiessen 08836696e2 fix: Allow read-only filename validation to allow reading files
Needed to read files with the "Windows compatibility" feature.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 17:22:20 +07:00
Ferdinand Thiessen 030c209d22 fix: Renaming does not need update but delete permissions
Renaming is basically copy + delete (a move), so no need to update permissions.
Especially if the node is in a invalid directory the node should be moveable but not editable.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 17:22:20 +07:00
Louis Chemineau 2574cbfa61
chore: Apply php:cs recommendations
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-08-28 10:44:18 +07:00
Robin Appelman 390f6a78b4
fix: hint storage id in more places
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +07:00
Robin Appelman 62f8b6517f
feat: implement distributing partitioned queries over multiple shards
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +07:00
Ferdinand Thiessen 81c6c24cd5
fix: Adjust filename validation messages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-27 23:12:24 +07:00
Julius Härtl 6d2253e692
Merge pull request #46013 from nextcloud/obj-store-move-from-storage-preserve-fileid
fix: write object to the correct urn when moving from another storage to object store
2024-08-26 13:47:27 +07:00
Daniel Kesselberg af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Robin Appelman bd740ac0b0
fix: write object to the correct urn when moving from another storage to object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-23 15:22:16 +07:00
provokateurin ebfbe99652
fix(files): Create non-existent parents of mountpoints
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-08-22 12:04:31 +07:00
Ferdinand Thiessen b9cc7bcec7
fix: `FilenameValidator::isForbidden` should only check forbidden files
And not forbidden basenames as this is used for different purposes.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-21 04:16:14 +07:00
Robin Appelman 3756152cb1
fix: use mountpoint from storage to find the encryption keys
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 13:32:03 +07:00
Robin Appelman 1071201052
feat: store the mountpoint of storages in the mount options
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 13:31:35 +07:00
Robin Appelman 5ca9d884d7
fix: don't recalculate folder size in Cache::delete if the entry didn't exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 12:50:42 +07:00
John Molakvoæ d35c4eb911
Merge branch 'master' into jr-readdir-false-false
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-08-16 10:53:50 +07:00
Andy Scherzinger 609fa7d5db
Merge pull request #47044 from nextcloud/fix/accept-several-mounts-in-encryption
fix(encryption): Fix mountpoint check to accept if several are found
2024-08-07 20:58:19 +07:00
Côme Chilliet 277c2cf5d1
fix(encryption): Fix mountpoint check to accept if several are found
There is no strong requirement to have only one mount for a given
 storage id. Also the error in this case would be misleading.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-05 17:34:25 +07:00
Robin Appelman eb4fb994cf
fix: ensure array returned from getMountsForFileId is continious
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-02 17:22:33 +07:00
Christopher Ng 572361f498 fix(files): Fix incorrect keys by reindexing
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-08-01 09:14:44 +07:00
Ferdinand Thiessen 21f558b12b
Merge pull request #46379 from nextcloud/fix/folder-search-owner
fix: `OCP\Files\Node\Folder::search` was not setting the owner
2024-07-30 13:04:15 +07:00
withbest dd08f93202 chore: fix some comments
Signed-off-by: withbest <seekseat@outlook.com>
2024-07-29 14:43:27 +07:00
Dennis Verspuij 181aecad4c fix: Release directory iterator and thereby its potential directory lock prior to deleting a directory, to avoid e.g. "Text file busy" error with VirtualBox shared folder storage
Signed-off-by: Dennis Verspuij <6680484+dennisverspuij@users.noreply.github.com>
2024-07-27 16:37:16 +07:00
Andy Scherzinger 4f2a29adf9
Merge pull request #46672 from nextcloud/fix/preview-invalid-id
Avoid using partial file info as valid one
2024-07-25 19:37:30 +07:00
Elizabeth Danzberger efe03ee690
feat: Add support for filling fields to backend components
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2024-07-25 11:11:40 +07:00
Elizabeth Danzberger 05ed5aa230
fix: Emit new `BeforeGetTemplates` event
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2024-07-25 11:11:38 +07:00
Julius Härtl 2b0bc8b310 fix: Do not return partial file info if we have a cache entry
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-22 22:32:34 +07:00
Ferdinand Thiessen 12796c3ae7
fix: FileInfo from `View` should have the correct name of a mountpoint
If a mountpoint is returned from a `View` the name must match the view scoped name
and not the global name.
For example group folders have a name like `1` or `2` (the ID),
but the name of the FileInfo returned fro mthe View should be the mount point name,
like `First groupfolder` or similar.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-22 22:01:12 +07:00
Ferdinand Thiessen 9716b0d735 refactor: Migrate some legacy and core functions to `IFilenameValidator`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-19 19:41:46 +07:00
Robin Appelman c5b687271b
fix: make batch propagator work with sharding restrictions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:07 +07:00
Robin Appelman 0931492ff0
fix: make usermountcache compatible with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:05 +07:00
Robin Appelman ad88fd07e3
fix: make joining on tags in search queries work with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:39 +07:00
Robin Appelman 80f8c7949e
fix: always set storage id in Cache::get
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:31 +07:00
Robin Appelman 5ff7bde3fb
fix: add set storage id for more cache queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:21 +07:00
Ferdinand Thiessen 69341e4306
refactor: Migrate filename validation logic from `Storage` to `FilenameValidator`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:49:09 +07:00
Ferdinand Thiessen bdbeabafa7
feat: Add `forbidden_filename_basenames` config option
This allows to configure forbidden filenames (the full filename like `.htaccess`)
and also forbidden basenames like `com0` where `com0`, `com0.txt` and `com0.tar.gz` will match.
We need this as only using basenames was too restrictive and will cause problems on some systems when updating.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-15 19:39:18 +07:00
Robin Appelman c82d382a20 feat: add base class for extending the query builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-12 17:01:39 +07:00
Ferdinand Thiessen cf935e33ae
fix: `OCP\Files\Node\Folder::search` was not setting the owner
The owner was not set on the file info causing e.g. webdav searches to never return the known owner.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 15:46:44 +07:00
Ferdinand Thiessen 46f1efac41
feat: Add `IFilenameValidator` to have one consistent place for filename validation
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-09 15:04:34 +07:00
Git'Fellow c84e76a749 fix(s3): Don't wait indefinitely for S3 to return
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: lint

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use AwsException

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Throw on connection failure

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Wrap all in try catch block

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use RequestTimeout error message

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

log: use OCP Server class

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle connect timeout only

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle errors more generically

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-05 16:24:32 +07:00
Robin Appelman ffced73a71 fix: also use optimized getFirstNodeyIdInPath for Folder::getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-20 18:51:27 +07:00
Ferdinand Thiessen ae1f5cc56d
fix(S3): Adjust usage of guzzle promise
`Promise\promise_for` was deprecated and is now removed and replaced with the static API (`Create::promiseFor`).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-16 15:54:44 +07:00
Robin Appelman 3a60e40a81
Merge pull request #45172 from nextcloud/test-scanner-no-transactions
feat: add option to disable scanner transactions
2024-06-13 14:01:34 +07:00
Robin Appelman 082c6c6e1d
fix: get child ids for folder in a separate query during move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 10:38:57 +07:00
Josh 63886147ba fix(ObjectStore): handle empty S3 hostname
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>
2024-06-12 15:43:20 +07:00
Louis Chemineau a93d3a5a10 fix(files): Use isRetryable to catch retryable exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-11 15:15:14 +07:00
Ferdinand Thiessen 48e6240502
Merge pull request #45413 from nextcloud/createIfNotExists
fix(files): Try to create dir only if it not exists
2024-05-30 19:45:23 +07:00
Git'Fellow 77979b1475 Try create folder first and check if it exists after
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 14:27:44 +07:00
Git'Fellow 5c4e4c5590 fix(files): Try to create dir only if it not exists
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 14:27:44 +07:00
John Molakvoæ 91227c908b
Merge branch 'master' into refactor/OC-Server-getHTTPClientService
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-30 14:21:45 +07:00
Robin Appelman d87c23242b
Merge pull request #45014 from nextcloud/forbid-moving-subfolder
fix: forbid moving a folder into a subfolder of itself
2024-05-27 14:29:34 +07:00
Andy Scherzinger dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +07:00
Robin Appelman 66d36bffa6
fix: forbid moving a folder into a subfolder of itself
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-17 17:45:44 +07:00
Marcel Klehr 843bb62d6d fix: LazyRoot missing method
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-05-14 11:38:39 +07:00
Marcel Klehr 00894e2420 feat: first pass at TaskProcessing API
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-05-14 11:38:39 +07:00
Julius Härtl c4e32d33e0
Merge pull request #44953 from nextcloud/perf/44951/lock-provider
perf(ILockManager): Allow registering a lock provider lazy
2024-05-13 14:21:28 +07:00
Côme Chilliet 2d40dae4af
Merge pull request #45233 from nextcloud/fix/touch-propagate-size
fix: Avoid updating size when calling touch on a file
2024-05-13 11:48:06 +07:00
Côme Chilliet e68544d9f4
Merge pull request #43794 from nextcloud/fix/files/scanner-metadata-diff
fix(files): handle multidimensional arrays in scanner
2024-05-13 11:05:40 +07:00
Josh 3c3e45f0ad fix(Files): Change how scanner diffs for changed metadata
Fixes #43408 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-08 08:36:42 +07:00
Julius Härtl 24e0d5023c
fix: Avoid updating size when calling touch on a file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-05-08 11:50:20 +07:00
Christoph Wurst 6258823aba
Merge pull request #45058 from nextcloud/perf/db/sort-before-chunking
perf(db): Sort data for IN before chunking
2024-05-07 12:11:32 +07:00
Robin Appelman f5219a19b2
feat: add option to disable scanner transactions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-03 16:40:15 +07:00
Robin Appelman 8d870a32c2
fix: fix FileAccess::getByFileId(InStorage)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-01 18:00:20 +07:00
Julius Härtl ff3fc85d10 perf(ILockManager): Allow registering a lock provider lazy
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-30 22:28:06 +07:00
Côme Chilliet ece3588252
fix: Improve typing of mimetype aliases
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:24:00 +07:00
Côme Chilliet 672923f0a6
fix: Fix newly spotted psalm issues, add exhaustive typed magic properties for LDAP classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:58 +07:00
Julius Härtl 2c059dd606
Merge pull request #44952 from nextcloud/perf/44951/template-creator
perf(templates): Emit RegisterTemplateCreatorEvent to register template creators more lazy
2024-04-29 08:27:07 +07:00
Christoph Wurst f3d6309e36
perf(db): Sort data for IN before chunking
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-04-26 15:38:29 +07:00
Robin Appelman 40d9a3fcab
feat: add option to enable s3 acceleration
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-26 14:40:24 +07:00
Joas Schilling cdb40a3110
fix(openstack): Fix psalm issue with updated openstack version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-24 07:01:57 +07:00
Joas Schilling 7cfe36e49b
fix(storage): Fix DAV storage as false is never returned
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-22 21:06:00 +07:00
Julius Härtl f9e235f7f1 perf(templates): Emit RegisterTemplateCreatorEvent to register template creators more lazy
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-22 15:23:55 +07:00
Joas Schilling 5fffbcfe86
Merge pull request #44889 from nextcloud/bugfix/noid/skip-cross-storage-move-with-ac
fix(files): Also skip cross storage move with access control
2024-04-18 10:48:03 +07:00
Joas Schilling 64d32abb48
fix(CI): Suppress psalm UndefinedClass
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-18 09:24:11 +07:00
Maxence Lange b4004a2582
Merge pull request #43574 from nextcloud/enh/noid/lazyappconfig-migrate-metadata
enh(metadata): migrate metadata to lazy appconfig
2024-04-17 16:20:33 +07:00
Joas Schilling 050408c9de
fix(files): Also skip cross storage move with access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-17 16:29:07 +07:00
Julius Härtl e0fcf6b700
Merge pull request #44294 from nextcloud/fix/storage-mount-owner
fix: Pass the mountpoint target user to storages without owner
2024-04-09 13:18:13 +07:00
Julius Härtl 4910e7e231
fix: Pass the mountpoint target user to storages without owner
Storages that do not have a dedicated owner (e.g. groupfolders, external
storages) currently always assume the current session user as the owner.
This leads to several issues when there is no user session but a node is
obtained through a user folder.

In order to have the correct user available we need to pass the user
that is used to setup a mountpoint along to the storage layer as we
generally assume that an owner is available for those.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-09 09:04:24 +07:00
Robin Appelman d31ed8dbca
fix: use proper jailed patch in watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-08 18:37:05 +07:00
Côme Chilliet 47b765552f fix: Remove incorrect default null value
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +07:00
Côme Chilliet ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +07:00
Louis Chemineau 751795999a
feat(files)): Add retry logic to cover deadlock situations when moving many files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-03-28 09:05:47 +07:00
Ferdinand Thiessen 7880086de8
fix(S3): Adjust typing for 32bit compatibility
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-26 13:07:53 +07:00
Robin Appelman 1d9354a81e
feat: add interface for lower level filecache acess without having to do direct db queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-25 16:48:41 +07:00
John Molakvoæ fb97d551a1
Merge pull request #44357 from nextcloud/wrapper-instanceof-resiliant 2024-03-22 20:43:34 +07:00
Ferdinand Thiessen 32dee2f84a
feat(ObjectStore): Make S3 MultipartUpload concurrency configurable
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-21 16:25:49 +07:00
Ferdinand Thiessen 69c5e8ebde
fix(ObjectStore): Use common S3 trait so config and connection trait members are in sync
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-21 16:25:42 +07:00
Robin Appelman d5fa2ec7c3
fix: log error when default getWrapperStorage would return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-20 14:26:01 +07:00
Robin Appelman afb589a69b
fix: ensure nested mount points are handled in the correct order
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-18 18:13:31 +07:00
Andrew Summers 45eb4a839d Refactor `OC\Server::getLockingProvider`
Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
2024-03-15 13:11:33 +07:00
Benjamin Gaussorgues d15e45c2ff
Merge pull request #36252 from nextcloud/modernize-mime-typeloader 2024-03-14 20:51:17 +07:00
Thomas Citharel ffeb797ecc
refactor(mimeloader): modernize MimeTypeLoader
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-03-14 17:24:36 +07:00
Benjamin Gaussorgues 5158bbf09b
fix: avoid scanning a non existing directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-03-14 16:26:52 +07:00
John Molakvoæ f316edb9ff
Merge pull request #43652 from hopleus/bugfix/fixed-get-filename-in-fileinfo 2024-03-14 15:50:52 +07:00
hopleus a25c70c9b0
Refactoring getName function
Signed-off-by: hopleus <hopleus@gmail.com>
2024-03-12 17:24:24 +07:00
Arthur Schiwon b32c0f7da6
Merge pull request #39990 from nextcloud/recursive-share
add some recrusive detection/prevention
2024-03-11 19:30:50 +07:00
Maxence Lange 467c84ec53 feat(files): copy live photos
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-03-08 13:09:22 +07:00
Robin Appelman ea8a774a0a fix: add some recrusive detection/prevention
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-08 14:20:14 +07:00
John Molakvoæ 7dd22b0c83
Merge pull request #43982 from nextcloud/fixMemExaust
fix(filecache): Move from array_merge to avoid memory exhaustion on large scans
2024-03-07 22:53:08 +07:00
Joas Schilling 951c330d39
Revert "don't perform an explicit setup when using the file cache" 2024-03-07 14:38:02 +07:00
John Molakvoæ b7088e7071
Merge pull request #32163 from nextcloud/file-cache-gc-no-full-setup
don't perform an explicit setup when using the file cache
2024-03-07 11:09:19 +07:00
Robin Appelman efcb16f859
Merge pull request #43086 from nextcloud/s3-internal-multipart-copy-disable
disable the internal s3sdk multi part copy logic
2024-03-07 10:13:00 +07:00
Robin Appelman 4fba4cd14c fix: fix user folder init
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 17:52:24 +07:00
Robin Appelman af466a0d3a fix: ensure user home mounts is registered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 17:52:24 +07:00
Robin Appelman c54f7bd761 fix: disable the internal s3sdk multi part copy logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 15:32:14 +07:00
Robin Appelman 51019fda7a fix: clearify logic around getMountsForFileId filtering
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 10:54:00 +07:00
Robin Appelman e33b32095e Revert "Filter mounts for file id before trying to get user information"
This reverts commit 1e2cf820c8.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 10:54:00 +07:00
Robin Appelman 9ea3f4ab8f perf: use lazy user in UserMountCache for getting user for cached mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 10:53:55 +07:00
Robin Appelman fd4ca13867
Merge pull request #43471 from nextcloud/cache-path-by-id
Cache path by id
2024-03-05 17:26:25 +07:00
Robin Appelman 56c75aa7dc
Merge pull request #43975 from nextcloud/search-optimize-fixes
Handle more cases in the MergeDistributive search query optimizer
2024-03-05 10:26:40 +07:00
Git'Fellow 575159b819
fix(filecache): Move from array_merge to avoid memory exhaustion
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-03-04 18:13:45 +07:00
Robin Appelman 1ae15967fc
Merge pull request #43791 from nextcloud/share-api-cleanup
Share api cleanup
2024-03-04 15:46:09 +07:00
Robin Appelman 6fb447676e fix: handle cases where non-binary operators are mixed in for optimizing search queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 14:25:52 +07:00
Robin Appelman 3971313d4c fix: don't short circuit query optimizer
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 14:25:52 +07:00
Robin Appelman a9ee278ec6 perf: cache path by id to speedup getting nodes by id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +07:00
Robin Appelman e7a7b4a401 perf: switch places that always use the first getById result to getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +07:00
Robin Appelman 4d110c1dd6 feat: add interface to get only a single node by id instead of all nodes for the id
this should be enough in most(?) cases and makes efficient implementation and caching easier

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 12:26:30 +07:00
hopleus fefa3382e7
Merge branch 'master' into bugfix/fixed-get-filename-in-fileinfo 2024-02-29 16:16:57 +07:00
Ferdinand Thiessen 27642d3e6d fix: Enforce forbidden filename characters on backend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-28 22:19:25 +07:00
Robin Appelman 96942e436b
fix: update "move into share" check to share manager
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-27 14:15:23 +07:00
hopleus f2f2a64ad7
Merge branch 'master' into bugfix/fixed-get-filename-in-fileinfo 2024-02-26 09:37:24 +07:00
John Molakvoæ 1d8d43f159
Merge pull request #43787 from nextcloud/fix/opendir-temporary-failure 2024-02-24 17:38:55 +07:00
Robin Appelman ac7f3ee985 add a debug option to force a full filesystem setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-24 11:55:20 +07:00
Julius Härtl 22eab7ba36
fix: Throw instead of yielding nothing when listing local directories
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-02-23 16:08:09 +07:00
hopleus 1c085a96eb
Fixes for getting the file name in the cases when the file name key is received, but it is empty
Signed-off-by: hopleus <hopleus@gmail.com>
2024-02-19 16:25:43 +07:00
Robin Appelman 3890aa54be
add some comments for the distributive operation and add another test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-16 10:59:33 +07:00
Robin Appelman 1c87cee5ad
add extra flatten step to improve "or eq" -> "in" optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:44 +07:00
Robin Appelman 63ffaab95e
fix types + autoloader
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:43 +07:00
Robin Appelman 7ca516773f
add a search query step to split IN statements that are to large for oci
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:43 +07:00
Robin Appelman 2dcd0a8759
hopefully improve propagation of 'path eq hash' hint into 'in' statements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:42 +07:00
Robin Appelman 2e14a7a4a6
optimize query pattern used by storage filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:40 +07:00
Maxence Lange 4e1814acd1 migrate metadata to lazy appconfig
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-02-14 13:30:27 +07:00
F. E Noel Nfebe 3fb1674251
Merge pull request #43461 from nextcloud/fix/get-rid-of-getlogger
chore: Migrate away from OC::$server->getLogger
2024-02-14 10:47:22 +07:00
Vincent Petry 839ddaa354
feat: rename users to account or person
Replace translated text in most locations

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2024-02-13 21:06:30 +07:00
Côme Chilliet c0ce272e9c chore: Migrate away from OC::$server->getLogger
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-13 17:32:30 +07:00
Robin Appelman e9d97a568f
use OCP\Server
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-12 16:39:00 +07:00
Robin Appelman e50c176428 also improe cache ci for shared cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-09 14:00:26 +07:00
Robin Appelman 7a91abb439 improve di performance for cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-09 13:28:30 +07:00
Robin Appelman 963721330f only get the path for the users cached mount info when we use it
most of the time we shouldn't need it so we can save joining on the filecache

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-09 09:50:43 +07:00
Robin Appelman 5ea69768b0
Merge pull request #41015 from nextcloud/background-scan-catch-storage-error
continue background scanning different storages if one fails
2024-02-07 10:06:32 +07:00
Ferdinand Thiessen 414a4caa65
Merge pull request #43361 from nextcloud/fix/add-missing-phpdoc-template-parameters
chore: Add missing ArrayAccess template parameters
2024-02-06 15:11:50 +07:00
Christoph Wurst 67a3ab48b5
Merge pull request #43131 from nextcloud/fix/files/cache-wrapper-no-partial-cache-entry-formatting
fix(files): Don't attempt to format a partial cache entry
2024-02-06 13:51:51 +07:00
Côme Chilliet f73f966c98 chore: Add missing ArrayAccess template parameters
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-06 10:24:41 +07:00
Côme Chilliet b2e9e0fa0d chore: Replace OC::$server->getL10N by OCP\Util::getL10N in lib and some apps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-05 11:16:04 +07:00
Thomas Citharel 30798eb6c2
refactor(objectstorage): cleanup types
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 14:59:21 +07:00
Thomas Citharel 3be3dbdb3b
refactor(objectstorage): move $user property from ObjectStoreStorage class to HomeObjectStoreStorage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 14:59:21 +07:00
Thomas Citharel 4c618c4bf1
fix(objectstorage): cleanup HomeObjectStoreStorage
Fix invalid signature for getUser() method and change occurences of OC\User\User for OCP\IUser

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 14:59:20 +07:00
Robin Appelman 3066687c7d
Merge branch 'master' into background-scan-catch-storage-error 2024-01-31 19:42:58 +07:00
Robin Appelman b777304a77
also updated parent etags when a changed etag is detected during scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:06:18 +07:00
Robin Appelman e14bceb63f
dont reuse etag for folders marked explicitly unscanned
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:05:09 +07:00
Lorenz Brun a6f879e154 dav: fix wrong decoding of pluses in URLs
PHP's urldecode function does not decode URLs according to RFC 3986, but
according to the HTML 4.01 query parameter
encoding. This results in pluses being wrongly decoded to spaces even
though they should not be decoded at all.

Use rawurldecode instead, which follows RFC 3986 properly.

This fixes an issue where files on DAV shares containing pluses were
incorrectly decoded to spaces.

Fixes: #15849
Signed-off-by: Lorenz Brun <lorenz@brun.one>
2024-01-31 13:26:04 +07:00
Christoph Wurst 7e5303bec7
fix(files): Don't attempt to format a partial cache entry
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-25 19:30:38 +07:00
Julius Härtl cc75294eb6 perf: Avoid updating the folder size if we know the size difference
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-12 14:21:08 +07:00
Julius Härtl e4054370b1
fix(s3): Add config option to disable multipart copy for certain s3 providers
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-28 15:31:38 +07:00
Robin Appelman 1043c21b35
only do a multipart s3 copy when above the regular copy limit
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-12-28 15:31:37 +07:00
Marcel Klehr 062a0efed5 fix(TemplateManager): Bail early if templatedirectory is empty
fixes #39266

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-12-04 08:53:52 +07:00
Louis Chemineau 2f6a4bf4a1
Synchronize operation on live photo files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-29 19:07:32 +07:00
Git'Fellow 394cd75322
Merge pull request #41272 from nextcloud/fixOccScans
fix: reduce memory consumption of scans
2023-11-28 11:36:59 +07:00
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Maxence Lange ee787cd1c6
Merge pull request #41459 from nextcloud/enh/noid/search-metadata-null
implements search on null/notnull metadata
2023-11-23 07:52:27 +07:00
Andy Scherzinger 42724c15c5
Merge pull request #40462 from nextcloud/refactor/lib-array_search-to-in_array
refactor: Replace array_search with in_array in lib/
2023-11-22 20:42:52 +07:00