Commit graph

422 commits

Author SHA1 Message Date
Christoph Wurst
ed84f07784
Add missing index for propertypath only queries against properties
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-23 15:51:50 +01:00
Joas Schilling
a376aa6c61
Add version of disabled apps when available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-15 09:08:14 +01:00
John Molakvoæ
5a766ef004
Allow to delete non-migrated previews instead of moving them
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-12-09 17:34:45 +01:00
Joas Schilling
536a812de4
Add an index for selecting the next job
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-01 23:57:40 +01:00
Côme Chilliet
113756db30
Fix ArrayAccess and JsonSerializable return types
First round of modifications for PHP 8.1

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:28:56 +01:00
Christoph Wurst
781ec814e6
Do not print verbose info about app updates if there are none
This is cosmetical but if you have a large number of apps installed then
you'll see a wall of text during the server and app upgrade when it
tries to update each app via the app store. In may cases nothing will be
updated. For those boring cases we can hide the verbose info, but show
when occ is run with -v. Any actual update will still print a few lines.
Those are the important ones for the admin.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-18 09:11:22 +01:00
Robin Appelman
5155f2b0c5
Merge pull request #28541 from nextcloud/path-prefix-index2
add a prefix index to filecache.path, attempt 2
2021-10-19 14:41:23 +00:00
Joas Schilling
0a812a1c09
Adjust namespace and print a message when the job was skipped
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-14 09:57:16 +02:00
Joas Schilling
9cd9f4b4bc
Move queries to the joblist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-14 09:57:16 +02:00
Joas Schilling
e2a7482b49
Add a command to show info about a background job and force-execute it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-14 09:57:16 +02:00
Robin Appelman
695326534c
disable path prefix index on postgresql for now
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-08 18:39:22 +02:00
Robin Appelman
abd6b354ac
add a prefix index to filecache.path
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.

Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.

Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-08 18:38:25 +02:00
Robin Appelman
6502dfae34
add better index for finding unindexed paths
for the following query 'SELECT "path" FROM "oc_filecache" WHERE ("storage" = $storage) AND ("size" < 0) ORDER BY "fileid" DESC LIMIT 1;'

currently the database will in some cases decide to priorize the sort by fileid over the filter when picking what index to use, resulting in a much slower query.

by creating an index that allows first sorting by fileid and also filter by storage and size this case will be greatly sped up

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 16:11:49 +02:00
Carl Schwan
59174cfa7c
Merge pull request #28492 from nextcloud/bugfix/occ-status
Align occ status with status.php
2021-09-30 17:45:22 +02:00
Arthur Schiwon
27865d03c0
use specific email getter where necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 19:23:05 +02:00
Julius Härtl
3b6be67719
Align occ status with status.php
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-26 22:36:26 +02:00
Julius Härtl
d201dc2c93
Add active user count to occ user:report
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-19 16:22:20 +02:00
John Molakvoæ (skjnldsv)
edeb8a5739
Add storage info to user:info command
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-08-18 08:38:49 +02:00
Joas Schilling
5390d3194f
Make integrity commands verbose
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-07-08 21:21:57 +02:00
Christoph Wurst
770881d5d6
Move DateTime::ATOM to DateTimeInterface::ATOM
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-23 15:28:07 +02:00
Louis Chemineau
f40150b758 Fix typing error
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-06-21 14:14:37 +02:00
Christoph Wurst
bf564e2a5a
Convert command option defaults to strings
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-09 13:25:31 +02:00
Christoph Wurst
932a385c56
Merge pull request #27429 from nextcloud/bug/26085/wrong-data-add-order-by
Don't pass a column object to addOrderBy
2021-06-09 09:12:03 +02:00
Daniel Kesselberg
11cacf63f8
Fix #26085
addOrderBy expects a order expression. For the migration scenario we have column objects. Column objects are not supported by quoteColumnName yet.

