Commit graph

15376 commits

Author SHA1 Message Date
Louis Chemineau
fe56b3ccc2 fix: Report duplicated extra files in integrity check
The `array_diff` is not comparing the array keys. This means that an extra key with an expected hash will not be reported. Using `array_diff_assoc` will report such files.

For example, copying `status.php` to `status 2.php`, will only be reported with the new version.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-02-26 13:26:38 +00:00
Robin Appelman
ea678c0280 feat: support migrating an instance to sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-25 21:43:54 +00:00
Louis Chemineau
8a2437927d fix: Initialize lastConnectionCheck after first connection
We are checking whether the DB connection is alive once every 30 seconds. But when we are lacking the last check time, we are skipping the check and reconnect logic. This is causing the reconnect logic to never fire in those cases.

It seems to me that "those cases", are actually always the case, as upon initialization, we are not using the proper connection name to store the time.

In the `connect()` logic, when `$this->_conn` is null, `$this->getConnectionName()` is returning `replica`, so `$this->lastConnectionCheck` will be equal to `['replica' => time()];`

60711ea4cf/lib/private/DB/Connection.php (L215-L221)

60711ea4cf/lib/private/DB/Connection.php (L891-L893)

2b6d7bf65f/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php (L136-L139)

Then, if the connection name ends up as being 'primary', the reconnect logic is skipped:

60711ea4cf/lib/private/DB/Connection.php (L874-L880)

Follow-up of https://github.com/nextcloud/server/pull/41819

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-02-25 11:07:34 +00:00
Ferdinand Thiessen
06ddb7aff6 refactor: convert sanitize account properties repair step to background job
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-24 15:23:20 +00:00
Ferdinand Thiessen
29e5e8a31b fix: Optimize repair step performance
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-24 15:23:20 +00:00
Ferdinand Thiessen
e9c4c59998 fix: validate account properties as a repair step
Replace `ValidatePhoneNumber` from Nextcloud 21 with a new repair step,
`ValidateAccountProperties` which validates and sanitizes all account
properties.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-24 15:23:20 +00:00
Côme Chilliet
a9ad23e3d8 fix: Also remove digits at the start and underscore on both ends of appid
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-02-19 18:39:20 +01:00
Côme Chilliet
adf5b72939 fix: Only keep allowed characters in appid, and flag the method as escaping
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-19 18:39:20 +01:00
Andy Scherzinger
08e3e213d3
Merge pull request #50797 from nextcloud/backport/50781/stable31
[stable31] perf(files): faster query to fetch incomplete directories
2025-02-19 18:38:21 +01:00
Joas Schilling
4b1b16430d fix(cron): Keep job class limitation when searching for the next job
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-19 09:28:34 +00:00
skjnldsv
0823f924c0 fix(files): properly forward open params from short urls
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-18 12:42:23 +00:00
Git'Fellow
361a6757b1 fix(repair): PHP8.3 deprecation warning
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-15 11:10:17 +00:00
Benjamin Gaussorgues
d056e4dc74 perf(files): faster query to fetch incomplete directories
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-02-13 14:24:44 +00:00
Robin Appelman
5eac86afec fix: don't use cached root info from shared cache if the watcher has detected an update
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 20:35:46 +01:00
Robin Appelman
e813f3d605 fix: make locked exception path relative to the view
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 16:29:43 +00:00
John Molakvoæ
1946fdf80d fix: psalm and OCP @since declarations
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-02-09 21:09:12 +01:00
skjnldsv
63d9a11575 fix: make sure we process mime extensions as string
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-09 21:09:12 +01:00
Ferdinand Thiessen
e550ad7bbe
fix(FediverseAction): Ensure valid fediverse links are generated
Harden also for existing values of the profile.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 15:46:15 +01:00
Ferdinand Thiessen
ac1a448765
fix(AccountManager): Sanitize social media handles
Ensure to only accept valid X and fediverse handles.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 15:46:15 +01:00
John Molakvoæ
806e5ac30f
Merge pull request #50675 from nextcloud/backport/50193/stable31
[stable31] fix(oauth2): adjust db schemas when migrating from owncloud
2025-02-06 10:23:29 +01:00
Marcel Klehr
75585be67f fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-06 07:52:04 +00:00
Marcel Klehr
f9450f2d20 fix: lib/private/TaskProcessing/Manager.php
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-06 07:52:04 +00:00
Marcel Klehr
ec3660a3c2 fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-02-06 07:52:04 +00:00
Richard Steinmetz
2c51ff1e3b fix(oauth2): adjust db schemas when migrating from owncloud
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-02-05 21:17:28 +00:00
Andy Scherzinger
23cb06dfc1
Merge pull request #50565 from nextcloud/backport/50530/stable31
[stable31] fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard
2025-01-31 16:52:12 +01:00
Nils Wenninghoff
8a6d9ffdc1 fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard
Signed-off-by: Nils Wenninghoff <nils@ungemein.cool>
2025-01-30 10:50:16 +00:00
Louis Chemineau
a56cff70e1 fix: Exclude non accepted shares when computing access list
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-30 09:18:41 +00:00
Andy Scherzinger
e8844cacec
Merge pull request #50528 from nextcloud/backport/50494/stable31
[stable31] fix(performance): use low resolution for blurhash
2025-01-29 21:07:52 +01:00
Richard Steinmetz
936ef804cd fix(s3): treat empty sse_c_key as not set
Co-authored-by: Christian Becker <christian@dabecka.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-29 17:35:52 +00:00
Max
1b34f6ad65 fix(performance): use low resolution for blurhash
Improve blurhash performance by using a low res image.
The results are hard to destinguish visualy.
It is a **blur** hash after all.

