Commit Graph

10096 Commits

Author SHA1 Message Date
Julius Härtl 56aa8fd035
Properly hint exceptions thrown by getUserFolder
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-03 23:06:26 +02:00
Robin Appelman e22a28ecc2
update autoloader
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-03 16:27:20 +02:00
Roeland Jago Douma a688f47a2f
Merge pull request #19486 from nextcloud/scanner-performance
Improve performance of file scanner
2020-04-02 20:40:06 +02:00
Joas Schilling bc6a5ef5c4
Merge pull request #19890 from nextcloud/enh/comments-reference-id
Add optional comments reference_id
2020-04-02 11:34:21 +02:00
Robin Appelman 3ba46f3b50
add basic tests for s3 seeking and add some error handling if reopen return the wrong range
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 15:23:05 +02:00
Robin Appelman 7b07e7251c
make seekable s3 stream generic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 15:21:05 +02:00
Lukas Stabe 14401efb0f
Enable fseek for files in S3 storage
Signed-off-by: Lukas Stabe <lukas@stabe.de>
2020-04-01 15:21:01 +02:00
Robin Appelman c1368b8696
Merge pull request #19781 from nextcloud/quota-include-external-dont-use-current-user
Dont always use the current users quota when calculating storage info
2020-04-01 12:24:21 +00:00
Robin Appelman d9184584e0
restart transaction when cache insert fails due to duplicate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:17:34 +02:00
Robin Appelman 5199f80196
call cache->insert directly instead of going trough cache->put first when scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:17:28 +02:00
Robin Appelman 9c7da26394
dont try to get existing cache data during scanning if we already know its a new file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:17:25 +02:00
Robin Appelman 3fb32f6f3d
reuse known parentId when inserting cache entries in scanner
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:14:52 +02:00
Robin Appelman 5439469b68
optimize getMetaData for local storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:14:48 +02:00
Roeland Jago Douma 19ca921676
Merge pull request #20241 from nextcloud/fix/license-headers-19
Update the license headers for Nextcloud 19
2020-04-01 12:44:21 +02:00
Roeland Jago Douma 590849e4d7
Merge pull request #19858 from nextcloud/feature/webauthn
Add WebAuthn support
2020-03-31 22:55:13 +02:00
Roeland Jago Douma 53db05a1f6
Start with webauthn
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-03-31 22:17:07 +02:00
Roeland Jago Douma f04f34b94b
Make password nullable in LoginData
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-31 21:52:01 +02:00
Roeland Jago Douma 84f3d2ddeb
[POC] Event for failed login attempts
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-31 21:41:02 +02:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Joas Schilling 60d9384e5e
Optionally write the reference id into the database
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-31 10:51:16 +02:00
Joas Schilling a20e81f0f3
Allow to set and get the reference id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-31 10:51:16 +02:00
Joas Schilling 720dc4e93d
Add optional column oc_comments.reference_id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-31 10:51:15 +02:00
John Molakvoæ 58a192f05d
Update util.php 2020-03-28 16:17:21 +01:00
John Molakvoæ 1b4952bfb2
Update Config.php 2020-03-28 16:16:41 +01:00
Christoph Wurst 463b388589
Merge pull request #20170 from nextcloud/techdebt/remove-unused-imports
Remove unused imports
2020-03-27 17:14:08 +01:00
Christoph Wurst b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Joas Schilling 51d174a40b
Also bail out when the path is actually null
Apparently this can happen when a external mount was shared
that is later not available anymore

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-26 13:49:47 +01:00
Christoph Wurst 1b4380aae8
Add a PSR-3 logger adapter and make it injectable
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 10:52:10 +01:00
Christoph Wurst 74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Christoph Wurst 23eb0462e5
Use lowercase true, false and null constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 21:53:04 +01:00
blizzz ba14c41a1c
Merge pull request #20145 from nextcloud/bugfix/noid/generated-avatars-and-nophoto-cache
Fix generated avatars and nophoto cache files
2020-03-25 11:14:13 +01:00
Roeland Jago Douma b93e1e300e
Merge pull request #14722 from tacruc/GpgMailerHooks
Add Mailer events
2020-03-25 08:10:04 +01:00
Roeland Jago Douma b300dc5a50
Merge pull request #19782 from nextcloud/quota-wrapper-include-external
Use global used space in quota wrappen when external storage is included
2020-03-24 21:36:01 +01:00
Arne Hamann a16aa99586
Added Hook before Message is send
Signed-off-by: Arne Hamann <kontakt+github@arne.email>
2020-03-24 20:57:27 +01:00
Roeland Jago Douma 3b26bfe879
Merge pull request #20127 from nextcloud/bugfix/noid/check-user-on-remote-wipe
Check the user on remote wipe
2020-03-24 20:26:52 +01:00
Joas Schilling f3a5bd6753
Fix generated avatars and nophoto cache files
Since nextcloud/server#19493 newFile() by default does not write the file anymore.
Setting an empty string as content will make it write the file immediate,
without having to call putContent() afterwards.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-24 18:23:38 +01:00
Daniel Calviño Sánchez d4f25b01b8 Unify default value for restricting user enumeration with settings
If the value was never enabled or disabled, the settings show "Restrict
username enumeration to groups" as disabled. However, in some components
it was enabled by default, which caused an inconsistency in the
behaviour with respect to the settings, for example in the contacts
menu.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-03-24 14:30:59 +01:00
Julius Härtl 63900d0574
Remove admin_notifications since it is obsolete since Nextcloud 14
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-24 09:18:42 +01:00
Roeland Jago Douma 6675f9b403
Merge pull request #17684 from mlatief/support-no-proxy
Add support for GuzzleHTTP 'no' proxy
2020-03-22 19:38:01 +01:00
Julius Härtl 8edc824526 Expose enumeration config though share manager
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-20 10:43:56 +01:00
Julius Härtl 49e7576ae0 Limit enumeration in contacts store
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-20 10:43:56 +01:00
Julius Härtl c97ab39acb Limit user search in Collaborators plugins
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-20 10:43:56 +01:00
Joas Schilling dc7913efcd
Fix recursive calls in logging via server methods
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-18 18:59:49 +01:00
Roeland Jago Douma ca54813cbb
Merge pull request #19978 from nextcloud/harden/check_for_owner
Actually check if the owner is not null
2020-03-18 13:38:35 +01:00
Roeland Jago Douma 557c4966a0
Merge pull request #19981 from nextcloud/enh/reset_target_if_null_after_share
Update the target when it isempty after sharing
2020-03-18 13:36:46 +01:00
Roeland Jago Douma b944115a35
Update the target when it isempty after sharing
Hooks that listen to it (audit log) benefit from having the target
properly set.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-16 13:38:55 +01:00
Roeland Jago Douma 3443a00621
Actually check if the owner is not null
Else this can error out on storages that do not have an owner (e.g.
groupfolders).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-16 13:12:10 +01:00
Joas Schilling 9935c71ec3
Check the user on remote wipe
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-16 09:29:28 +01:00
Roeland Jago Douma c1152af523
Move deprecated aliases over to new registration
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-15 15:13:12 +01:00
Roeland Jago Douma 20f4a8c046
Add a deprecated alias registration to find deprecated usages
Fixes #19345

