Commit Graph

83 Commits (ddb65be58f718f448387fe011a2541ff3eeeff84)

Author SHA1 Message Date
Côme Chilliet 6034cc6893 Make sure to never trigger files hooks on a null path
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-04 17:55:09 +07:00
Joas Schilling 98ed72b3ed
Revert "fix(performance): Do not set up filesystem on every call" 2023-02-21 07:36:43 +07:00
Anna Larch 5d4efb4d5f
Do not set up filesystem on every call
Also remove old Oc_FileChunking logis that produced GC- collectable chunks

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-17 19:18:37 +07:00
Côme Chilliet 028c225d96
Fix psalm errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:32 +07:00
Côme Chilliet a372564850
Fix psalm spotted errors with new requirements
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-02 15:02:28 +07:00
Maxence Lange cc639a8877 compare cached filesize on download
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-12-01 15:42:15 +07:00
Carl Schwan 458c2fa297
Remove OCP\App and OCP\BackgroundJob
Both deprecated since NC 23

IAppManager is the replacement for OCP\App unfortunately it can't be
dependency injected in classes used by the installed otherwise the
database connection is initialised too early

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-01 09:46:40 +07:00
Carl Schwan 1b426eda44 Make X-HAS-{MD5/SHA256} opt-in
This is not always needed and slow down the upload

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-06-01 10:59:04 +07:00
Côme Chilliet e2531f8503
Migrate dav application from ILogger to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:43 +07:00
Carl Schwan 7817845538 Add a metadata service to store file metadata
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-13 14:06:29 +07:00
Robin Appelman 9b1abd6fac
save filesystem node in dav node
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-06 14:40:31 +07:00
Robin Appelman ff666e648a Add dav plugin to trigger recalculating of checksums
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-31 07:44:13 +07:00
Robin Appelman 8b22a463e9
Merge pull request #31266 from nextcloud/root-setup-mountprovider
move root mount setup to mountproviders
2022-03-04 13:44:05 +07:00
Christopher Ng 67ec9813e3 Make Sabre File exception messages translatable
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-01 23:29:33 +07:00
Robin Appelman ec15020777
also handle expired pre-write shared lock on dav upload when not using part files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-25 16:33:27 +07:00
Louis Chemineau bc2c02f451 Wrap S3 multipart upload exception
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-02-16 14:56:14 +07:00
John Molakvoæ d6a26b2536
Revert "add dav plugin to trigger recalculating of checksums" 2021-11-01 11:26:17 +07:00
Robin Appelman fd5e11a81a
Add dav plugin to trigger recalculating of checksums
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-23 15:38:58 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Christoph Wurst 8152189b09 Only write checksum if we have a valid file info
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-03-22 21:11:07 +07:00
dependabot-preview[bot] eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [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/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +07:00
Christoph Wurst 73c7d0dc81
Bump icewind/streams from 0.7.1 to 0.7.2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 09:07:36 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Julius Härtl 1dddf6adc7
Properly catch exception from writing to stream when copying a file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-10 09:03:53 +07: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 +07:00
Julius Härtl 4cf29e598d
Do not keep the part file if the forbidden exception has retry set to false
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-03 11:00:24 +07:00
Robin Appelman 57403c7020
dont set headers for cli
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-13 12:57:29 +07:00
Robin Appelman c2677682c4
Return hashes of uploaded content for dav uploads
hashes are set in "X-Hash-MD5", "X-Hash-SHA1" and "X-Hash-SHA256" headers.

these headers are set for file uploads and the MOVE request at the end of a multipart upload.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-13 12:57:27 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00
Christoph Wurst 42625a46be
Remove spaces after method or function call
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:05:56 +07:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +07:00
Christoph Wurst b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +07:00
Robin Appelman fab22ac14c
pass the existing locks info when making locked exception with absolute paths
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-02 19:29:44 +07:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +07:00
Roeland Jago Douma a184e350d7
Merge remote-tracking branch 'origin/master' into filecache-extension 2019-11-18 11:06:17 +07:00
Robin Appelman 2e97e8bf84
re-acquired expired shared locks on large file uploads
during large file uploads, the shared lock that we get at the begining can expire
leading to locked errors later on, instead of erroring, try to re-get the lock

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 14:54:22 +07:00
Robin Appelman 2165f10aaf
hookup creation and upload time into dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:39 +07:00
Morris Jobke 13fd89575d
More precise error message when expected filesize does not match - could be on reading or writing side
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-29 15:03:01 +07:00
Roeland Jago Douma 22f9a95814
Do not log locked files
This is the code doing its job. There is no need to spam the log file
with this.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 14:29:13 +07:00
Robin Appelman 50dbc9a536
dont use part files for dav writes when the target folder doesn't have create permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-07-03 16:36:27 +07:00
Robin Appelman 08865046fb
log inner exception during dav write
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-06 16:02:42 +07:00
Roeland Jago Douma eb175584f6
Merge pull request #14514 from nextcloud/fix/no_debug_output
Do not just write foobar
2019-03-04 21:26:20 +07:00
Morris Jobke 79ec7bbcf6
Merge pull request #13871 from PLUTEX/master
dav: Fix handling of chunked WebDAV upload
2019-03-04 17:43:31 +07:00
Roeland Jago Douma c8d1b29407
Do not just write foobar
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-04 17:14:32 +07:00
Roeland Jago Douma 719b70108d
Hanlde writestream not closing source
Fixes #14298

If a storage doesn'tclose the write stream then $isEOF is not yet set.
So we have to fallback.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-20 09:49:06 +07:00
Roeland Jago Douma fc967a5ac2
Make sure that we have a stream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-18 14:25:57 +07:00
Roeland Jago Douma 3720add736
Add a wrapper to determine if a file is EOF
The stream is already closed at this point. Which means feof will always
return false. We have to determine if the stream is EOF in the
preCloseCallback. And pass this info along. Then the logic works as
expected.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 08:41:39 +07:00
Jan-Philipp Litza 9348e3d2f6 dav: Fix handling of chunked WebDAV upload
When $data is null (which can happen when $request->getBodyAsStream() returns
null), the Exceptions says "copied bytes: 0, expected filesize: 0", which
sounds more like success...
2019-01-28 17:14:22 +07:00