Commit Graph

10915 Commits

Author SHA1 Message Date
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
Robin Appelman 88f35d52d2
rename cache event to follow new naming standards
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-26 15:39:46 +01:00
Robin Appelman 23fb497ff5
extend cache events
- adds cache remove event
- expose storage id in event
- emit events during cache move

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-26 15:22:03 +01:00
Christoph Wurst 7dd39a91ee
Remove dead method \OC\Updater::checkAppUpgrade
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-26 14:48:41 +01:00
Christoph Wurst 54e3beba16
Merge pull request #24319 from nextcloud/techdebt/noid/streamline-user-creation-and-deletion-events
Streamline user creation and deletion events
2020-11-26 14:09:54 +01:00
Roeland Jago Douma 2172432420
Merge pull request #23912 from nextcloud/objectstore-copy
use in objectstore copy
2020-11-25 16:09:26 +01:00
Arthur Schiwon 9cfa8a6c44
send expected format of cloud id
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-24 23:14:43 +01:00
blizzz 5d03b5c5dd
Merge pull request #24162 from nextcloud/fix/noid/fedshares-displaynamez
set the display name of federated sharees from addressbook
2020-11-24 17:23:37 +01:00
blizzz 6156a49f6e
Merge pull request #24341 from nextcloud/fix/sharing-enforce-expire-checkbox
Fix the config key on the sharing expire checkbox
2020-11-24 15:49:49 +01:00
Robin Appelman 9d4848e863
use in objectstore copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-24 15:16:58 +01:00
Christoph Wurst 2526c5e042
Fix the config key on the sharing expire checkbox
We don't use `shareapi_internal_enforce_expire_date` anywhere.
`shareapi_enforce_internal_expire_date` is the one we want.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-24 14:17:41 +01:00
Arthur Schiwon 16a78f535a
set the display name of federated sharees from addressbook
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-24 11:30:11 +01:00
Roeland Jago Douma c2c539a754
Merge pull request #24323 from nextcloud/fix/comments-tab-missing
Fix reverse registration and missing comments tab
2020-11-24 09:34:50 +01:00
Roeland Jago Douma 8ac9767881
Merge pull request #24312 from nextcloud/bugfix/noid/fix-router-alias
Add proper alias for internal router class
2020-11-24 08:43:29 +01:00
Christoph Wurst decc5c844b
Fix reverse registration and missing comments tab
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-24 08:28:19 +01:00
Julius Härtl d9708ebece
Add proper alias for internal router class
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-24 08:01:39 +01:00
Morris Jobke f4c1512bb7
Fix typo in @deprecated PHPDoc tag
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-24 00:13:09 +01:00
Morris Jobke 9bf76d2bad
Streamline user creation and deletion events
CreateUserEvent was the only one that didn't matched the naming scheme of BeforePASTTENSEEvent and PASTTENSEEvent. The event wasn't used at all so this just removes it again as there is BeforeUserCreatedEvent that is also available since 18.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-23 23:59:52 +01:00
Morris Jobke 9a0428835f
Merge pull request #24267 from nextcloud/techdebt/noid/auto-wire-encryption-app-view-dependent
Auto-wire remaining encryption app services that depend on View
2020-11-22 22:33:53 +01:00
Roeland Jago Douma 032de4f333
Merge pull request #24269 from nextcloud/taint-specialize
Mark getAppPath as specialized taint
2020-11-22 13:39:46 +01:00
Lukas Reschke d25ca1976b Mark getAppPath as specialized taint
Should remove some false positives.

https://psalm.dev/docs/security_analysis/avoiding_false_positives/

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2020-11-21 01:15:15 +00:00
Lukas Reschke 98ddfdd1e8 Mark cleanAppId as sanitizer for include
Should remove a bunch of false positive code scanning results.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2020-11-21 00:57:25 +00:00
Morris Jobke e606c0eef4
Allow View to be used via DI
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-21 00:18:59 +01:00
Morris Jobke db3a3bee37
Merge pull request #24064 from nextcloud/techdebt/noid/auto-wire-encryption-app
Auto-wire as much as possible in the encryption app
2020-11-21 00:04:54 +01:00
Morris Jobke 6811274cfd
Merge pull request #24246 from LukasReschke/add-taint-flow-analysis
Add Psalm Security Analysis
2020-11-21 00:04:37 +01:00
Morris Jobke 5be18215fb
Auto-wire as much as possible in the encryption app
Also cleans up only non-classname services in the server container

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-20 23:13:22 +01:00
Lukas Reschke 47ac8e0028
Add Psalm Taint Flow Analysis
This adds the Psalm Security Analysis, as described at
https://psalm.dev/docs/security_analysis/