Basically just a stupid wrapper with extra logging. So that we can at
least inform people they are using the wrong methods.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-15 15:13:10 +01:00
Roeland Jago Douma 0ffa598136
Merge pull request #19954 from roscomputing/fix/19941/fix_safari_useragent
fix safari useragent for versions with 3 digits
2020-03-15 13:15:40 +01:00
Pavel Krasikov f11dee9bc4 fix safari useragent for versions with 3 digits
Signed-off-by: Pavel Krasikov <klonishe@gmail.com>
2020-03-14 16:47:28 +03:00
Joas Schilling 186c7f1b4b
Handle unset owner in sharing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-13 17:17:43 +01:00
Roeland Jago Douma a54c4b60a8
Merge pull request #19910 from nextcloud/bugfix/noid/invalid-from-mail
Do not use the instance name as user part of from mail addresses
2020-03-13 10:17:12 +01:00
Roeland Jago Douma b5902b3e1b
Merge pull request #19888 from nextcloud/fix/objectstore_rename_mimetype
Get correct mimetype on objectstores
2020-03-12 19:58:16 +01:00
Julius Härtl 76a706738b
Do not use the instance name as user part of from mail addresses
This will cause issues since the theming name can contain characters
that are not allowed in the local part of the mail address (like spaces)

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-12 14:20:03 +01:00
Julius Härtl 5a574737ad
Only load required scripts on install page
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-11 14:20:30 +01:00
Roeland Jago Douma 9a35e789b4
Get correct mimetype on objectstores
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-11 11:14:12 +01:00
Roeland Jago Douma 5e4ee4dc59
Merge pull request #19812 from nextcloud/enh/noid/subscription-config
Add config flag for subscription and hide server development notice
2020-03-10 19:39:03 +01:00
Julius Härtl dbd63222c8
Add system config flag to manually set that a subscription is available
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-10 14:31:27 +01:00
Roeland Jago Douma b6245be302
Merge pull request #19746 from nextcloud/locked-exception-forward-existing
pass the existing locks info when making locked exception with absolu…
2020-03-09 19:31:45 +01:00
Christoph Wurst 1f7cb027a4
Merge pull request #19820 from nextcloud/fix/mismatching-docblock-return-type
Fix mismatching docblock return types
2020-03-09 17:43:17 +01:00
Christoph Wurst df9e2b828a
Fix mismatching docblock return types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-06 16:38:25 +01:00
Christoph Wurst 5fc4c91a76
Fix mismatching doc block parameter types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-06 16:28:42 +01:00
Roeland Jago Douma 672b7ad1bc
Merge pull request #19743 from nextcloud/cache-updater-storage-mtime-false
dont try to update storage mtime if we can't get the mtime
2020-03-05 11:21:58 +01:00
Robin Appelman c32750ddd9
Use global used space in quota wrappen when external storage is included
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-04 18:02:50 +01:00
Robin Appelman 93411a2ea0
Dont always use the current users quota when calculating storage info
instead pass the quota as parameter.

