Commit Graph

18914 Commits

Author SHA1 Message Date
Christoph Wurst
2c9cdc1cdb Add our own DB exception abstraction
Right now our API exports the Doctrine/dbal exception. As we've seen
with the dbal 3 upgrade, the leakage of 3rdparty types is problematic as
a dependency update means lots of work in apps, due to the direct
dependency of what Nextcloud ships. This breaks this dependency so that
apps only need to depend on our public API. That API can then be vendor
(db lib) agnostic and we can work around future deprecations/removals in
dbal more easily.

Right now the type of exception thrown is transported as "reason". For
the more popular types of errors we can extend the new exception class
and allow apps to catch specific errors only. Right now they have to
catch-check-rethrow. This is not ideal, but better than the dependnecy
on dbal.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 16:38:23 +01:00
blizzz
3447ea4955 Merge pull request #25089 from nextcloud/enhancement/ocp-db-types
Add our own db column types via the public API
2021-01-12 15:24:15 +01:00
Roeland Jago Douma
e44f275cfe Merge pull request #25088 from nextcloud/fix/allow_app_updates_again
Allow installing/updating of apps again
2021-01-12 14:34:21 +01:00
Christoph Wurst
d4e6463eb2 Add our own constants for db column types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +01:00
Roeland Jago Douma
41c80d6c19 Fix option in the client code itself as well
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-12 12:36:21 +01:00
Roeland Jago Douma
9b58a027e3 Allow installing/updating of apps again
The Guzzle API changed. We shall now use sink

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-12 10:51:41 +01:00
Johannes Leuker
ac88bcbd5f Add 'allow Symlinks' as an option to config.php
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-01-12 10:38:39 +01:00
Nextcloud bot
c8cbb73c05 [tx-robot] updated from transifex 2021-01-12 02:19:49 +00:00
blizzz
7cdc7adf59 Merge pull request #25038 from nextcloud/bugfix/noid/install-mysql8-with-php8
Don't try a transaction for the migrator on MySQL
2021-01-11 18:07:11 +01:00
Roeland Jago Douma
fdd111924f Merge pull request #25039 from nextcloud/fix/libxml-use-internal-errors-deprecated
Only use libxml_disable_entity_loader on php older than 8
2021-01-11 16:14:38 +01:00
Morris Jobke
8f614acade Merge pull request #25034 from nextcloud/bugfix/noid/load-authentication-for-app-upgrades
Make sure to do priority app upgrades first
2021-01-11 14:44:10 +01:00
Morris Jobke
5ed673e5eb Merge pull request #25073 from nextcloud/psalm/24521/remove-unneeded-casts
Remove unneeded casts that were found by Psalm
2021-01-11 14:15:16 +01:00
Arthur Schiwon
f9484d15cb DB: warn on parameter number constraints
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-11 13:43:34 +01:00
Roeland Jago Douma
683685b72c Merge pull request #25070 from nextcloud/feature/noid/card-ros-definitions
Deck Rich-Object-String definitions for deck boards and cards
2021-01-11 13:31:21 +01:00
Morris Jobke
24d436cb60 Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +01:00
Christoph Wurst
c3cb288268 Bump scssphp/scssphp from 1.0.3 to 1.4.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-11 12:41:25 +01:00
Joas Schilling
078ecac188 Deck Rich-Object-String definitions for deck boards and cards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-11 12:03:13 +01:00
Nextcloud bot
ca93c9708c [tx-robot] updated from transifex 2021-01-11 02:19:52 +00:00
Nextcloud bot
b137ac468f [tx-robot] updated from transifex 2021-01-09 02:21:37 +00:00
Christoph Wurst
f8efab7c85 Only use libxml_disable_entity_loader on php older than 8
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 16:33:46 +01:00
Joas Schilling
3cdfe7b0f4 Don't try a transaction for the migrator on MySQL
As per https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html
CREATE TABLE statements automatically commit always. The only reason
this worked in the past was that PHPs PDO connection didn't check the
actual state on commit, but only checked their internal state.
But in PHP8 this was fixed:
https://github.com/php/php-src/blob/PHP-8.0/UPGRADING#L446-L450
So now commit() fails because the internal PDO connection implicitly
commited already.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-08 16:25:40 +01:00
Christoph Wurst
81302f78e5 Merge pull request #24948 from nextcloud/dependabot/composer/doctrine/dbal-3.0.0
Bump doctrine/dbal from 2.12.0 to 3.0.0
2021-01-08 14:58:43 +01:00
Morris Jobke
aeb32e1bc8 Merge pull request #22992 from nextcloud/password-urlencode
allow authenticating using urlencoded passwords
2021-01-08 14:34:01 +01:00
Julius Härtl
f31edf1544 Make sure to do priority app upgrades first
Otherwise those apps might not be loaded when the others app migrations
are running. The previous loading of authentication apps in the upgrade
step never worked as it just returns in maintenance mode

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-08 12:27:54 +01:00
Morris Jobke
dc00c8ac31 Remove "primary" option from schema builder argument $options as it is not used anymore and triggers an exception
See 138eb85234 (diff-300f55366adb50a32a40882ebdc95c163b141f64cba5f45f20bda04a907b3eb3L82)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-08 11:45:19 +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
Roeland Jago Douma
d13f2d984f Merge pull request #25015 from nextcloud/fix/no-double-intl-polyfill
Replace patchwork/utf8 with symfony-polyfill-*
2021-01-08 08:25:31 +01:00
Roeland Jago Douma
645e3e6d7e Merge pull request #25021 from nextcloud/enhancement/occ-install-exception-trace
Print an exception trace for setup exceptions
2021-01-08 08:22:50 +01:00
Nextcloud bot
94188370e7 [tx-robot] updated from transifex 2021-01-08 02:22:30 +00:00
Morris Jobke
1e3c071aa5 Merge pull request #24892 from nextcloud/fix/use-symfony-dispatcher-correctly
Use the Symfony dispatcher correctly
2021-01-07 21:42:44 +01:00
Christoph Wurst
287c26bda3 Replace patchwork/utf8 with symfony-polyfill-*
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-07 21:22:41 +01:00
Morris Jobke
171373a944 Merge pull request #24989 from nextcloud/scanner-ignore-non-readable
ignore files that have no read permissions during scanning
2021-01-07 21:10:53 +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
Roeland Jago Douma
4f52e83695 Merge pull request #24934 from nextcloud/max_file_uploads
Remove useless ini_set calls
2021-01-07 20:15:13 +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
Carlos Ferreira
bc1b5d7892 Remove useless ini_set functions 2021-01-07 15:24:49 +01:00
Roeland Jago Douma
317118ef79 Catch throwable instead of exception
The error that gets thrown can also be a type error etc. So we should
properly catch the Throwable.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-07 14:32:26 +01:00
Roeland Jago Douma
f552f23e43 Merge pull request #25003 from nextcloud/psalm/noid/phpdoc-fix-return-type
Fix return types for Archive::getStream
2021-01-07 13:31:24 +01:00
Morris Jobke
59ae722087 Fix warning in PHP 8 about optional parameter before mandatory one
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-07 12:43:56 +01:00
Morris Jobke
a39bd18654 Fix return types for Archive::getStream
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-07 12:38:41 +01:00
Robin Appelman
c374bbf14d allow authenticating using urlencoded passwords
this allows authenticating with passwords that contain non ascii-characters in contexts that otherwise do not allow it (http basic)

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-07 10:43:43 +01:00
Robin Appelman
205386b24e ignore files that have no read permissions during scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-06 17:27:31 +01:00
Roeland Jago Douma
ed1dcd3651 Set the JSCombiner cache if needed
Found while debugging a customer setup. They had to flush their Redis.
Hence the info was no longer there. Since they also used S3 this meant
requesting the files over and over on template render. Which on S3 is
not cheap.

Now we just write it back if we can't get it from the cache in the first
place. So that the next run has it cached properly again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-06 16:15:17 +01:00
Roeland Jago Douma
ad3735ba27 Merge pull request #24317 from SMillerDev/app_password_command
App password command
2021-01-06 15:35:39 +01:00
Christoph Wurst
85454ac456 Use the Symfony dispatcher correctly
* Event object as first arg (otherwise there is a notice in the logs)
* `dispatch` MUST return the event object

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-05 16:00:42 +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
Julius Härtl
98560c80ea Properly handle result when copying with failure and throw in tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 09:20:35 +01:00
Nextcloud bot
364b29b1e9 [tx-robot] updated from transifex 2021-01-05 02:21:26 +00:00
Christoph Wurst
969d4312e2 Merge pull request #24907 from nextcloud/fix/license-headers-21-II
Update license headers
2021-01-04 11:06:30 +01:00
Nextcloud bot
0cecd54909 [tx-robot] updated from transifex 2021-01-03 02:20:55 +00:00