It also adds a plugin for adding input into AppFramework.

The results can be viewed in the GitHub Security tab at
https://github.com/nextcloud/server/security/code-scanning

**Q&A:**

Q: Why do you not use the shipped Psalm version?
A: I do a lot of changes to the Psalm Taint behaviour. Using released
versions is not gonna get us the results we want.

Q: How do I improve false positives?
A: https://psalm.dev/docs/security_analysis/avoiding_false_positives/

Q: How do I add custom sources?
A: https://psalm.dev/docs/security_analysis/custom_taint_sources/

Q: We should run this on apps!
A: Yes.

Q: What will change in Psalm?
A: Quite some of the PHP core functions are not yet marked to propagate
the taint. This leads to results where the taint flow is lost. That's
something that I am currently working on.

Q: Why is the plugin MIT licensed?
A: Because its the first of its kind (based on GitHub Code Search) and
I want other people to copy it if they want to. Security is for all :)

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2020-11-20 23:12:00 +01:00
Carlos Ferreira a42eb05a35
Simple typo in comments 2020-11-20 20:01:28 +01:00
Morris Jobke 691409cdec
Merge pull request #24062 from nextcloud/revert-24060-revert-24039-faster-installation
Revert "Revert "Installation goes brrrr""
2020-11-20 15:02:51 +01:00
Roeland Jago Douma b71803802c
Harden EncryptionLegacyCipher a bit
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-20 09:52:55 +01:00
Morris Jobke 1b613c84e9
Merge pull request #24007 from nextcloud/select-distinct-multiple
allow selecting multiple columns with SELECT DISTINCT
2020-11-19 22:39:01 +01:00
Morris Jobke c2510ecae9
Merge pull request #24103 from nextcloud/bugfix/noid/groupfolder-share-object-storage
Only check path for being accessible when the storage is a object home
2020-11-19 22:37:28 +01:00
Morris Jobke 650ffc587f
Merge pull request #24164 from nextcloud/fix/lazy-app-registration
Allow lazy app registration
2020-11-19 22:35:09 +01:00
Roeland Jago Douma d602aa1825
Merge pull request #24135 from medical-cloud/fix/23357-nextcloud-logo-in-email-notifications-is-misaligned-in-version-20
Fix nextcloud logo in email notifications misalignment
2020-11-19 10:48:18 +01:00
medcloud 87ec4a0da3 Fix #23357
Signed-off-by: medcloud <42641918+medcloud@users.noreply.github.com>
2020-11-18 22:29:02 +01:00
Maxence Lange a0d9b15a80 missing level
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-11-18 18:30:07 -01:00
Christoph Wurst 3cf39c573f
Allow lazy app registration
During app installation we run migration steps. Those steps may use
services the app registers or classes from composer. Hence we have to
make sure the app runs through the registration.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-18 08:48:45 +01:00
Roeland Jago Douma 72a9c35be3
Remove some IRouter methods
This is not the end. IRouter needs to burn.
But it is a start.

🎵 we didn't start the fire 🎵

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-17 14:08:20 +01:00
Joas Schilling a8cb8e21c1
Add types to function builder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-16 19:46:24 +01:00
Joas Schilling 9a3ce2f71f
Don't drop the table anymore when we create it again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-16 19:34:38 +01:00
Robin Appelman a61a757b85
allow selecting multiple columns with SELECT DISTINCT
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-16 15:45:17 +01:00
Roeland Jago Douma 426dc68b45
Merge pull request #24069 from nextcloud/fix-default-internal-expiration-date
Fix default internal expiration date
2020-11-16 14:13:56 +01:00
Christoph Wurst d0f738fd59
Merge pull request #24112 from nextcloud/bugfix/24099/setup-fs-before-query-storage-in-settings
Set up FS before querying storage info in settings
2020-11-16 11:46:22 +01:00
Daniel Calviño Sánchez bcf0a69af4 Fix default internal expiration date
The default expiration date for internal shares was set from the default
link expiration date instead of the internal one.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 08:54:18 +01:00
Joas Schilling 91a3e439cb
Don't throw on SHOW VERSION query
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-16 08:43:48 +01:00
Vincent Petry 2143f2bb82
Set up FS before querying storage info in settings
The personal info section of the personal settings is querying the
storage quota information. For this it requires the FS to be setup which
is not always guaranteed.

