Commit Graph

781 Commits

Author SHA1 Message Date
Morris Jobke a8c6ffaf9a
Merge pull request #26290 from nextcloud/backport/21484/stable20
[stable20] show better error messages when a file with a forbidden path is encountered
2021-03-26 13:51:02 +01:00
Morris Jobke 3fe78684ad Log when a storage is marked as unavailable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-25 16:12:12 +00:00
Robin Appelman 82a2492c33 show better error messages when a file with a forbidden path is encountered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-25 10:56:44 +00:00
John Molakvoæ (skjnldsv) dfcf6ad106 Catch invalid cache source storage path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-24 11:05:32 +00:00
Morris Jobke 4f18ff9815
Merge pull request #25944 from nextcloud/backport/25659/stable20
[stable20] catch notfound and forbidden exception in smb::getmetadata
2021-03-17 20:13:57 +01:00
Morris Jobke 71b793f8a1
Merge pull request #26091 from nextcloud/backport/25722/stable20
[stable20] apply object store copy optimization when 'cross storage' copy is wit…
2021-03-17 20:09:56 +01:00
Morris Jobke 2982fa346b
Merge pull request #26181 from nextcloud/backport/26003/stable20
[stable20] Add getID function to the simplefile implementation
2021-03-17 20:06:15 +01:00
Morris Jobke fe3b3a9cec
Merge pull request #26147 from nextcloud/backport/26013/stable20
[stable20] Return the fileid from `copyFromCache` and use it instead of doing an extra query
2021-03-17 20:04:11 +01:00
Roeland Jago Douma 147134fc31 Add getID function to the simplefile implementation
Sometimes it is useful to get the actual fileid

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-17 16:15:46 +00:00
Robin Appelman 534a935433 remove explicit fclose from S3->writeStream
streams get closed automatically when dropped, and in some cases the stream seems to be already closed by the S3 library, in which case trying to close it again will raise an error

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-17 09:36:11 +00:00
Robin Appelman 436cd31bd2 verify that cache entry is valid
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:04 +00:00
Robin Appelman 9bb73574c3 also implement for FailedCache and NullCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:03 +00:00
Robin Appelman 20ab946c3f use returned file id for object store copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:01 +00:00
Robin Appelman aaa4c071ed add ICopyFromCache trait to expose existing implementation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:01 +00:00
Robin Appelman f500e2396e
adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:23 +01:00
Robin Appelman 7fd53b91c3
fix search in nested jails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman a20eb9a229
fix cachjail searching for root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman 5d08beb3d2
do cachejail search filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman 5827a156af apply object store copy optimization when 'cross storage' copy is within the same object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 16:16:32 +00:00
Robin Appelman 326f7ac857 catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-05 07:54:09 +00:00
Morris Jobke fb0067a777
Merge pull request #24592 from nextcloud/backport/23912/stable20
[stable20] use in objectstore copy
2021-01-07 13:28:10 +01:00
Julius Härtl 8d9fa73371
Properly handle result when copying with failure and throw in tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 16:57:51 +01:00
Daniel Kesselberg d22ff8624b Limit getIncomplete query to one row
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-12-21 08:17:46 +00:00
Robin Appelman 694032c54c use in objectstore copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-07 16:07:21 +00:00
aler9 dc7eb53a8f Fix file size computation on 32bit platforms
Signed-off-by: aler9 <46489434+aler9@users.noreply.github.com>
2020-12-02 15:27:30 +00:00
Joas Schilling 97b0402984
Empty string is returned as null, but empty string in file cache is the root and exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling 19816fe85f Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 14:18:02 +00:00
Morris Jobke 73c2ad293b
Merge pull request #23998 from nextcloud/backport/23937/stable20
[stable20] Use query builder instead of OC_DB in OC\Files\*
2020-11-10 10:26:04 +01:00
Morris Jobke bf6aa03eb3
Merge pull request #23995 from nextcloud/backport/23741/stable20
[stable20] Unlock when promoting to exclusive lock fails
2020-11-10 10:16:34 +01:00
Joas Schilling adcc942553 Use query builder instead of OC_DB in OC\Files\*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 11:01:09 +00:00
John Molakvoæ (skjnldsv) 0c4297cee9 Make sure root storage is valid before checking its size
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-09 10:05:54 +00:00
Ashod Nakashian 7298d037b2 Unlock when promoting to exclusive lock fails
In certain cases changeLock to EXCLUSIVE fails
and throws LockedException. This leaves the
file locked as SHARED in file_put_contents,
which prevents retrying (because on second
call file_put_contents takes another SHARED
lock on the same file, and changeLock doesn't
allow more than a single SHARED lock to promote
to EXCLUSIVE).

