Commit graph

684 commits

Author SHA1 Message Date
Louis Chemineau
009a7a3368 feat: Support deleting metadata from WebDAV
The `$value` will be `null` if the update is wrapped inside a `<d:remove>...</d:remove>` block.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-03-05 13:39:40 +01:00
provokateurin
7b5c9feca1
fix(Share20): Convert broken hooks to IEventListener
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-03-04 07:58:21 +01:00
Daniel Kesselberg
e8a5e0c392 Revert "fix(dav): Always respond custom error page on exceptions"
This reverts commit 9992e7d439.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-02-15 14:42:51 +01:00
Ferdinand Thiessen
422655bf1e
fix(provisioning_api): Correct limit for editUser
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-07 12:42:23 +01:00
Robin Appelman
5d094feee0
fix: explicitly ignore nested mounts when transfering ownership
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-05 09:09:04 +01:00
Ferdinand Thiessen
f9bd0ed462
fix(sharing): Ensure download restrictions are not dropped
When a user receives a share with share-permissions but also with
download restrictions (hide download or the modern download permission attribute),
then re-shares of that share must always also include those restrictions.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-04 16:22:11 +01:00
Ferdinand Thiessen
922b12452c
test: Reset sharing app config after test
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-31 18:21:26 +01:00
Ferdinand Thiessen
ee5f5bc159
fix(files_sharing): Respect permissions passed when creating link shares
Given:
User creates a link or email share with permissions=4 (create only = file drop).

Problem:
Currently the permissions are automatically extended to permissions = 5
(READ + CREATE). Work around was to create the share and directly update
it.

Solution:
Respect what the user is requesting, create a file drop share.

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>
2025-01-31 18:21:26 +01:00
Richard Steinmetz
8fb04cd4d5
fix(dav): default calendar and address book not created on first login
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-23 22:29:07 +01:00
Robin Appelman
c6e68988d2 fix: block moving files to it's own parent with dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-07 09:26:05 +00:00
Joas Schilling
b9493cc12d fix(logger): Prevent infinite recursion with log.condition => matches
When we need to check the log condition for a user matches,
there is a risk that something on the way checks the log level
and would result in an infinite loop.
So we simply check if it's a nested call and use the default
warning level in that case.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-03 11:12:48 +00:00
Louis Chemineau
d3274bc6d2
test(ExternalStorage): Send basic auth during integrations tests
Signed-off-by: Louis Chemineau <louis@chmn.me>

