Commit Graph

11182 Commits

Author SHA1 Message Date
Roeland Jago Douma 789bb0d0ac
Merge pull request #26266 from nextcloud/future-proof-networking
Improve networking checks
2021-04-12 12:42:33 +02:00
Roeland Jago Douma 2bedbc1793
Merge pull request #26439 from nextcloud/increase-subnet-matcher
Increase subnet matcher
2021-04-08 14:48:27 +02:00
Lukas Reschke 2befac662c Limit size of properties to 2048 characters
It is unreasonable to expect that one of these fields would be longer
than 2048 characters. Whilst some have definitely lower limits (such as
for phone numbers or domain names), a upper bound as sanity check makes
sense.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-04-08 11:55:51 +02:00
Lukas Reschke e5a4236e68 Increase subnet matcher
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-04-07 12:28:59 +00:00
Lukas Reschke 4b4971ab52
Merge pull request #24966 from nextcloud/jknockaert-patch-1
avoid fread on directories and unencrypted files
2021-04-06 13:45:10 +02:00
Lukas Reschke 5fe1f134f9 Strictify null check
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-04-06 11:39:24 +00:00
Lukas Reschke 5f3abffe6f Improve networking checks
Whilst we currently state that SSRF is generally outside of our threat model, this is something where we should invest to improve this.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-04-06 11:37:47 +00:00
Morris Jobke 5fb909faa5
Merge pull request #24055 from nextcloud/bugfix/noid/enfore-no-notnull-for-boolean-to-store-false
Enforce no notnull for boolean to store false
2021-04-01 18:30:26 +02:00
Julius Härtl 6fd571461c
Properly handle creating the template directory in a subfolder (fixes #25787)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-04-01 13:48:21 +02:00
Julius Härtl 37591f05dc
Get the parent directory before creating a file from a template
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-04-01 13:48:21 +02:00
Julius Härtl bbc64cfabc
Merge pull request #26394 from nextcloud/feature/noid/updatable-account-data
Allow apps to write/update account data
2021-04-01 08:05:54 +02:00
Robin Appelman 65b78515bd
make ILDAPProviderFactory usable when there is no ldap setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-31 15:23:33 +02:00
Joas Schilling fcedbc85d0
Allow apps to write/update account data
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-31 15:18:25 +02:00
Joas Schilling f9d4fa2d38
Rename the method to match what it does
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-31 10:21:18 +02:00
Joas Schilling 3696ef5b96
Don't allow Notnull for boolean columns
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-31 10:21:17 +02:00
Joas Schilling 133a6f4fe4
Document the constraints we test against
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-31 10:21:17 +02:00
Joas Schilling c98cab137c
Fix exception messages spacing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-31 10:21:10 +02:00
kesselb 2212a67fbc
Merge pull request #25961 from nextcloud/enh/events/2fa_provider
Add real events for enabled 2fa providers for users
2021-03-30 23:13:36 +02:00
Roeland Jago Douma f3738eeff7
Merge pull request #25280 from nextcloud/explicit-file-permissions
Set umask before operations that create local files
2021-03-30 21:55:50 +02:00
Roeland Jago Douma 7c30d1aa2d
Merge pull request #26219 from nextcloud/relative-path-null
getRelativePath can return null
2021-03-30 21:10:05 +02:00
Arthur Schiwon be3ae9a44b
gracefully handle deleteFromSelf when share is already gone
- handling race conditions

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-03-30 12:59:40 +02:00
Joas Schilling 602de272c0
Merge pull request #26243 from nextcloud/enh/noid/avatar-privacy-new-scope
Avatar privacy and new scope
2021-03-29 09:01:12 +02:00
Robin Appelman c8736e7a23
fix return value of Root::get
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-26 21:29:24 +01:00
Vincent Petry cc54f718f5
Add known user check in avatar when v2-private scope
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:10 +01:00
Vincent Petry bb008be28a
Added PlaceholderAvatar with own cached images
When avatar scope is private, the PlaceholderAvatar is used to deliver a
placeholder avatar based on the user's initials.

This was implemented as a separate class for now to avoid messing with
the existing UserAvatar implementation and its generated vs
non-generated logic.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:09 +01:00
Vincent Petry b73df5846c
Add property scope tests for AccountManager
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:09 +01:00
Vincent Petry 266a6fb5f8
OCS allow reading and writing account property scopes
Extends the provisioning API to allow a user to get and set their own
account property scopes.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:08 +01:00
Vincent Petry 278a73789e
Map old account scope properties to new names
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:08 +01:00
Vincent Petry b81a1c1bdb
Add new v2-private account scope
Added new v2-private account manager scope that restricts the scope
further by excluding public link access.

Avatars with v2-private account scope are now showing the guest avatar
instead of the real avatar.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-26 13:07:05 +01:00
Morris Jobke 81fef4ddee
Log when a storage is marked as unavailable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-25 16:19:08 +01:00
Roeland Jago Douma f97491eb8f
Merge pull request #26285 from nextcloud/techdebt/noid/cleanup-update-events
Remove event listener to udpate events that are not present anymore
2021-03-25 11:12:34 +01:00
Morris Jobke ad16b19ec7
Merge pull request #21484 from nextcloud/better-forbidden-path-errors
show better error messages when a file with a forbidden path is encountered
2021-03-25 09:15:52 +01:00
Morris Jobke 3388758d04
Remove event listener to udpate events that are not present anymore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-25 09:01:09 +01:00
Roeland Jago Douma c15172bc4e
Merge pull request #21641 from nextcloud/techdebt/noid/bye-bye-database-xml
Bye bye database xml
2021-03-25 08:58:07 +01:00
Morris Jobke ab48d5e8cb
Cleanup unneeded code around database.xml
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-24 22:15:44 +01:00
Joas Schilling bb0c50717c
Bye bye database.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-24 20:04:12 +01:00
Robin Appelman aee4caed07
show better error messages when a file with a forbidden path is encountered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 17:13:09 +01:00
Robin Appelman db0e198fe0
improve type handling of Avatar::generateAvatarFromSv
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 17:09:53 +01:00
Robin Appelman 8a92229485
getStorage can also return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:56:40 +01:00
Robin Appelman e8184eaaad
proper error for search results outside user folder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:33:35 +01:00
Robin Appelman f842608c95
getRelativePath can return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:30:29 +01:00
John Molakvoæ (skjnldsv) 2074d87d0c
Catch invalid cache source storage path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-24 10:36:51 +01:00
Robin Appelman e5dc1a8085
Set umask before operations that create local files
this solves issues where "other php stuff" is messing with the umask

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 14:52:31 +01:00
Morris Jobke 1c074e7602
Merge pull request #26198 from nextcloud/unified-search-node
Handle limit offset and sorting in files search
2021-03-22 21:48:51 +01:00
Morris Jobke 1eb084cfd3
Merge pull request #25498 from Worteks/feat-federatedfilesharing-logging
feat(federatedfilesharing): log errors, as suggested by @maxbes
2021-03-22 21:21:53 +01:00
Roeland Jago Douma 3c5cf825b3 Add real events for enabled 2fa providers for users
* Shiny new events
* Listener to still emit the old event

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-22 20:57:10 +01:00
John Molakvoæ (skjnldsv) 15767643f2
Fix sharebymail tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-22 06:50:47 +01:00
Daniel Calviño Sánchez f99876997a
Remove duplicated query for email shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-03-22 06:50:47 +01:00
John Molakvoæ (skjnldsv) a100186e5e
Sharing link & mail parity
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-22 06:50:45 +01:00
Robin Appelman b38618c813
use node search api for legacy file search endpoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 16:08:01 +01:00
Robin Appelman bfe3712372
handle ordering in folder search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 16:07:54 +01:00
Vincent Petry 82891cd498
Fix phpcs issues in encryption update
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-19 14:12:10 +01:00
Julius Härtl 76170a58eb
Log and continue when failing to update encryption keys during for individual files
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-03-19 14:12:07 +01:00
Robin Appelman feed42dd6d
folder filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 13:41:00 +01:00
Roeland Jago Douma 1286848731
Merge pull request #23718 from nextcloud/already-shared-error-message
expand 'path is already shared' error message
2021-03-19 13:39:22 +01:00
Robin Appelman de713967c0
cleanup fileinfo creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 13:35:37 +01:00
Vincent Petry 7bf5adb1fa
Merge pull request #26200 from nextcloud/bugfix/26197/fix-expiration-validation-confusion
Update user share must use correct expiration validation
2021-03-19 10:51:21 +01:00
Robin Appelman a428f7d1e0
format
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:44:30 +01:00
Robin Appelman bd229e7548
handle limit and offset in folder file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:38:31 +01:00
Robin Appelman 50e374c12f
only require user to be set in a query that handles tags
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:16:28 +01:00
Vincent Petry a9e3d2a10f
Update user share must use correct expiration validation
Updating a user or group share now uses the correct method for the
validation of the expiration date. Instead of using the one from links
it uses the one for internal shares.

To avoid future confusion, the method "validateExpirationDate" has been
renamed to "validateExpirationDateLink".

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-18 17:12:28 +01:00
Robin Appelman f8bca545df
unify handling of Folder::search methods into "new" query objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 16:35:41 +01:00
Robin Appelman 9e3775618b
log full expection during repair step
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 08:45:17 +01:00
Robin Appelman c75b82adbb
dont error the entire repair process when a repair step errors
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 08:45:16 +01:00
Morris Jobke 37feee4e87
Merge pull request #24384 from nextcloud/cleanup/remove-old-migration-check
Remove dead code from checking core/apps before upgrades
2021-03-17 21:29:19 +01:00
Julius Härtl a2f3077ee8
Skip db migration simulation for core schema changes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-03-17 21:08:22 +01:00
Morris Jobke 459e0b311b
Merge pull request #25924 from nextcloud/bugfix/noid/only-mark-migrations-as-installed-after-executing-them-in-case-the-developer-broke-them
Only mark migrations as installed after execution
2021-03-17 20:29:28 +01:00
Morris Jobke f56e5bb0db
Merge pull request #25676 from nextcloud/drop/utl-is-ie
Drop \OCP\Util::isIe
2021-03-17 20:18:11 +01:00
Joas Schilling 0d46fafd41
Merge pull request #26161 from nextcloud/bugfix/noid/improve-matching-of-phonebook-searches
Improve search results when only phonebook-matches can we autocompleted
2021-03-17 15:22:03 +01:00
Joas Schilling cf434d5107
Also limit to user group in case enumeration is enabled for groups and phonenumbers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-17 11:20:30 +01:00
Vincent Petry ab5c19bb08
Merge pull request #26131 from nextcloud/fix/initialstate-templates
Fix default missing initial state for templates
2021-03-17 10:18:03 +01:00
Joas Schilling 3379e69ecc
Fix parameter types in docs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-17 09:51:31 +01:00
Joas Schilling 9a189bc710
Improve search results when only phonebook-matches can we autocompleted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-17 09:51:31 +01:00
Robin Appelman dd477d30f9
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 19:03:10 +01:00
Robin Appelman f1e2fb426e
Merge pull request #26013 from nextcloud/object-store-copy-cache-id
Return the fileid from `copyFromCache` and use it instead of doing an extra query
2021-03-16 16:11:17 +00:00
Vincent Petry e559afb8d4
Merge pull request #25136 from nextcloud/cachejail-search-filter
do cachejail search filtering in sql
2021-03-15 17:45:30 +01:00
John Molakvoæ (skjnldsv) 223fe2aae6
Fix default missing initial state for templates
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-15 17:23:30 +01:00
Robin Appelman a550649708
expand 'path is already shared' error message
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 15:55:08 +01:00
Morris Jobke f512705f8f
Merge pull request #26003 from nextcloud/enh/simplefile/getid
Add getID function to the simplefile implementation
2021-03-15 14:41:15 +01:00
Robin Appelman d7748e2b4d
verify that cache entry is valid
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:23:02 +01:00
Robin Appelman c2fc3195dd
also implement for FailedCache and NullCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:22:43 +01:00
Robin Appelman ad636ae12d
use returned file id for object store copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:22:40 +01:00
Robin Appelman d2bcb57a54
add ICopyFromCache trait to expose existing implementation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:22:36 +01:00
Robin Appelman 32551b9ff7
Merge pull request #25722 from nextcloud/objectstore-copy-cross
apply object store copy optimization when 'cross storage' copy is wit…
2021-03-12 16:10:18 +00:00
Roeland Jago Douma bf39adb49b
Merge pull request #26049 from nextcloud/search-file-limit-results
limit constructing of result objects in file search
2021-03-12 12:58:49 +01:00
Roeland Jago Douma 7ac6eee129
Merge pull request #26079 from nextcloud/bugfix/noid/chunk-phone-search
Chunk the array of phone numbers
2021-03-12 11:20:35 +01:00
Joas Schilling 2e08c8b5a1
Chunk the array of phone numbers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-12 08:49:23 +01:00
Robin Appelman 3eb764e65d
remove explicit fclose from S3->writeStream
streams get closed automatically when dropped, and in some cases the stream seems to be already closed by the S3 library, in which case trying to close it again will raise an error

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-11 18:05:04 +01:00
Robin Appelman b62ee577d7
implement PagedProvider for file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-11 17:18:38 +01:00
Robin Appelman 424db15dea
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-11 14:49:57 +01:00
Roeland Jago Douma dd1248d672
Merge pull request #26047 from nextcloud/JakubOnderka-patch-2
Fix warning in AppFetcher.php when appstore is disabled
2021-03-11 10:51:35 +01:00
Vincent Petry b78dc6a6bf
Merge pull request #26050 from nextcloud/view-search-reuse-usermanager
reuse usermanager instance when processing search results
2021-03-11 10:27:30 +01:00
Christoph Wurst 6db7731742
Merge pull request #26015 from nextcloud/dependabot/composer/psr/container-1.1.1
Bump psr/container from 1.0.0 to 1.1.1
2021-03-11 08:50:32 +01:00
Joas Schilling 56b08c04c7
Merge pull request #26031 from nextcloud/feature/noid/allow-autocomplete-based-on-phone-sync
Allow autocomplete based on phone sync
2021-03-11 08:29:21 +01:00
Joas Schilling b4f6aca624
Clean up the logic of the contacts store a bit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 20:48:17 +01:00
Joas Schilling 61ed57b757
Rename some parameters and methods to make the API more clear
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 20:30:29 +01:00
Christoph Wurst 7287a15acb
Bump psr/container from 1.0.0 to 1.1.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-03-10 19:44:09 +01:00
Robin Appelman f98fed3f8a
reuse usermanager instance when processing search results
saves some time when processing large search results

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-10 19:35:13 +01:00
Joas Schilling 5b53b6f977
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-10 17:25:57 +01:00
Robin Appelman c048f0100f
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 17:22:31 +01:00