Without this fix, when 'quota_include_external_storage' is enabled, the
webui will show the quota configured for the admin for every user
instead of the users quota

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-04 17:20:27 +01:00
Robin Appelman fab22ac14c
pass the existing locks info when making locked exception with absolute paths
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-02 19:29:44 +01:00
blizzz b54069189c
Merge pull request #19742 from nextcloud/bug/19740/add-msg-for-exception
Add message for DoesNotExistException
2020-03-02 16:19:30 +01:00
Robin Appelman f972990469
dont try to update storage mtime if we can't get the mtime
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-02 15:57:25 +01:00
Daniel Kesselberg 5ce9e73bad
Add message for DoesNotExistException
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-03-02 13:24:06 +01:00
Mohammed Abdellatif 98d6415264 Add support for GuzzleHTTP 'no' proxy
The custom config allows to setup a proxy URI that is passed to
GuzzleHTTP client as request options. Guzzle has the option to receive
an array of proxies for each URI scheme as well as 'no' key value pair
to provide a list of host names that should not be proxied to.

Guzzle would automatically populate these options with HTTPS_PROXY
and NO_PROXY environment variables. However, when providing a 'proxy'
request option, default values will be overriden and it is required to
explicitly provide the 'no' value if needed.

More info:
http://docs.guzzlephp.org/en/stable/request-options.html#proxy

This commit will add support for a new config 'proxyexclude', which
takes a list of host names to be excluded.

It will also provide 'proxy' request option as an array instead of a
string to Guzzle, and populate 'http' and 'https' URI schemes with
proxy URI, and 'no' with 'proxyexclude' list.

Also, if no 'proxy' is configured, it will leave out 'proxy' request
option, so it won't override Guzzle default values.

Sample config file includes a hint on how to explicitly sync
'proxyexclude' with NO_PROXY, and a note about default values.

Signed-off-by: Mohammed Abdellatif <m.latief@gmail.com>
2020-02-29 19:19:23 +02:00
Robin Appelman 63608ef461
allow writing content directly when creating new SimpleFile
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-02-28 12:55:22 +01:00
Robin Appelman 5ca1929e8c
Create SimpleFile only when writing the content
instead of first creating an empty file and then writing the content.

This solves the overhead of creating an empty file with the common pattern:

```php
$file = $simpleFilder->newFile('foo.txt');
$file->putContent('bar.txt');
```

roughly halving the number of storage and database operations that need to be done when creating a `SimpleFile`.

This is not automatically done with `File` because that has a more complex api which I'm more hesitant to touch.
Instead the `Folder::newFile` api has been extended to accept the content for the new file.