This fixes an issue where refreshing the settings page would cause it to
fail after Redis caches are full. It is likely that when Redis cache is
populated, some code path is initializing the FS, so it works so far.
But when the cache is populated, that code path is skipped so the FS is
not guaranteed to be setup...

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-11-13 17:06:37 +01:00
Julius Härtl d665981447
Only check path for being accessible when the storage is a object home
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-13 13:48:32 +01:00
Roeland Jago Douma 51a02c8009
ReflectionParamter::getClass is deprecated
In php8 this starts throwing warnings. And since we use it quite often
we flood the log. This moves it to getType which does the same. Only non
deprecated now.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-11 20:42:14 +01:00
Joas Schilling d7b5d4cb58
Revert "Revert "Installation goes brrrr"" 2020-11-11 20:12:13 +01:00
Christoph Wurst d36155620c
Revert "Installation goes brrrr" 2020-11-11 17:40:12 +01:00
Joas Schilling 77713ab454
Don't create a schema to check if the migrations table exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-11 11:45:00 +01:00
Joas Schilling dde0e73c6b
Reduce the number of schemas we generate when we just run all migrations anyway
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-11 11:45:00 +01:00
Joas Schilling 7f45f90789
Only update the schema when we install anyway
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-11 11:40:51 +01:00
Julius Härtl 61496d3482
Merge pull request #24041 from nextcloud/techdebt/noid/remove-oc_hooks-for-group-management
Remove old OC_Hook for OC_Group events
2020-11-11 11:17:31 +01:00
Morris Jobke e187c1d778
Remove old OC_Hook for OC_Group events
Those mappings exist and we will remove the first ones (labeled as `old`):