A column object as order expression is most likely an edgy thing when migration database information.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-06-08 16:30:44 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Valdnet
9c6b01abeb
l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-06-02 17:49:32 +02:00
John Molakvoæ
8b0ce8c8a1
Merge pull request #27099 from nextcloud/bugfix/noid/make-user-report-scale 2021-05-26 15:18:41 +02:00
Joas Schilling
f9b407d0c9
Make user:report command scale
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-26 11:33:09 +02:00
Morris Jobke
726d01843e
Merge pull request #26600 from hosting-de/feature/occ-tags
Add commands to manage tags via OCC
2021-05-25 16:54:06 +02:00
Johannes Leuker
d606799ee2 Add commands to manage tags via OCC
list, add, delete, edit

Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-05-25 11:29:32 +02:00
Bjoern Schiessle
da21e86a07 use the UID as loginName and not the display name.
Otherwise the app password will not work for users with a display name different to the UID.

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2021-05-11 20:38:54 +02:00
Joas Schilling
167efa19d7
Fix psalm errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:32 +02:00
Joas Schilling
df47445c01
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:32 +02:00
Roeland Jago Douma
14ee17e5c5
Revert "add a prefix index to filecache.path" 2021-04-08 10:09:13 +02:00
John Molakvoæ
b9907df702
Merge pull request #26252 from Maxopoly/master
Add force option to app install command
2021-04-07 10:09:48 +02:00
Roeland Jago Douma
9fd29173cf
Merge pull request #26281 from hosting-de/fix/email
Change my email address
2021-03-26 09:59:35 +01:00
Morris Jobke
3388758d04
Remove event listener to udpate events that are not present anymore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-25 09:01:09 +01:00
Morris Jobke
ab48d5e8cb
Cleanup unneeded code around database.xml
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-24 22:15:44 +01:00
Joas Schilling
bb0c50717c
Bye bye database.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-24 20:04:12 +01:00
Johannes Leuker
e9ca59ef0a Change my email address
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-03-24 15:13:56 +01:00
Maxopoly
1f93721097 Add force option to app install command
Signed-off-by: Maxopoly <max@dermax.org>
2021-03-22 23:49:13 +01:00
Morris Jobke
268acd301d
Merge pull request #25529 from nextcloud/fix-non-lgc-glyphs-in-avatars-and-txt-file-previews
Fix non LGC glyphs in avatars and txt file previews
2021-03-22 21:06:22 +01:00
Robin Appelman
b28f0a0e94
add a prefix index to filecache.path
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.

Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.

Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 18:52:25 +01:00
Robin Appelman
9135a42781
make repair errors more visible
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 08:45:16 +01:00
Simon Spannagel
244e13cd43
DB conversion: improve console output
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2021-03-17 14:35:40 +01:00
Roeland Jago Douma
54cffefed4
Merge pull request #25660 from hosting-de/feature/add-backend-list-groups
Show group backends in occ group:list --info and group:info
2021-03-05 08:49:43 +01:00
Roeland Jago Douma
5b0dc6dad0 Check command input
For #25839

We should check this else it crashed hard. Better to be gracefull.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-02 19:41:35 +01:00
Daniel Calviño Sánchez
9f96a47125 Add OCC command to reset rendered texts
The command is meant to be used when the fonts used to render texts
("core/fonts/NotoSans-Regular.ttf" and "core/fonts/NotoSans-Bold.ttf")
are changed (for example, to add support for other scripts). The avatar
and text file previews will be removed, so they will be generated again
with the updated font when needed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-01 20:54:43 +01:00
Johannes Leuker
2796ef80ff Show group backends in occ group:list --info and group:info
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-03-01 16:02:08 +01: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 +01:00
Christoph Wurst
e618ea83b5
Make the app code checker a NOOP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-11 11:46:02 +01:00
Joas Schilling
7ef7c3e3f2
Fix markup
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-18 11:32:51 +01:00
Joas Schilling
2e2a2eefd5
Add a warning when trying to run integrity:check-core on git
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-18 11:32:50 +01:00
Joas Schilling
f319660f60
Force run the verification of the signature on occ
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-18 11:32:50 +01:00
Christoph Wurst
c1d4f8161b
Migrate internal classes to the OCP db col types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +01:00
Christoph Wurst
8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Morris Jobke
d0ac76a77c
Add more previous exceptions to database setup code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-07 21:04:11 +01:00
Christoph Wurst
f1921364d6
Print an exception trace for setup exceptions
Right now any setup error will just result in the exception message
being printed. In some cases this doesn't give any insights into what
went wrong. This adds some dedicated logic to print the exception trace
and any previous exceptions to the CLI.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-07 20:11:25 +01:00
Sean Molenaar
40595f3ee0
Command: Add app password generation
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
2021-01-05 13:05:17 +01:00
Christoph Wurst
9ce3ea3368
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +01:00
Vincent Petry
bdbec28a8f
Make oc_files_trash.auto_id a bigint
Adjusted migration.
Added to occ command to update existing tables.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-23 17:50:50 +01: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 +01:00
Roeland Jago Douma
ccd5ca5476
Merge pull request #23044 from nextcloud/migration-10.5
Handle owncloud migration to latest release
2020-12-10 14:32:13 +01:00
Julius Härtl
c77e259cfe
Add missing index on oc_cards and rename if it previously existed
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 12:13:34 +01:00
Julius Härtl
8f6c2ec357
Move columns to bigint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-08 16:05:53 +01:00
Morris Jobke
e25a62c69d
Merge pull request #24348 from hosting-de/feature/console-user-display-name
Wrap display_name similarly to email to allow changes via occ
2020-12-02 15:05:20 +01:00
Johannes Leuker
7daef37813 Wrap display_name similarly to email to allow changes via occ
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2020-12-02 10:27:57 +01:00
Christoph Wurst
fd649afb1f
Remove the deprecated update.php
* It was documented as deprecated.
* The app code checker warned about it
* It's been three years

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-27 13:02:59 +01:00
Joas Schilling
d5df033ede
Create primary keys on all tables and add a command to create the afterwards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:36:27 +01:00
Morris Jobke
0f52e14a92
Merge pull request #23693 from nextcloud/bugfix/noid/import-cert-clarify
Clarify import cert command
2020-10-26 22:50:28 +01:00
Vincent Petry
e80bb9c09f
Clarify import cert command
Add hint that the certificate to be imported must be in PEM format (CRT
does not parse).

