Commit Graph

11025 Commits

Author SHA1 Message Date
Robin Appelman 1089d8545b dont allow creating users with __groupfolders as uid
Fixes https://github.com/nextcloud/groupfolders/issues/338

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 18:51:55 +00:00
Robin Appelman 44d4957548 verify that cache entry is valid
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:17:59 +00:00
Robin Appelman f6f92e8bc6 also implement for FailedCache and NullCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:17:58 +00:00
Robin Appelman 719db4cee9 use returned file id for object store copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:17:57 +00:00
Robin Appelman bb180a95bb add ICopyFromCache trait to expose existing implementation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:17:56 +00:00
Robin Appelman e5ffb96c36 only use share cacheentry when available
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:34 +00:00
Robin Appelman c727879073 adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:34 +00:00
Robin Appelman ec0985ba68 fix search in nested jails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:33 +00:00
Robin Appelman eb56b1d0bd fix cachjail searching for root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:32 +00:00
Robin Appelman 046638abeb do cachejail search filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:32 +00:00
Robin Appelman f2a35cd3f8 send share notification instead of erroring on duplicate share
when creating a share that already exists, instead of erroring, resend the notifications

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 14:13:04 +00:00
Roeland Jago Douma 7059b0b21f Add getID function to the simplefile implementation
Sometimes it is useful to get the actual fileid

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-15 13:44:45 +00:00
Robin Appelman 6308267aff apply object store copy optimization when 'cross storage' copy is within the same object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 16:16:01 +00:00
Robin Appelman a5ceded17f implement PagedProvider for file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 12:38:37 +00:00
Robin Appelman b6af62fd24 limit constructing of result objects in file search
even thought we currently have no proper way of limiting the search itself, we can at least limit the construction of the result objects.

this saves about 40% of the time spend in the search request in my local testing

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 12:38:37 +00:00
Joas Schilling 6951c4ef56 Chunk the array of phone numbers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-12 10:23:13 +00:00
Joas Schilling 62ef45028e
Clean up the logic of the contacts store a bit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:42:19 +01:00
Joas Schilling 5fa52d492a
Rename some parameters and methods to make the API more clear
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:42:09 +01:00
Joas Schilling 77f6d768bc
Add a setting to restrict returning a full match unless in phonebook or same group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:40:26 +01:00
Joas Schilling c7560ab3a9
Restrict autocompletion also based on the phonebook known users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:40:03 +01:00
Joas Schilling 88855d8827
Add a service to find out if a user knows another user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:39:46 +01:00
Joas Schilling ebb9f1d16a
Add a KnownUsers database with model
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:38:55 +01:00
Robin Appelman ac29f27b17 cache baseurl in url generator
Servers don't tend to change their url in the middle of a request

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-10 19:38:30 +00:00
Roeland Jago Douma 3aba094d86
Merge pull request #25573 from nextcloud/backport/25378/stable21
[stable21] Improve mention matches
2021-03-05 09:55:44 +01:00
Roeland Jago Douma 01b9988a2d
Merge pull request #25571 from nextcloud/backport/25460/stable21
[stable21] Always renew apppasswords on login
2021-03-05 09:07:42 +01:00
Robin Appelman 67d62a820c catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-05 07:51:47 +00:00
Daniel Kesselberg 549cefed15 Filter tables with other table prefix
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-03-03 21:13:25 +00:00
Christoph Wurst 2eb21bdceb Register service aliases und parameters just once
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-25 08:50:06 +00:00
Arthur Schiwon 2df924bdce bump applicable version due to an intermediate release
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-02-17 20:02:49 +00:00
Joas Schilling a745d58133 Cache the user backend info for 300s
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-17 07:59:22 +00:00
Roeland Jago Douma cb3199f061 Fix WebP availability check
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-11 15:00:33 +00:00
Joas Schilling 5164f43bd3 Fix linter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-11 09:35:37 +00:00
Joas Schilling cf11f914a7 Make Psalm happy
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-11 09:35:36 +00:00
Joas Schilling 8e43331d47 Improve mention matches
The previous regex didn't correctly match users with . ' or -

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-11 09:35:36 +00:00
Roeland Jago Douma 0ea266e8bf Always renew apppasswords on login
Else you can end up that you renewed your password (LDAP for example).
But they still don't work because you did not use them before you logged
in.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-10 20:11:43 +00:00
Roeland Jago Douma 7a09536114
Merge pull request #25450 from nextcloud/backport/25393/stable21
[stable21] add repair job for unencoded group share uris
2021-02-09 14:36:12 +01:00
Roeland Jago Douma be4db2d48d
Merge pull request #25496 from nextcloud/backport/25487/stable21
[stable21] Log deprecation notice of GenericEventWrapper just once
2021-02-05 16:17:19 +01:00
Christoph Wurst a35bebd7d4 Log deprecation notice of GenericEventWrapper just once
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-05 10:14:48 +00:00
James Letendre 74d90d0165 Fix failing tests
Signed-off-by: James Letendre <james.letendre@gmail.com>
2021-02-02 20:52:20 +00:00
James Letendre b65b2bbf55 Add web identity provider to S3 connection chain
Signed-off-by: James Letendre <james.letendre@gmail.com>
2021-02-02 20:52:18 +00:00
James Letendre 5750d79181 Replace defaultProvider with explicit calls to exclude user home directory lookup
Signed-off-by: James Letendre <james.letendre@gmail.com>
2021-02-02 20:52:16 +00:00
Arthur Schiwon 6ebb368265 show suggestion to clean up possible invalid shares later
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-02-02 20:52:16 +00:00
Arthur Schiwon e5b59531a3 add repair job for unencoded calendars
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-02-02 20:52:15 +00:00
James Letendre c9a724829a Resolves #24699, Support ES2 and ECS instance providers for S3 buckets
Signed-off-by: James Letendre <james.letendre@gmail.com>
2021-02-02 20:52:13 +00:00
Julius Härtl 18e2e86b95
Avoid template creators being registered multiple times
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-02-02 19:36:31 +01:00
Christoph Wurst ad2033ef1d
Merge pull request #25444 from nextcloud/bug/25415/move-generic-errors-to-end
Check for generic errors at last.
2021-02-02 18:59:43 +01:00
Daniel Kesselberg fe378200fa
Check for generic errors at last.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-02-02 18:28:49 +01:00
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
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