Commit graph

305 commits

Author SHA1 Message Date
Benjamin Gaussorgues
60ce92a697
feat(utils): add getter for serverid with proper default
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 13:53:10 +02:00
Louis
421e4de7e5
Merge pull request #59979 from elicpeter/patch-1
fix(repair): restrict unserialize() in RemoveBrokenProperties
2026-06-11 10:26:04 +02:00
Carl Schwan
994565fec7
refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 13:45:29 +02:00
Côme Chilliet
1ab09ec753
chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Eli Peter
bc7f4b5e60 fix(repair): restrict unserialize() in RemoveBrokenProperties
RemoveBrokenProperties::run() calls unserialize() on the property value column without restricting allowed_classes. The result is only compared against false to identify broken rows, so no class instantiation is needed. As written though, magic methods (__wakeup/__destruct) on any class referenced by the serialized payload still execute.

The runtime decoder for the same column already restricts deserialization. See apps/dav/lib/DAV/CustomPropertiesBackend.php:675-678, which passes ['allowed_classes' => self::ALLOWED_SERIALIZED_CLASSES]. This change applies the same hardening to the repair step. It uses ['allowed_classes' => false] since the unserialized value is never used, only its truthiness is checked.

No behavior change for valid or broken rows.  

Signed-off-by: Eli Peter <54954007+elicpeter@users.noreply.github.com>
2026-06-01 11:01:18 +02:00
Ferdinand Thiessen
e0ba4d71b6
chore: add missing Override attribute to OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Ferdinand Thiessen
86588e3600
fix: typo in repair step name
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
provokateurin
f12cecb684
feat(rector): Enable SafeDeclareStrictTypesRector
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Carl Schwan
c96ece0bcb
refactor: Add more typing
- repairs job
- database
- redis

And remove Helpertest which was unused outside of some tests.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:39 +01:00
Carl Schwan
fb3f9fe2de
refactor: Update repairs jobs
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:54:24 +01:00
Carl Schwan
7b6078875b
refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Carl Schwan
c6c11d474b
Merge pull request #55649 from nextcloud/carl/on-demand-preview-migration
feat(preview): On demand preview migration
2026-01-28 22:33:48 +01:00
iasdeoupxe
afde920978
feat: Add mimetype aliases/mapping/names for .toml and .ovpn
Signed-off-by: iasdeoupxe <39667843+iasdeoupxe@users.noreply.github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:20:37 +01:00
Carl Schwan
6149168129
feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

Move the logic from MovepreviewJob to PreviewMigrationService and reuse
that in the Preview Generator.

At the same time rename MovePreviewJob to PreviewMigrationJob as it is a
better name.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-12 14:20:09 +01:00
Maxence Lange
edfc339bf5 fix(lexicon): switch bool value to non-lazy
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 09:27:40 -01:00
Carl Schwan
13c35c0f17 perf(preview): Migrate previews to the new optimized table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Maxence Lange
0249e3a2f5 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:52 -01:00
Ferdinand Thiessen
05191ce129 fix: use mb_substr
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 11:17:05 +02:00
Ferdinand Thiessen
414f77865c fix(ownCloud): ensure that accounts.display_name fits into users.displayname
`user.displayname` only allows 64 characters but old `accounts.display_name` allowed 255 characters.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 11:17:05 +02:00
Carl Schwan
d73537dd60
Merge pull request #54664 from nextcloud/carl/port-away-execute-lib
Port away from IQueryBuilder::execute in lib/ and tests/ and fix invalid usage of UniqueConstraintViolationException
2025-09-02 14:38:11 +02:00
Carl Schwan
c21b8169ff refactor(querybuilder): Port away from qb::execute() in lib/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
Marcel Klehr
a38cb61d4d fix(RepairMimeTypes): Fix psalm issue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-02 10:21:39 +02:00
Kate
1d50cf3b51
Merge pull request #54742 from nextcloud/carl/ParamNameMismatch 2025-09-01 21:00:06 +02:00
Marcel Klehr
8c93c00fd7 feat: Add text/plain MIME type mapping for 'text' extension
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-01 13:13:56 +02:00
Carl Schwan
76dc41ea18 fix(psalm): Fix ParamNameMismatch with IRepairStep::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:46 +02:00
Carl Schwan
ef5edb6801 fix(psalm): Fix ParamNameMismatch with Job::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:39 +02:00
Côme Chilliet
78d69d5581
feat(repair): Migrate oc_properties.propertyvalue to the correct type if needed
This is sometimes needed when migration from owncloud

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-26 15:11:26 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Maxence Lange
d5e487078a feat(lexicon): using configmanager
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01:00
Maxence Lange
e39ab65239 feat(lexicon): migrate config key/value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01:00
Daniel Kesselberg
3d1de793b1
refactor(dav): replace IAppData with IAppDataFactory for PhotoCache
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-15 18:28:45 +02:00
Ferdinand Thiessen
072d4e8cba
chore: move implementation from OC legacy to OCP\Files
- move implementation to the OCP variant that called the legacy before
- add the missing deprecation notice
- add missing parameter to align both signatures
- use OCP\Files where this method is still used

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 14:55:45 +02:00
Richard Steinmetz
246da73a36
fix(oauth2): retain support for legacy ownCloud clients
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-01 11:25:52 +02:00
Benjamin Giesinger
3c8198a721
feat(mimetypes): Fixed copy paste error 2025-03-25 19:50:27 +01:00
Benjamin Giesinger
68d45006cd
feat(mimetypes): Added musicxml mimetypes 2025-03-25 19:50:06 +01:00
Ferdinand Thiessen
e3af27b280
refactor: convert sanitize account properties repair step to background job
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-24 15:16:28 +01:00
Ferdinand Thiessen
575222b5af
fix: Optimize repair step performance
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-24 15:16:28 +01:00
Ferdinand Thiessen
08d33a9f57
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:16:27 +01:00
Git'Fellow
885175772b fix(repair): PHP8.3 deprecation warning
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-14 11:55:19 +01:00
Richard Steinmetz
754a047404
fix(oauth2): adjust db schemas when migrating from owncloud
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-02-05 21:56:02 +01:00
SebastianKrupinski
c1dd8ddf59 fix: replace null character when serializing
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-12-13 11:46:26 -05:00
Joas Schilling
015835f4e7
fix(owncloud): Fix ownCloud migration with oauth2 app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-04 14:16:40 +01: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 +02: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 +02:00
Ferdinand Thiessen
16833aff86
fix: Make user removal more resilient
Currently there is a problem if an exception is thrown in `User::delete`,
because at that point the user is already removed from the backend,
but not all data is deleted.

There is no way to recover from this state, as the user is gone no information is available anymore.
This means the data is still available on the server but can not removed by any API anymore.

The solution here is to first set a flag and backup the user home,
this can be used to recover failed user deletions in a way the delete can be re-tried.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-26 20:48:37 +02: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 +02:00
John Molakvoæ (skjnldsv)
397910cd1d
feat: add nfo file support
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-09-18 11:51:10 +02:00
John Molakvoæ (skjnldsv)
67fb4da40f
chore: update RepairMimeTypes migration
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-09-17 14:14:01 +02:00
Robin Appelman
b21a399d1a
fix: implement sharding compatible cleanup for various bits
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:27:14 +02:00
Robin Appelman
2eaeeeeafe
fix: run mimetype repair query across all shards
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +02:00