To avoid this case, we catch the LockedException
and unlock before re-throwing.

Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2020-11-09 10:03:15 +00:00
Joas Schilling c71cc6824e Use Query builder function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:45 +00:00
Joas Schilling d111e88d4c Fix order of GREATEST for Oracle
As per https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions060.htm
Oracle uses the first value to cast the rest or the values.
So when the first value is a plain int, instead of doing the math,
it will cast the expression to int and continue with a potential 0.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:44 +00:00
Morris Jobke d144a84df1
Merge pull request #22903 from nextcloud/techdebt/16696/no-need-to-get-full-path-again
Do not fetch the normalized full path again if it is already available
2020-09-17 11:54:47 +02:00
Morris Jobke 063ac9d353
Do not fetch the normalized full path again if it is already available
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 09:56:45 +02:00
Roeland Jago Douma b0c04a3e0c
Merge pull request #22867 from nextcloud/shared-storage-init-less
Shared storage optimizations
2020-09-17 08:55:35 +02:00
Morris Jobke 99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02:00
Robin Appelman cfde74442c
optimize View::getPath if we already know the storage id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-16 13:49:07 +02:00
Robin Appelman 244fd6ae49
disable update checking for shared storages
update checking is already handled by the share source

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-15 16:42:40 +02:00
Roeland Jago Douma 6895d97cf0
Merge pull request #22520 from nextcloud/normalize-path-invalid-utf8
dont use `false` as cache key for non utf8 path in normalizePath
2020-09-09 21:52:36 +02:00
Roeland Jago Douma bb06b6cce4
Fix reading empty files from objectstorage
Since we try to do range requests this will fail hard.
However since empty files are not that interesting to read anyways we
just read from an emptry memory stream.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-09 20:45:13 +02:00
Morris Jobke cd563023db
Merge pull request #22657 from nextcloud/bugfix/noid/quota-trash-creation
Check if quota should be applied to path when creating directories
2020-09-09 17:37:28 +02:00
Morris Jobke d8dea5070b
Merge pull request #22729 from nextcloud/fix/object_storage_permissions_shortcut
Run stat less often for objectstorages
2020-09-09 10:43:37 +02:00
Roeland Jago Douma 9fdeed8cc0
Run stat less often for objectstorages
When we want to get the permissions we now do stat at least 5 times for
each entry. Which is a bit much. Especially since the permssions are all
just in the database already.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-08 14:38:36 +02:00
Roeland Jago Douma 919a8d473b
Merge pull request #22646 from nextcloud/bugfix/mimetype-mapping
Fix detecting text/x-php mimetype and secure mimetype mapping
2020-09-08 10:41:09 +02:00
Julius Härtl 87e5fd0d2c
Check if quota should be applied to path when creating directories
This fixes an issue where the files_trashbin hierarchy of a user could
not been created as the mkdir operations were blocked by the quota
storage wrapper. Even with 0 quota, users should be able to have a
trashbin for external storages.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-08 07:33:57 +02:00
Julius Härtl 5e4303b1fe
Properly add both mimetypes to secure mimetype mapping
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-07 16:42:11 +02:00
Christoph Wurst 1f7f93a695
Update license headers for Nextcloud 20 (again)
There are still lots of outdated headers, so time for another round of
updates.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-09-07 14:37:44 +02:00
Roeland Jago Douma d0a7f833cc
Merge pull request #22116 from nextcloud/bugfix/noid/transfer-ownership-share-root
Fix share transfer of single files and on the transfered node
2020-09-01 08:50:22 +02:00