Signed-off-by: Max <max@nextcloud.com>
2025-01-29 10:44:15 +00:00
Andy Scherzinger
c99c135520
Merge pull request #50508 from nextcloud/backport/50436/stable31
[stable31] fix: Harden files scanner for invalid null access
2025-01-28 23:52:39 +01:00
Ferdinand Thiessen
26c93519f2 fix: Harden files scanner for invalid null access
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>
2025-01-28 19:49:03 +00:00
Ferdinand Thiessen
0f298e1db1 fix(sharing): Move permission validation to share manager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 17:26:28 +00:00
Maxence Lange
578b4ba0ee fix(config): drop value details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-01-27 17:55:29 +00:00
Andy Scherzinger
bae32be74d
Merge pull request #50468 from nextcloud/backport/50234/stable31
[stable31] fix(ratelimit): Allow to bypass rate-limit from bruteforce allowlist
2025-01-27 18:14:06 +01:00
Dario Mehlich
72a43a17f5 fix(preview): Filter for folders in cleanup old preview job
Fixes #35936.
When running `OC\Preview\BackgroundCleanupJob`, the main iteration loop
in `run()` expects a folder, however, `getOldPreviewLocations()`
currently does not filter by mimetype and therefore can yield a
non-folder entry which causes an Exception when constructing the Folder
impl.
Filtering for `httpd/unix-directory`, as `getNewPreviewLocations()`
already does, fixes this issue.

Signed-off-by: Dario Mehlich <d.mehlich@gmail.com>
2025-01-27 15:11:26 +00:00
Joas Schilling
77fddb8f23 fix(ratelimit): Allow to bypass rate-limit from bruteforce allowlist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-27 13:21:36 +00:00
Joas Schilling
e78cec5d7b fix(log): Fix log level handling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-27 10:23:28 +00:00
Ferdinand Thiessen
57949b2e22 fix: Ensure label is always a string
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-26 20:00:33 +00:00
Marcel Klehr
35052624b9 fix(TaskProcessing): Cache providersById in getPreferredProviders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-25 13:08:19 +01:00
Marcel Klehr
6e59f9a693 fix: copypasta
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-25 13:08:19 +01:00
Marcel Klehr
215f6c6418 fix(taskprocessing): cache provider settings in distributed cache as well
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-25 13:08:19 +01:00
Marcel Klehr
8c81f9e0fa fix(TaskProcessing\Manager): Cache the result of parsing JSON
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-25 13:08:19 +01:00
Marcel Klehr
e2bef275ec fix(taskprocessing): Cache result of getAvailableTaskTypes between requests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-25 13:08:19 +01:00
Louis Chemineau
5b2af8b4c0 fix: Metadata field search
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-25 09:44:50 +00:00
Marcel Klehr
44aa380ce4 fix(TaskProcessing): Catch JSON encode errors in Manager#setTaskResult
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-01-24 22:15:11 +01:00
Ferdinand Thiessen
99e76d7a99 fix(TemplateLayout): core is not an app but the server itself
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 18:12:18 +00:00
Ferdinand Thiessen
ae3e26024e fix: Correctly return app id and app version for core styles and images
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 18:12:18 +00:00
provokateurin
9fafcb267c Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
This reverts commit c2ca99e2f6.

Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-24 09:47:35 +00:00
Benjamin Gaussorgues
b4e3eff078 feat(systemtags): add setting to block non admin to create system tags
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-01-22 20:07:24 +01:00