Commit Graph

10928 Commits

Author SHA1 Message Date
Christoph Wurst 8fcc0e8d8c
Merge pull request #25302 from mziech/patch-2
Use RFC-compliant URL encoding for cookies
2021-01-29 13:38:02 +01:00
Julius Härtl 222d8e6c1a
Use proper path for scanner
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-29 09:40:46 +01:00
Julius Härtl 0d384dedaa
Obtain the user language from the passed in user id
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-29 08:56:32 +01:00
Julius Härtl 39a4b1c401
Normalize compared path to avoid renaming to the same directory
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-29 08:43:17 +01:00
Roeland Jago Douma 7e727a1a31 The objectid is a string
This allows the query to use the index. Else it has to resort on
scanning all the rows.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-28 22:09:55 +01:00
Julius Härtl 6c1b357973
Move TemplateProvider registration to boot context and make template type registration lazy
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-28 12:00:21 +01:00
Julius Härtl 0111381529
Only create template directory if it is present in the default skeleton
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-28 12:00:20 +01:00
John Molakvoæ (skjnldsv) 4f90766ba3
Skip template picker if none available
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-01-28 12:00:20 +01:00
Julius Härtl 7e6d69d166
Add templatedirectory config value to let admins have their custom templates by default
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-28 12:00:20 +01:00
John Molakvoæ (skjnldsv) 78e114ed72
Add template picker
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-01-28 12:00:18 +01:00
Julius Härtl 4974404774
files: Create files from template API
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-28 11:59:46 +01:00
Roeland Jago Douma 3a9c7f99f6
Merge pull request #25335 from nextcloud/fix/app-fetcher-php-compat-comparison
Fix/app fetcher php compat comparison
2021-01-27 15:14:52 +01:00
Christoph Wurst e0f0e6e41a
Merge pull request #25268 from nextcloud/enh/previews/sgi-tga
Add SGI and TGA preview support
2021-01-27 14:54:27 +01:00
Christoph Wurst b4f71ccf4d
Fix app fetcher php comparison to allow wider ranges
When app app specifies php 7.4 as upper limit we have to allow the
installation on php>7.4.0. The previous version check didn't do that.
This adjusts the regexes to discard any irrelevant suffix after the
three version numbers so that we can use more fine granular checks than
php's version_compare can do out of the box, like for php 7.4 we only
compare the major and minor version numbers and ignore the patch level.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-26 16:35:43 +01:00
Christoph Wurst 652bf9d363
Revert "Fix comparison of PHP versions"
This reverts commit bedd9acf78.
2021-01-26 13:48:06 +01:00
Marco Ziech 4923c6be25
Use RFC-compliant URL encoding for cookies
PHP 7.4.2 changed the way how cookies are decoded, applying RFC-compliant raw URL decoding. This leads to a conflict Nextcloud's own cookie encoding, breaking the remember-me function if the UID contains a space character.

Fixes #24438

Signed-off-by: Marco Ziech <marco@ziech.net>
2021-01-24 14:18:28 +01:00
Christoph Wurst 99d525eb36
Convert 2FA token type to string
The IConfig service is documented to handle its data as strings, hence
this changes the code a bit to ensure we store keys as string and
convert them back when reading.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-22 14:09:37 +01:00
John Molakvoæ (skjnldsv) d47b84be67
Add SGI and TGA preview support
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-01-22 10:42:51 +01:00
Morris Jobke 10214fbee0
Merge pull request #25214 from nextcloud/dependabot/composer/phpseclib/phpseclib-2.0.30
Bump phpseclib/phpseclib from 2.0.25 to 2.0.30
2021-01-21 10:25:02 +01:00
Robin Appelman d182043e83
explicitly set permissions on newly created folders
this works around any `umask` that might be set and limiting the folder permissions

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-20 17:15:57 +01:00
Morris Jobke 4c81f5c4ad
Merge pull request #25212 from nextcloud/enh/preview-markdown
Enhance markdown file preview rendering
2021-01-20 15:02:41 +01:00
Morris Jobke 01f013661a
Fix typo in comment
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-20 15:02:32 +01:00
Julius Härtl aed1fde6fd
Enhance markdown file preview rendering
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-20 11:07:55 +01:00
Roeland Jago Douma fcbbcacab4 Also load CA properly in integrity check
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-20 10:57:41 +01:00
Roeland Jago Douma d751fedffb phpsec lib can't parse multiple certs in one go
So we have to split it manually and do it ourselves

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-20 10:57:41 +01:00
Joas Schilling 6c1e294edd
Compare and store the login name via the event
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 08:50:17 +01:00
Roeland Jago Douma 6d4afca7ac Add support for webp
Including handling in OC_Image
But also a preview provider

Of course only works if your php actually supports webp

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-19 20:17:10 +01:00
Roeland Jago Douma 0893bba369
Merge pull request #25153 from nextcloud/bugfix/noid/force-signature-verification-on-occ
Force signature verification of apps on occ
2021-01-19 09:35:52 +01:00
Joas Schilling 847aa08ebd
Don't log keys on checkSignature
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-18 16:09:06 +01:00
Joas Schilling 76c7356af9
Only use alphanumeric chars for mysql password
/ and + can cause problems with other tools that you might want to run on your Nextcloud database.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-18 12:03:52 +01:00
Joas Schilling 90c3013d40
Cleanup the constructor
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
Damien Goutte-Gattat bedd9acf78 Fix comparison of PHP versions
Use the builtin function `version_compare` to check an app's
compatibility with the available PHP version, instead of reusing
the `OC\App\CompareVersion::isCompatible` method which is intended
to compare Nextcloud versions. PHP version strings do not always
necessarily follow the simple Major.Minor.Patch format used by
Nextcloud and therefore cannot be properly compared by that method.

Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
2021-01-14 23:03:20 +00:00
Christoph Wurst b9287f9780
Merge pull request #25091 from nextcloud/enhancement/ocp-db-exception-abstraction
Add our own DB exception abstraction
2021-01-14 12:27:23 +01:00
blizzz f9ab7575e7
Merge pull request #25036 from nextcloud/fix/noid/limitied-allowed-items-db-in_2
respect DB restrictions on number of arguments in statements and queries
2021-01-14 11:36:42 +01:00
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
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
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
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
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
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