[skip ci]
2024-11-28 13:03:52 +01:00
skjnldsv
bf728f9d51 fix(dav): file request guest nickname encoding
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-13 09:05:17 +01:00
Benjamin Gaussorgues
8af1e9f82d
Merge pull request #48474 from nextcloud/backport/47846/stable30 2024-10-30 09:29:20 +01:00
Ferdinand Thiessen
b79d2b7041
fix(dav): Public WebDAV endpoint should allow GET requests
`GET` should be allowed even without Ajax header to allow downloading files,
or show files in the viewer. All other requests could be guarded, but this should not.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-09 17:40:50 +02:00
Hamza Mahjoubi
ba9787088a fix: provision api's status codes
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-10-09 13:49:04 +02:00
skjnldsv
338e045141 fix(files_sharing): adjust permissions from custom edit and delete check methods
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-09-11 11:48:25 +00:00
Louis Chemineau
23b77dc7ec fix(dav): Always respond custom error page on exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-05 18:17:10 +00:00
Daniel Calviño Sánchez
61b64b109c fix: Fix unmodified placeholder replacing the actual value when updating
When updating global storages and user storages a property is not
updated by "StoragesService::updateStorage()" if the value matches the
unmodified placeholder. However, userglobal storages are not updated
through the "StoragesService"; as only the authentication mechanism is
updated it is directly done with "saveBackendOptions()" in
"IUserProvided" or "UserGlobalAuth". Due to this the unmodified
placeholder value needs to be explicitly checked in those cases and
replaced by the actual value (note that in this case it is not possible
to just skip updating a specific property).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-04 10:11:59 +00:00
Daniel Calviño Sánchez
9a8beb417e test: Add integration tests for saving external userglobal storages
As the external storage uses the Nextcloud server itself the number of
workers of the PHP process running the Nextcloud server had to be
increased. Otherwise if a request is sent for the external storage while
handling a request from the integration tests a deadlock would occur.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-04 10:11:59 +00:00
provokateurin
863679f499
fix(test): Fix provisioning enabled apps
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-08-29 09:43:37 +02:00
Ferdinand Thiessen
4bbcbc5206
feat: Make ISharedStorage public API and reuse where possible
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-12 11:42:10 +02:00
Ferdinand Thiessen
cb1b366baf
fix(dav): Ensure share properties are also set on public remote endpoint
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-12 11:28:03 +02:00
Julius Härtl
a6d421e767
chore: Remove deprecated legacy search backend
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-01 12:33:18 +02:00
dependabot[bot]
8c1cbaa8c3
build(deps-dev): bump guzzlehttp/guzzle in /build/integration
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.9.1 to 7.9.2.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.9/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.9.1...7.9.2)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 01:13:38 +00:00
dependabot[bot]
4b9967f872
chore(deps-dev): bump guzzlehttp/guzzle in /build/integration
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.8.1 to 7.9.1.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.9/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.8.1...7.9.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 01:13:01 +00:00
skjnldsv
725736a754 chore(integration): add file request tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-07-19 07:35:51 +02:00
skjnldsv
9b84831c8d fix(files_sharing): adjust IAttributes API and files_versions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-07-12 20:14:30 +02:00
Ferdinand Thiessen
a229723b8c
feat: Add new forbidden filename options to Capabilities
Allow clients to access the new filename validation options
and make frontend name validation possible.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 13:31:54 +02:00
Robin Appelman
957a00b9de chore: remove chunking-v1
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-19 16:57:42 +02:00
Andy Scherzinger
1e04619675
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-06 22:53:41 +02: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 +02:00
Ferdinand Thiessen
4bd9bc7b06
feat(files): Use receiving users language for the ownership transfer target folder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-29 20:19:58 +02:00
Andy Scherzinger
e07a190641
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-27 14:53:40 +02:00
fenn-cs
d41d885713 test(Sharing): Integration test for no expiration set date for share
- Verify that explicitly sending empty `expireDate` param to server overwrite default
and sets not expiry date, if non is enforced.

- Update tests to avoid converting empty string to date.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-23 14:11:34 +01:00
Andy Scherzinger
1f7e2ba599
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +02:00
Andy Scherzinger
1df96b0417
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-10 11:07:50 +02:00
dependabot[bot]
8b829fe18a build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.18 to 9.6.19.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.19/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.18...9.6.19)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 13:26:28 +02: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 +02:00
dependabot[bot]
bee4aab575
build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.17 to 9.6.18.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.18/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.17...9.6.18)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 03:16:05 +00:00
Richard Steinmetz
53ef6c5f71
feat(dav): update a principal's schedule-default-calendar-URL
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-28 14:51:10 +01:00
dependabot[bot]
0d7efc79e4
chore(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.16 to 9.6.17.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.17/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.16...9.6.17)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 16:19:41 +00:00
Anna Larch
dce69154ba enh(sharing): enable unsharing for sharees for DAV shares (addressbooks and calendars)
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-15 18:01:12 +01:00
Ferdinand Thiessen
52cc18efc0
fix(tests): Ensure ldap server can be reached in integration tests on GitHub Actions and other improvments
* Run integration tests for every pull request
* Also print docker logs of service containers (ldap, redis)
* Ensure consistent `datadir` for test assertions
* Test openldap features separatly
* Only the LDAP tests rely on `/dev/shm` while `federated.feature` rely on real directory access

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 13:53:34 +01:00
Joas Schilling
34ea298843
Fix "Creation of dynamic property CommandLineContext::$…BaseUrl is deprecated in CommandLineContext.php on line 41"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:32 +01:00
Joas Schilling
cc4e2f9e38
Reduce the output on github CI
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:32 +01:00
Joas Schilling
d7e249874e
Ensure the testing app is enabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:31 +01:00
Joas Schilling
a1e9c6f71d
Remove library that is unmaintained since 2015 and was merged in the behat core
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:31 +01:00
Joas Schilling
736fb4c162
Fix "Creation of dynamic property FeatureContext::$parts is deprecated in WebDav.php line 757"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:30 +01:00
Joas Schilling
058b69eef0
chore: Move integration tests from drone to github
* Improve grouping as setting up CI took 3* the time of the test in average

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 13:53:29 +01:00