Improved error message to mention that the given path must be accessible
by the web server user.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-10-26 11:51:37 +01:00
timm2k
3f691c52dc
Update ConvertFilecacheBigInt.php 2020-10-26 09:18:56 +01:00
Joas Schilling
600381f82a
Make the migration template typed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-15 16:08:50 +02:00
Christoph Wurst
d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
Robin Appelman
634c051be6
add size index for filecache
improves performance of #23004

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-22 15:15:34 +02:00
Morris Jobke
24744dcaec
Migrate verbose messages to inline syntax of writeln()
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 16:30:33 +02:00
Morris Jobke
617b3f79fa
Show lock messages only in verbose mode
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 16:30:11 +02:00
Morris Jobke
faab3e733b
Allow to run occ preview:repair in parallel
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 16:03:34 +02:00
Morris Jobke
99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02:00
Nils Wittenbrink
0aa550c0ab Fix tense of updater logs
Signed-off-by: Nils Wittenbrink <nilswittenbrink@web.de>
2020-09-10 15:17:59 +02:00
Christoph Wurst
2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Roeland Jago Douma
987f621173
Merge pull request #22331 from nextcloud/bugfix/noid/dont-use-deprecated-inigetwrapper
Don't use deprecated getIniWrapper() anymore
2020-08-20 19:45:47 +02:00
Joas Schilling
b09620651c
Don't use deprecated getIniWrapper() anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-08-20 16:35:38 +02:00
Roeland Jago Douma
5340ab3a75
New SSE key format
* Encrypt the keys with the instance secret
* Store them as json (so we can add other things if needed)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-08-20 15:42:43 +02:00
Morris Jobke
fedf9c69d9
Use matching parameter names form interfaces and implementations
Found by Psalm 3.14.1

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-19 18:16:35 +02:00
Morris Jobke
7506cbb1c4
Show disabled user count in occ user:report
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-19 09:31:41 +02:00
Morris Jobke
d7f66c36ac
Fix "misplaced variables" warning of Psalm in PHPDoc statements
Ref #21787

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-17 17:46:57 +02:00
John Molakvoæ (skjnldsv)
9e962fb69f
Allow to update to nightly
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-08-07 13:51:39 +02:00
Morris Jobke
545f806666
Use array_filter instead
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-07 10:42:09 +02:00
Morris Jobke
d8734b3b93
Add occ preview:migrate to migrate previews from the old flat structure to a subfolder structure
* `php occ preview:repair` - a preview migration tool that moves existing previews into the new location introduced with #19214
* moves `appdata_INSTANCEID/previews/FILEID` to `appdata_INSTANCEID/previews/0/5/8/4/c/e/5/FILEID`
* migration tool can be stopped during migration via `CTRL+C` - it then finishes the current folder (with the previews of one file) and stops gracefully
* if a PHP memory limit is set in the `php.ini` then it will stop automatically once it has less than 25 MiB memory left (this is to avoid hard crashes in the middle of a migration)
* the tool can be used during operation - possible drawbacks:
    * there is the chance of a race condition that a new preview is generated in the moment the folder is already migrated away - so the old folder with the newly cached preview is deleted and one cached preview needs to be re-generated
    * there is the chance of a race condition during access of a preview while it is migrated to the other folder - then no preview can be shown and results in a 404 (as of now this is an accepted risk)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-06 22:05:46 +02:00
Roeland Jago Douma
0157e30ad4
Merge pull request #21599 from nextcloud/debt/noid/type-to-types
Replace TYPE with TYPES
2020-07-02 12:21:01 +02:00
Daniel Kesselberg
87dd760a89
Replace TYPE with TYPES
As TYPE::* is deprecated.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-06-30 23:46:22 +02:00
Joas Schilling
ab21d69903
Add return value to all commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 14:54:51 +02:00
Joas Schilling
5f88380c44
Remove db prefix option from cli install command
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-26 14:10:39 +02:00
Morris Jobke
e57bca31ad
Merge pull request #20005 from joeried/occ-remove-bruteforce-attempts-by-ip
Implement occ command to reset bruteforce attemps from a given IP address
2020-05-25 14:04:18 +02:00
Joas Schilling
9c025134b3
Fix syntax
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-06 10:54:36 +02:00
Mario Danic
6e28c2807b
Add index to properties table
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2020-04-30 23:04:15 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Sander Ruitenbeek
6b62bef928
Display notice for already enabled apps
Signed-off-by: Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>

Signed-off-by: Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
2020-04-24 16:30:45 +02:00
Christoph Wurst
734c62bee0
Format code according to PSR2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:56:50 +02:00