old: `\OC_Hook::listen('OC_Group', 'pre_createGroup', array('run' => true, 'gid' => $gid));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'preCreate', function ($gid) { ... });`
since NC 17 (#18350): `OCP\Group\Events\BeforeGroupCreatedEvent`

old: `\OC_Hook::emit('OC_User', 'post_createGroup', array('gid' => $gid->getGID()));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'postCreate', function (\OC\Group\Group $gid) { ... });`
since NC 17 (#18350): `OCP\Group\Events\GroupCreatedEvent`

old: `\OC_Hook::emit('OC_Group', 'pre_deleteGroup', array('run' => true, 'gid' => $group->getGID()));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'preDelete', function (\OC\Group\Group $group) { ... });`
since NC 17 (#18350): `OCP\Group\Events\BeforeGroupDeletedEvent`

old: `\OC_Hook::emit('OC_User', 'post_deleteGroup', array('gid' => $group->getGID()));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'postDelete', function (\OC\Group\Group $group) { ... });`
since NC 17 (#18350): `OCP\Group\Events\GroupDeletedEvent`

old: `\OC_Hook::emit('OC_Group', 'pre_addToGroup', array('run' => true, 'uid' => $user->getUID(), 'gid' => $group->getGID()));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'preAddUser', function (\OC\Group\Group $group, \OC\User\User $user) { ... });`
since NC 17 (#18350): `OCP\Group\Events\BeforeUserAddedEvent`

old: `\OC_Hook::emit('OC_Group', 'post_addToGroup', array('uid' => $user->getUID(), 'gid' => $group->getGID()));`
since OC 8 (owncloud/core#12618): `$groupManager->listen('\OC\Group', 'postAddUser', function (\OC\Group\Group $group, \OC\User\User $user) { ... });`
since NC 17 (#18350): `OCP\Group\Events\UserAddedEvent`

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-10 21:58:44 +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
Joas Schilling 5b5aebbf66
Replace the credentials table with one that can have empty user
Primary key columns on Oracle can not have empty strings

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:36:27 +01:00
Joas Schilling fbda2d1d25
Don't try to update on NotNullConstraintViolationException, only on unique or foreign key
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:36:27 +01:00
Joas Schilling 1aa9c9164d
Fix comparing the empty string for global credentials
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:36:26 +01:00
Joas Schilling cffad62771
Empty string is returned as null, but empty string in file cache is the root and exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:35:43 +01:00
Morris Jobke f23c2162ad
Merge pull request #23993 from nextcloud/bugfix/noid/close-cursors
Don't leave cursors open
2020-11-10 15:15:03 +01:00
Christoph Wurst 979b291a36
Show the full trace of an exception
Because often we catch the exception at some point and then the trace is
misleading. What's really interesting is the trace of the *previous*
exception.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-10 10:35:08 +01:00
Roeland Jago Douma 2b7ea590e1
Merge pull request #23994 from nextcloud/fix/comment_search
Update comment search to initFS
2020-11-09 15:52:01 +01:00
Joas Schilling 8027dcbc6f
Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
John Molakvoæ 72545ffd07
Merge pull request #23937 from nextcloud/bugfix/noid/files-ocdb
Use query builder instead of OC_DB in OC\Files\*
2020-11-09 11:58:36 +01:00
Morris Jobke f02bab1425
Merge pull request #23976 from nextcloud/enh/reduce_getAppPath_and_autoload_reg
Reduce the getAppPath and autoloader calls
2020-11-09 11:10:33 +01:00
Morris Jobke 28464f71a2
Merge pull request #23982 from nextcloud/fix/quota-storage-getsize
Make sure root storage is valid before checking its size
2020-11-09 11:03:25 +01:00
Morris Jobke 005a132938
Merge pull request #23741 from Ashod/lock-leak
Unlock when promoting to exclusive lock fails
2020-11-09 11:00:46 +01:00
Roeland Jago Douma d1c53981eb
Update comment search to initFS
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-09 09:52:23 +01:00
Joas Schilling c07720de77
Use query builder instead of OC_DB in OC\Files\*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 09:05:15 +01:00
John Molakvoæ (skjnldsv) 6a453ac184
Make sure root storage is valid before checking its size
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-09 08:49:30 +01:00
Roeland Jago Douma 889bb44b42
First query the server container
When the servercontainer wants to obtain something changes are very high
this is something from the server container. Esp on setups with a lot of
shares this can change quite a bit as it avoid a needless check on the
strpos OCA\\ etc.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-07 17:51:41 +01:00
Roeland Jago Douma d8637c62e0
Reduce the getAppPath and autoloader calls
The getAppPath will always return the same data for the same appId. It
is actually already cached. However we do some cleanup of the appId
(again). Same for the autoloading it is actually already checked.

This just removes the unneeded calls. Which can add up if you have a lot
of incomming shares.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-07 17:24:41 +01:00
Roeland Jago Douma a5fa9604ba
Merge pull request #23923 from nextcloud/bugfix/oci/fix-greatest-order-for-oracle
Fix greatest/least order for oracle
2020-11-07 16:55:13 +01:00
Ashod Nakashian a66fb45c0b Unlock when promoting to exclusive lock fails
In certain cases changeLock to EXCLUSIVE fails
and throws LockedException. This leaves the
file locked as SHARED in file_put_contents,
which prevents retrying (because on second
call file_put_contents takes another SHARED
lock on the same file, and changeLock doesn't
allow more than a single SHARED lock to promote
to EXCLUSIVE).

To avoid this case, we catch the LockedException
and unlock before re-throwing.

Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2020-11-07 10:31:26 -05:00
Joas Schilling d9e471771a
Update parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 14:06:03 +01:00
John Molakvoæ d25e5366b8
Merge pull request #23934 from nextcloud/enh/avoid_scss_compile 2020-11-07 10:11:50 +01:00
Morris Jobke cab80e685b
Merge pull request #23942 from nextcloud/techdebt/cookie-lax-php7.3
Remove the cookie paths for php<7.3
2020-11-06 22:42:20 +01:00
Morris Jobke 1da559f5e9
Merge pull request #23938 from nextcloud/bugfix/oci/sharing-ocdb
Replace some usages of OC_DB in OC\Share\* with query builder
2020-11-06 22:41:20 +01:00
Morris Jobke 659ea6ad79
Merge pull request #23851 from nextcloud/enh/read_env_only_once
Read the env variables only once
2020-11-06 22:35:00 +01:00
Morris Jobke fb5d1b40e4
Merge pull request #23943 from nextcloud/bugfix/oci/fix-ilike-on-oracle
Fix iLike() falsely turning escaped % and _ into wildcards
2020-11-06 22:27:30 +01:00
Morris Jobke 9981ffd784
Merge pull request #23922 from nextcloud/bugfix/noid/fix-query-type-detection
Improve query type detection
2020-11-06 22:18:14 +01:00
Morris Jobke 63f996408b
Merge pull request #23928 from nextcloud/bugfix/oci/dont-leave-stray-cursors-on-mimetype-update
Fix repair mimetype step to not leave stray cursors
2020-11-06 22:09:44 +01:00
Morris Jobke b70cf435a7
Merge pull request #23940 from nextcloud/enh/skip_already_loaded_apps
Skip already loaded apps in loadApps
2020-11-06 21:58:44 +01:00
Morris Jobke 3f88ab8252
Merge pull request #23929 from nextcloud/techdebt/noid/deprecate-prepare-and-execute-audited-as-they-leak-cursors
Deprecate OC_DB::prepare and OC_DB::executeAudited as they leak cursors
2020-11-06 16:24:29 +01:00
Joas Schilling cb8bef1f37
Fix iLike() falsely turning escaped % and _ into wildcards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 16:22:13 +01:00
Morris Jobke 9e2ced609e
Merge pull request #23932 from nextcloud/enh/s3/do_not_check_bucket_exists_on_every_request
Allow config to specify the bucket exists
2020-11-06 16:13:20 +01:00
Christoph Wurst 7e2c3a820e
Remove the cookie paths for php<7.3
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-06 15:57:17 +01:00
Roeland Jago Douma 0dece78617
Skip already loaded apps in loadApps
Otherwise you might end up calling a lot of functions unneeded.
And while the individual calls are cheap if you multiply them by 20k
they still get somewhat expensive.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 14:56:06 +01:00
Joas Schilling ad8b848444
Replace some usages of OC_DB in OC\Share\* with query builder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 13:02:14 +01:00
Joas Schilling 3aaf2fabb1
Make sure Oracle always casts everything in the best way
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 12:13:22 +01:00
Joas Schilling 4b125d4402
Use Query builder function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 12:13:22 +01:00
Joas Schilling 3c027bd0cf
Fix order of GREATEST for Oracle
As per https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions060.htm
Oracle uses the first value to cast the rest or the values.
So when the first value is a plain int, instead of doing the math,
it will cast the expression to int and continue with a potential 0.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 12:13:22 +01:00
Julius Härtl 3f4fb9dc89
Merge pull request #23921 from nextcloud/techdebt/oci/fix-casting-to-integer
Fix casting to integer on Oracle
2020-11-06 11:39:48 +01:00
Roeland Jago Douma cd849db8be
Avoid SCSS compilation if not needed
Now we do on each template load a compile with the SCSS variables to see
if they changed or not. However there is no real reason for this if the
variables didn't change.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 11:31:36 +01:00
Roeland Jago Douma 65141d4864
Allow config to specify the bucket exists
In the 99% case the bucket is just always there. And if it is not the
read/write will fail hard anyways. Esp on big instances the Objectstore
is not always fast and this can save a few hundered ms of each request
that acess the objectstore.

In short it is adding

'verify_bucket_exists' => false

To the S3 config part

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 11:08:38 +01:00
Joas Schilling a847aea19c
Deprecate OC_DB::prepare and OC_DB::executeAudited as they leak cursors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 10:37:37 +01:00
Joas Schilling da1c2bdfe6
Fix repair mimetype step to not leave stray cursors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 10:33:59 +01:00
Joas Schilling 3d2f71cfa9
Improve query type detection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 08:38:56 +01:00
Joas Schilling cfc35fa49a
Fix casting to integer on Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 08:38:08 +01:00
Roeland Jago Douma e93823cba0
Bearer must be in the start of the auth header
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 08:32:50 +01:00
Morris Jobke 0247f22c83
Merge pull request #23887 from ecsecta/fix_23797
Do not emit UserCreatedEvent twice
2020-11-05 22:58:30 +01:00
Roeland Jago Douma 12e2b74872
Merge pull request #23901 from nextcloud/techdebt/noid/deprecate-old-usermanager-events
Deprecate old user manager events for user creation
2020-11-05 09:37:07 +01:00
Tobias Assmann a79d7c0be0 fix: also remove use statement of UserCreatedEvent
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2020-11-05 08:53:20 +01:00
Morris Jobke 645e1c55b8
Merge pull request #23819 from nextcloud/td/routing/move_things_around
Cleanup routing
2020-11-04 22:16:13 +01:00
Morris Jobke c3969d9493
Merge pull request #23792 from nextcloud/techdebt/noid/group-unread-comment-count-query
Add a function to get the unread count for multiple objects in one go
2020-11-04 21:45:44 +01:00
Morris Jobke fd3d7c394a
Deprecate old user manager events for user creation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-04 21:19:16 +01:00
Joas Schilling ede7510854
Add a function to get the unread count for multiple objects in one go
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-04 11:01:21 +01:00
Morris Jobke 83c60496a9
Document the behaviour inline
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-04 10:13:15 +01:00
Tobias Assmann ded2acc966 fix: no more translation from postCreateUser hook to UserCreatedEvent anymore, as event is already emitted in user manager
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2020-11-04 09:18:35 +01:00
Morris Jobke 8d02ee9ac7
Merge pull request #21693 from nextcloud/fix/noid/import-certificates-only-by-system
Improve CertificateManager to not be user context dependent
2020-11-03 21:48:37 +01:00
Julius Härtl f49630f48c
Replace prefix in executeUpdate
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-03 11:03:02 +01:00
Morris Jobke 1c496a5a35
Add a background job that checks for potential user imported SSL certificates and shows a warning in the admin settings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 10:06:33 +01:00
Roeland Jago Douma e25a7137cc
Cleanup route registration logic
This was a bunch of cylic things being called.
This is an attempt to clean this all up. If an app provides an array of
routes. We just parse them and hand them back.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-03 09:39:49 +01:00
Roeland Jago Douma 54b9f639a6
Always return the default path if we can
Just check in the certifcate manager. So every part of the system that
request the certificatebundle gets the defaullt one (the 99% case) if we
can.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-03 00:13:01 +01:00
Morris Jobke dc479aae2d
Improve CertificateManager to not be user context dependent
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)

The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 00:13:01 +01:00
Roeland Jago Douma 17ffe46d0b
Read the env variables only once
We read config.php an awefull lot of times. So it only makes sense to
kill this as much as wel can.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-02 21:37:09 +01:00
Morris Jobke 2d67cb9510
Merge pull request #23839 from nextcloud/fix/noid/avatar-status
No need to check if there is an avatar available, because it is gener…
2020-11-02 19:07:57 +01:00
Morris Jobke 7debc6e0b6
No need to check if there is an avatar available, because it is generated on the fly nowadays
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-02 15:39:45 +01:00
Roeland Jago Douma 441a3434f3
Move localecache to array
It seems the DS Set in the polyfill implementation is a lot less
efficient than normal arrays. (A LOT!).
So for now use a stupid normal array.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-02 15:02:04 +01:00
Roeland Jago Douma ff08b10a89
Merge pull request #23822 from nextcloud/enh/parse_localse_only_once
Only parse the locales ones
2020-11-02 12:24:38 +01:00
John Molakvoæ 25a1df9c7e
Merge pull request #22373 from nextcloud/fix-example-usage-for-mailer
Fix example usage
2020-10-31 15:58:29 +01:00
Roeland Jago Douma 6e377a9daf
Only parse the locales ones
Before we'd go over the entire list for each translation (so each app)
we'd use translation for. This means we'd also go over thise locale list
(currently containing 750 entries) * apps so often this added up to ~20k
calls.

now we just dump the locales in a set once and then check if the entry
is there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-31 15:25:19 +01:00
Roeland Jago Douma fe46149560
Psalm fixes
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-30 19:27:53 +01:00
Roeland Jago Douma 28be188fbc
Update internal connection class
executeUpdate is deprecated in favor of executeStatement.
We overwrote the old one hence the prefix was no longer replaced.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-30 19:27:53 +01:00
Morris Jobke f12e7e0e95
Fetch the logger and system config once for all query builder instances
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-29 22:35:06 +01:00
Robin Appelman de7026f6e4
use file name instead of path in 'not allowed to share' message
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-29 16:43:21 +01:00
Morris Jobke 7ed11b6dfa
Merge pull request #23765 from nextcloud/techdebt/noid/sudadmin-events-into-typed-events
Add typed events for adding and removing a subadmin
2020-10-29 11:18:01 +01:00
Morris Jobke e5cd4ead04
Merge pull request #23766 from nextcloud/techdebt/noid/remove-unused-private-emitters
Remove unused private ForwardEmitter and LegacyEmitter
2020-10-29 10:03:36 +01:00
Morris Jobke 3076eb4e9b
Merge pull request #23767 from nextcloud/techdebt/noid/add-deprecated-tag-to-all-methods
Add deprecated tag also to methods of deprecated classes - OC\\Hooks\\Emitter namespace
2020-10-29 09:03:52 +01:00
Morris Jobke b8ed997238
Remove ISection in favor of IIconSection
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-28 23:05:00 +01:00
Morris Jobke 704fb2dbf2
Add deprecated tag also to methods of deprecated classes - OC\\Hooks\\Emitter namespace
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-28 22:27:27 +01:00
Morris Jobke 6e35457fcc
Remove unused private ForwardEmitter and LegacyEmitter
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-28 22:23:39 +01:00
Morris Jobke e4f53ff91b
Add typed events for adding and removing a subadmin
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-28 21:55:08 +01:00
Christoph Wurst 7e72866811
Type the \OCP\IUserManager::callForSeenUsers closure with Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-28 19:21:00 +01:00
Roeland Jago Douma cf1af5b83b
Merge pull request #23496 from lynn-stephenson/fix/related-key-issue
Fixes related key issue.
2020-10-27 20:23:07 +01:00
Roeland Jago Douma eadce7fadd
Merge pull request #23601 from nextcloud/techdebt/noid/comments-manager-improvements
Comments manager improvements/extensions needed by Talk
2020-10-27 19:57:55 +01:00
Morris Jobke fc403135d1
Use lib instead if core as l10n module in OC_Files
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-27 15:37:57 +01:00
Christoph Wurst 9976e47035
Merge pull request #23602 from nextcloud/fix/appconfig_update_null
Fix updates of NULL appconfig values
2020-10-23 10:43:26 +02:00
Morris Jobke 2ba34cba2c
Merge pull request #23608 from nextcloud/enh/23482/forward-error-message
Add more details if extract fails
2020-10-22 12:51:47 +02:00
Joas Schilling 1f1244fdcc
Fix PHP CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-22 11:00:54 +02:00
Joas Schilling 8600e51df5
Fix manager creation and testing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-22 10:54:03 +02:00
Daniel Kesselberg d11de8c8e7
Add more details if extract fails.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-22 10:15:46 +02:00
Joas Schilling c1834bac7d
Only use index of mount point when it is there
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 13:37:56 +02:00
Joas Schilling 2dd50b4adc
Fix return type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 11:02:05 +02:00
Roeland Jago Douma db82d27239
Fix updates of NULL appconfig values
The comparisson of NULL is a bit special.
So we need to handle this a tad beter else it might not replace NULL
values. or allow you to set NULL values on updates.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-21 10:04:06 +02:00
Joas Schilling 6400221fba
Less magic
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 09:47:40 +02:00
Joas Schilling d462439a63
Get the last comment date for a list of actors (to allow sorting mention suggestions e.g.)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 09:18:51 +02:00
Joas Schilling 89651c5233
Allow to search on multiple objects with one query
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 09:16:42 +02:00
Joas Schilling 326640462b
Add methods to get the number of comments and last comment since a date
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 09:15:38 +02:00
Joas Schilling 2cc35cc65d
Include an option to also include the lastKnownCommentId object
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 09:08:48 +02:00
John Molakvoæ 766590d204
Merge pull request #23173 from nextcloud/feat/comments-sidebar-vue 2020-10-20 20:46:21 +02:00
John Molakvoæ (skjnldsv) 6cd7549509
Bump @nextcloud/vue to 3.0.0
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-20 18:02:45 +02:00
Joas Schilling 4bc821edd9
PSR logger for accounts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-20 17:41:47 +02:00
John Molakvoæ (skjnldsv) 3e1916080a
Add ICommentsManager::load method
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-20 14:39:28 +02:00
John Molakvoæ (skjnldsv) e7f5516b4d
Init vue comments tab
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-20 13:58:06 +02:00
Roeland Jago Douma ffd76d05c9
Merge pull request #23374 from nextcloud/bugfix/noid/app-fetch-retry
Only retry fetching app store data once every 5 minutes in case it fails
2020-10-20 09:21:51 +02:00
Morris Jobke 09501e1710
Merge pull request #23508 from nextcloud/fix/23355/iuser-expected-null-given
fixes potential passing of null to getUserGroupIds
2020-10-16 14:57:54 +02:00
Morris Jobke 4bf891f605
Merge pull request #23478 from nextcloud/fix/21059/fix-deadlock-in-scsscacher
Clear cached app config while waiting for the SCSSCache lock to return
2020-10-16 14:56:43 +02:00
Julius Härtl 4512c73293
Only retry fetching app store data once every 5 minutes in case it fails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-16 14:32:58 +02:00
Morris Jobke cce716f9f3
Clear cached app config while waiting for the SCSSCache to finish processing the file
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 13:28:00 +02:00
Arthur Schiwon fd23614c08
fixes potential passing of null to getUserGroupIds
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-16 12:29:35 +02:00
Morris Jobke 9273436534
SCSSCacher - Lock should not be removed
This is within the failed lock acquiring branch. So the lock is free by another process and should not be removed because the cached file (that was created by the process having the lock) appeared on the filesystem.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 10:02:18 +02:00
Morris Jobke 2456969b41
Merge pull request #23490 from nextcloud/debug/noid/log-statements-for-scss-locking
Provide log statements for SCSS cache
2020-10-16 09:48:09 +02:00
lynn-stephenson 648b60fa0e
Derive encryption key & MAC key from a single key.
Signed-off-by: lynn-stephenson <lynn.stephenson@protonmail.com>
2020-10-15 21:23:24 -08:00
Morris Jobke e5fe3426c3
Provide log statements for SCSS cache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 00:09:11 +02:00
Christoph Wurst b47a2730c0
Type the authentication listeners
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-15 16:43:21 +02:00
Christoph Wurst f464ef050b
Fix type errors detected by Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-14 15:40:12 +02:00
Christoph Wurst 0da89c0fa1
The file cache entry is array accessible
… so let's make this part of our API. We use it as array already.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-13 10:47:00 +02:00
Joas Schilling 49ff48fcd3
Use PSR logger in authentication
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-12 22:07:04 +02:00
Robin Windey 6a1f8fb3be
Fix typo 'shared' 2020-10-12 14:19:41 +02:00
Christoph Wurst 2664c7f75f
Type some of the core mappers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-12 11:10:09 +02:00
Roeland Jago Douma 049d5b3a4b
Merge pull request #23249 from nextcloud/techdebt/server-container-cleanup
Server container cleanup
2020-10-09 09:19:41 +02:00
Christoph Wurst 56b67c8c13
Clean up the server
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-09 08:25:56 +02:00
Roeland Jago Douma 8fae2beece
Limit throttler to 48 hours
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-08 19:51:13 +02:00
Roeland Jago Douma 6c1b542def
Add cleanup job for old brutefoce attempts
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-08 19:51:13 +02:00
Joas Schilling 51fbcb0801
Use PSR Logger in event dispatcher
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-08 16:52:56 +02:00
Christoph Wurst 6a63d7b4ee
Deprecate the named alias of IBus
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-07 18:58:05 +02:00
Morris Jobke 3b82c6cc84
Merge pull request #23184 from nextcloud/bugfix/noid/make-sure-getUsersFavoritingObject-can-be-run-without-a-user
Make sure getUsersFavoritingObject can be run without a user
2020-10-07 13:08:02 +02:00
Roeland Jago Douma 4e14c18192
Merge pull request #23248 from nextcloud/techdebt/server-getters-query-get
Use the ContainerInterface::get inside the server container
2020-10-07 11:40:22 +02:00
Roeland Jago Douma 67704a9643
Merge pull request #23252 from nextcloud/fix/l10n/activities
Use the correct l10n for activities
2020-10-07 11:34:57 +02:00
Roeland Jago Douma 106257733e
Merge pull request #23244 from nextcloud/techdebt/noid/user-psr-logger-interface-in-comments
Use PSR logger interface in comments manager
2020-10-07 10:58:54 +02:00
Roeland Jago Douma 03d156a824
Use the correct l10n for activities
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-07 10:50:06 +02:00
Christoph Wurst e509c6515e
Use the ContainerInterface::get inside the server container
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-07 10:12:17 +02:00
Joas Schilling 17454f6ce9
Use PSR logger interface in comments manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-07 08:57:45 +02:00
Morris Jobke c1fd22b025
Merge pull request #23144 from nextcloud/enh/noid/update-param-for-psalm
Less psalm warnings
2020-10-06 22:07:58 +02:00
Joas Schilling 9f99f859a1
Make sure getUsersFavoritingObject can be run without a user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-06 16:49:23 +02:00
Joas Schilling ac59f23daa
Only run the query to get the account data once
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-06 10:34:34 +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
Roeland Jago Douma f312cfade0
Merge pull request #22913 from nextcloud/group-folder-quota-warning-mountpoint
add mount point to quota warning message
2020-10-04 12:57:56 +02:00
Roeland Jago Douma b976cd5535
Merge pull request #21821 from nextcloud/enh/bootstrap/initial_state
Bootstrap: add initial state registration
2020-10-04 11:09:18 +02:00
Robin Appelman 0dfdf3ee99
add mount point to quota warning message
makes it more clear to the user what the quota applies to

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-04 11:02:32 +02:00
Roeland Jago Douma 1896f37465
Merge pull request #22937 from nextcloud/enh/allow_configuring_token_auth_activity_interval
Allow configuring the activity update interval of token
2020-10-04 10:37:41 +02:00
Roeland Jago Douma f4707d178e
Merge pull request #23047 from nextcloud/techdebt/noid/warn-on-database-abuse
Log the number of queries built and executed
2020-10-04 10:07:49 +02:00
Roeland Jago Douma f865a3a1c2
Move initial state provider to boostrap
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-04 09:35:33 +02:00
Roeland Jago Douma 76a7600e2e
Allow configuring the activity update interval of token
On some systems with a lot of users this creates a lot of extra DB
writes.
Being able to increase this interval helps there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-04 09:31:41 +02:00
Daniel Kesselberg 0e3ddf1b27
Add explicit typecast for $value.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-03 17:15:14 +02:00
Daniel Kesselberg 64b10f61df
Update signature for set
also ILiteral and IQueryFunction are valid.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-02 19:15:34 +02:00
Daniel Kesselberg 8fdb74bdd5
Update signature for in/notIn
$y is always passed to quoteColumnName hence ILiteral|IParameter|IQueryFunction are supported.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-02 19:09:28 +02:00
Daniel Kesselberg d14c971ad6
Update signature for like/notLike/in/notIn
$x is always passed to quoteColumnName hence ILiteral|IParameter|IQueryFunction are supported.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-02 18:59:53 +02:00