In my local testing, the overhead of first creating an empty file took about 20% of the time for preview generation

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-02-28 12:55:22 +01:00
Christoph Wurst f83589f75d
Merge pull request #19670 from nextcloud/techdebt/noid/allow-to-remove-listeners
Allow to remove listeners
2020-02-27 13:08:42 +01:00
Joas Schilling 3ffed42925
Allow to remove listeners
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-27 11:04:23 +01:00
blizzz a5a58649b3
Merge pull request #19433 from nextcloud/bugfix/noid/fix-installing-talk
Fix installing Talk due to hardcoded route
2020-02-26 00:10:54 +01:00
Roeland Jago Douma ab7f6dd3f5
Merge pull request #19528 from nextcloud/bugfix/noid/remove-user-root-from-error-message
Strip of users home path from share api message
2020-02-22 21:25:24 +01:00
Christoph Wurst daf1d74af9
Merge pull request #18227 from nextcloud/bug/17947/set-transaction-isolation-connect
Add event subscriber for transaction isolation level
2020-02-21 17:48:39 +01:00
Christoph Wurst dd9d4696f2
Merge pull request #19412 from nextcloud/fix/19404/make-favorite-public
Make TAG_FAVORITE public
2020-02-21 17:47:53 +01:00
Daniel Kesselberg 9e699a8d21
Add event subscriber for transaction isolation level
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-02-21 09:59:08 +01:00
Joas Schilling e97d643969
Strip of users home path from share api message
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-20 14:56:58 +01:00
Joas Schilling 3894dcb756
Hardcode Talk namespace to fix install due to global route
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-14 12:34:13 +01:00
Arthur Schiwon b1a6f66fd9
when we receive intentional empty whats new info, do not try to show it
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-02-13 22:03:44 +01:00
Joas Schilling dc050fb5e5
Allow to overwrite the path on the cache event
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-13 08:38:33 +01:00
Roeland Jago Douma 1db39e4eb4
Merge pull request #19424 from nextcloud/bugfix/noid/dont-create-invalid-users
Don't create invalid users
2020-02-12 20:26:57 +01:00
Arthur Schiwon d06ef07a97
disable timeout on app install via cli
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-02-12 16:52:45 +01:00
Daniel Kesselberg 6235175b6d
Make TAG_FAVORITE public
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-02-12 15:11:58 +01:00
Joas Schilling 08cadf8416
Don't create invalid users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-12 10:55:27 +01:00
Julius Härtl c469bc85d5
Allow to serve static mp4 directly
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-12 10:36:59 +01:00
Roeland Jago Douma 54c84b95ac
Allow to serve static webm directly
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-02-12 08:42:34 +01:00
Roeland Jago Douma 1b07dcf35c
Merge pull request #18904 from nextcloud/enh/noid/flow-logging
Log Flow activity
2020-02-10 15:09:51 +01:00
Roeland Jago Douma 12e1c469cf
Add Argon2id support
When available we should use argon2id for hashing.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-02-07 07:52:33 +01:00
Joas Schilling 3a0bfbd558
Merge pull request #18926 from nextcloud/fix/18689/int-array-access
Array access on int will fail on php7.4
2020-02-06 21:31:03 +01:00
Roeland Jago Douma 3b14cec766
Merge pull request #17075 from nextcloud/enh/samesitecookies
Only send samesite cookies
2020-02-06 20:37:45 +01:00
Joas Schilling c5c3178422
Merge pull request #19303 from nextcloud/test/debug-install
Fix occ maintenance:install database connect failure
2020-02-06 19:36:53 +01:00
Roeland Jago Douma 2016e57eab
Only send samesite cookies
This makes the last remaining two cookies lax. The session cookie
itself. And the session password as well (on php 7.3 that is). Samesite
cookies are the best cookies!

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-02-06 15:24:35 +01:00
Joas Schilling fca8f061ab
Split the exception handling so install errors don't log as setup errors
More gebuging

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-05 13:55:17 +01:00
Joas Schilling ac89b6abe7
Check the new connection on setup like with PostgreSQL and Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-05 13:55:16 +01:00
Joas Schilling 0aa216fc48
Only provide the auth method for MySQL 8.0+ to not break MariaDB
Provide the auth method for MySQL 8.0+

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-05 13:54:57 +01:00