Commit Graph

494 Commits

Author SHA1 Message Date
Robin Appelman f7153a3d0c
generalize the "lazy folder" concept
makes it easy to use lazy intialized folder in other places

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-05-11 15:36:13 +02:00
Roeland Jago Douma 163463dea5
Add InitialState Appframework service
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-07 10:13:06 +02:00
Roeland Jago Douma 8a8623c569
Simple AppConfig wrapper for the AppFramework
9 out of 10 cases apps want to access their own appconfig. Hence it
would be nice not to have to enter the app id all the time. This simple
wrapper just passes on the appid in all calls.

Basically this allows for simpler code in the apps.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-02 15:34:28 +02:00
Morris Jobke 0bd79b96c5
Remove obsolete repair steps for logo and updater channel
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-04-24 09:57:52 +02:00
Roeland Jago Douma 6c603e8e7d
Move to subfolders for preview files
Else the number of files can grow very large very quickly in the preview
folder. Esp on large systems.

This generates the md5 of the fileid. And then creates folders of the
first 7 charts. In that folder is then a folder with the fileid. And
inside there are the previews.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-19 10:30:56 +02:00
Joas Schilling 5c0637bc90
Merge pull request #20138 from nextcloud/bugfix/noid/make-remote-checking-more-generic
Make remote checking more generic
2020-04-15 12:48:49 +02:00
Joas Schilling 5e402f8aae
Check all remotes for local access
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-14 18:56:06 +02:00
Robin Appelman c2677682c4
Return hashes of uploaded content for dav uploads
hashes are set in "X-Hash-MD5", "X-Hash-SHA1" and "X-Hash-SHA256" headers.

these headers are set for file uploads and the MOVE request at the end of a multipart upload.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-13 12:57:27 +02:00
Julius Härtl 6c0b6039cf
Bump autoloaders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-08 16:31:20 +02:00
Christoph Wurst 547ba642c6
Merge pull request #18200 from nextcloud/enhancement/psr-logger
Add a PSR-3 logger adapter and make it injectable
2020-04-08 11:49:56 +02:00
Christoph Wurst 1e086064f5
Move legacy classes from PSR0 to PSR4
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-07 08:48:00 +02:00
Roeland Jago Douma f5919d5b83
Merge pull request #20033 from nextcloud/s3-seekable-stream
Enable fseek for files in S3 storage
2020-04-06 21:38:49 +02:00
Robin Appelman e22a28ecc2
update autoloader
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-03 16:27:20 +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
Joas Schilling 1f5ba56235
Update autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-02 10:02:05 +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 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 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 b3e194f38e
Add a public event for contacts interaction
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 16:02:05 +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
Johannes Riedel 0c38569c83 Implement occ command security:bruteforceattemps:reset-for-ip
Signed-off-by: Johannes Riedel <joeried@users.noreply.github.com>
2020-03-19 16:20:22 +01:00
Christoph Wurst 150f39ed50
Update autoloaders for composer v1.10.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-19 09:48:49 +01:00
Roeland Jago Douma de34786303
Merge pull request #19493 from nextcloud/simplefile-new-lazy
Create SimpleFile only when writing the content
2020-02-28 16:07:02 +01:00
Joas Schilling 0f08acfe31
Merge pull request #19321 from nextcloud/enh/allow-to-overwrite-share-target-mountpoints
Allow to overwrite share target mountpoints
2020-02-28 13:41:13 +01:00
Roeland Jago Douma 245125d81b
Bump autoloader
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-02-28 12:55:35 +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 841f2f3b04
Allow to overwrite share target mountpoints
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-17 09:04:19 +01:00
Arthur Schiwon 46aaeb4561
log Flow activity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 10:58:57 +01:00
Arthur Schiwon 5b18f684e7
add hub bundle for easy post-installation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-26 21:23:42 +01:00
Christoph Wurst 60d4b45e89
Clean up 2FA provider registry when a user is deleted
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-08 10:51:44 +01:00
Roeland Jago Douma 25d4f3230d
Use the new Events in Flow
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-02 16:40:49 +01:00
Roeland Jago Douma 3af63f1593
Merge pull request #18505 from nextcloud/bugfix/18481/avatars-always-return-201-status-code
Always set the generated flag to false when an avatar is being set
2019-12-22 14:26:23 +01:00
Joas Schilling e37af2d81c
Always set the generated flag to false when an avatar is being set
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-20 15:34:36 +01:00
blizzz 40684a5423
Merge pull request #18080 from nextcloud/enhancement/noid/add-timeout
adding timeout param
2019-12-20 12:16:32 +01:00
Roeland Jago Douma 3b8fbf129e
Merge pull request #18384 from nextcloud/fix/18255/global_config_to_always_accept
config.php setting to always accept internal shares
2019-12-16 09:50:45 +01:00
Roeland Jago Douma bb4264c565
config.php setting to always accept internal shares
Part of #18255

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-16 09:07:25 +01:00
Christoph Wurst b81b824da1
Add typed events for the filesystem/scanner
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-13 09:41:05 +01:00
Maxence Lange 9bdc5823ce +ManuallyLockedException
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-12 09:19:40 -01:00
Christoph Wurst 302558cfd2
Add a dedicated page for the recommended apps installation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2019-12-12 08:13:01 +01:00
Roeland Jago Douma c71e9de5ff
Merge pull request #18350 from nextcloud/enhancement/typed-group-events-II
Add typed events for all group hooks and legacy events
2019-12-11 12:28:03 +01:00
Christoph Wurst 917f1807fd
Merge pull request #18348 from nextcloud/enhancement/typed-user-events-II
Add typed events for all user hooks and legacy events
2019-12-11 12:02:32 +01:00
Roeland Jago Douma 9a40ccfbf0
Merge pull request #18224 from nextcloud/bugfix/noid/direct-editing-path
Use file path for direct editing
2019-12-11 11:17:26 +01:00
Christoph Wurst 73fdb8e016
Add typed events for all group hooks and legacy events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-11 10:22:21 +01:00
Christoph Wurst d808f9c053
Add typed events for all user hooks and legacy events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-11 10:00:24 +01:00
Roeland Jago Douma 2b581814f3
Add interface for notification handler for dimissed events
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-10 10:02:24 +01:00
Daniel Kesselberg 0016480370
Decouple resource provider registration
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-07 22:04:07 +01:00
Julius Härtl e29a76bc79
Use file path for direct editing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-05 09:54:58 +01:00
Roeland Jago Douma 9fce87b2df
Merge pull request #17443 from nextcloud/enh/expired_token_on_invalid_pass
Throw an invalid token exception is token is marked outdated
2019-12-03 08:59:11 +01:00
Christoph Wurst cc80339b39
Add typed create user events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-03 08:03:57 +01:00
Roeland Jago Douma b371e735cf
Throw an invalid token exception is token is marked outdated
This avoids hitting the backend with multiple requests for the same
token. And will help avoid quick LDAP lockouts.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-02 18:57:13 +01:00
Arthur Schiwon b3749fbe16
add convenience interfaces so entities can provide presentable details
the File entity starts with a display text (used by talk)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:21 +01:00
Julius Härtl e52793c69e
Direct editing API to allow file editing using a one-time token for
mobile apps

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 14:36:20 +01:00
Roeland Jago Douma 0532f8116d
Merge pull request #18019 from nextcloud/enhancement/password-policy-events
Add typed events for password_policy
2019-11-27 11:11:17 +01:00
Christoph Wurst 1a886b1472
Add typed events for password_policy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-27 09:56:12 +01:00
Arthur Schiwon 1b8cbf115a
add Nextcloud specific GenericEvent implementation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-26 10:23:33 +01:00
Christoph Wurst 535000aac6
Make the post login event public
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-20 18:43:09 +01:00
Roeland Jago Douma a184e350d7
Merge remote-tracking branch 'origin/master' into filecache-extension 2019-11-18 11:06:17 +01:00
Arthur Schiwon 2efe8aad38
relax dependency on GenericEvent, instead stay compatible with old events
* also fixes tagging events

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-13 14:23:39 +01:00
Roeland Jago Douma b36f08be43
Update autoloaders
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-13 12:39:49 +01:00
Christoph Wurst d180a98714
Make it possible to broadcast events to (web) clients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-28 13:58:13 +01:00
John Molakvoæ 62399c76e8
Allow group displaynames in the database backend (#17221)
Allow group displaynames in the database backend
2019-10-05 18:34:14 +02:00
Christoph Wurst de6940352a Move settings to an app
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2019-09-28 09:39:28 +00:00
Joas Schilling 0bb05bbaf8
Update autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-27 14:29:56 +02:00
Roeland Jago Douma 2187f856ce
Merge pull request #16682 from nextcloud/enh/12790/workflow-backend
workflow overhaul
2019-09-11 13:14:06 +02:00
Roeland Jago Douma 41cbb05aea
Split personal security settings in code
Instead of one big monolitic sections this is the first step in breaking
down the settings. This should make is easiet to see what does what. As
well as nicely splitting up the sections.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-10 16:22:41 +02:00
Arthur Schiwon 849d025d09
let a dedicate service serve a stateful process
* includes making ICheck not requiring any context setter
* and IFileCheck extending the IEntityCheck as entity data can be handed in
  via Dispatcher

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon fd2de58503
seperate setFileInfo from ICheck
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon bed518e8ab
introduce GenericEntityEvent and adapt File entity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon 4c2fdbb908
merge IOperator with IOperation for simplicity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon ec36c0ae80
add operator interfaces / API
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon 804d4fe69f
introducing Entity interfaces and a File one as first implementation
also adds admin settings that pass entities as initial state

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon 445d6eb839
open the WFE to deal with other subjects but files
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Daniel Kesselberg 62ded4ad50
Kill repair step for cypress tests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-09-02 11:50:23 +02:00
Joas Schilling 23bd4c127d
Add a repair step to clear the projects access cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-21 09:16:14 +02:00
Roeland Jago Douma 145eee91fe
Get the proper UID
Some user backends (like the database backend) allow us to obtain a user
case insensitive. However the UID itself is case sensitive.

Example:
* create a user User1
* login as User1
  - This results the data/User1 folder to be created etc
* now have some code somewhere that obtains the userFolder (from
IRootFolder) but pas in 'uSER1' as uid
  - The code will check if that is a valid user. And in this case it is
  since User1 and uSER1 both map to the same user
  - However the the UID in the user object is used for the folder a new
  folder fill be create data/uSER1

With this PR this is avoided now. Since we obtain the real UID casing in
the backend before creating the user object.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-13 09:33:46 +02:00
Roeland Jago Douma b8c5008acf
Add feature policy header
This adds the events and the classes to modify the feature policy.
It also adds a default restricted feature policy.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-10 14:26:22 +02:00
Georg Ehrke 2dc79e5839
Add \OCP\Calendar\IMetadataProvider interface and provider for common metadata keys
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:52 +02:00
Roeland Jago Douma ba60fafb9a
Add proper PostLoginEvent
This can be used by othr mechanisms to listen for this event in a lazy
fashion.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-29 16:31:40 +02:00
Roeland Jago Douma 51197ac622
Merge pull request #16582 from nextcloud/enh/split_up_security_middleware
Split up security middleware
2019-07-29 12:13:55 +02:00
Roeland Jago Douma b6dd2ebd39
Use proper exception in lostController
There is no need to log the expcetion of most of the stuff here.
We should properly log them but an exception is excessive.

This moves it to a proper exception which we can catch and then log.
The other exceptions will still be fully logged.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-27 20:12:16 +02:00
Roeland Jago Douma 37a4282c7a
Split up security middleware
With upcoming work for the feature policy header. Splitting this in
smaller classes that just do 1 thing makes sense.

I rather have a few small classes that are tiny and do 1 thing right
(and we all understand what is going on) than have big ones.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-27 16:11:45 +02:00
Morris Jobke 5b604eaeab
Merge pull request #15040 from nextcloud/feature/13980/push-for-deleted-notifications
Notifications overhaul
2019-07-17 20:22:03 +02:00
Morris Jobke 223a91d5ef
Merge pull request #16416 from nextcloud/enh/log-details
Move log detail aggregation and reuse it in syslog/systemd logger
2019-07-17 11:43:32 +02:00
Julius Härtl 07bbec3355
Move log detail aggregation to separate class and reuse it in syslog/systemd logger
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-07-17 08:45:55 +02:00
Joas Schilling c3ef1cd90d
Update autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-16 13:17:51 +02:00
Morris Jobke 03ad858841
Merge pull request #14228 from nextcloud/feature/noid/add-metadata-etag
Add DB table to extend filecache with metadata etag, creation  and upload time
2019-07-15 21:37:25 +02:00
Roeland Jago Douma a3deb21bf4
Merge pull request #16334 from nextcloud/feature/noid/enterprise-logo
Add enterprise logo
2019-07-15 20:31:06 +02:00
Morris Jobke 60dcb1800c
Add DB table to extend filecache with metadata etag, creation time and upload time
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-15 16:58:44 +02:00
Morris Jobke b732f51c10
Add enterprise logo
Also set it as theming logo if the subscription is valid.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-15 16:45:53 +02:00
Maxence Lange 1e2518d7f9 new model to manage some simple queries
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
fixing issue in addSubTag()

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
fix const

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
autoload

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Revert "fixing issue in addSubTag()"

This reverts commit a9ab2ab91b98133c69272f27ea1b51594719e241.

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
syntax

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-07-14 19:07:28 -01:00
Morris Jobke 79e0b5c4ce
Merge pull request #15514 from nextcloud/feature/noid/add-enterprise-channel
Update channels for updater server
2019-07-11 12:42:34 +02:00
Morris Jobke 39c28bd05b
Enterprise update channel
Allows to select the enterprise update channel for instances that have a valid subscription.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-10 16:19:34 +02:00
Roeland Jago Douma 027486e27d
Merge pull request #15867 from nextcloud/preview-versioning
allow keeping multiple preview "versions" of the same file
2019-07-09 11:06:44 +02:00
Roeland Jago Douma 5cef8957b5
Merge pull request #15730 from nextcloud/enh/14179/event_for_csp
Add an event to edit the CSP
2019-07-09 10:59:15 +02:00
Robin Appelman 5e082f8946
allow keeping multiple preview "versions" of the same file
The main use case here is storage provided versioning where we dont have
separate file ids for all the versions, by allowing a prefix for the
version we can store separate previews for all the versions.

Additionally, by keeping all the version previews in the same folder as the
"normal" previews they will be cleaned up properly when the file is deleted

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-07-08 22:04:16 +02:00
Roeland Jago Douma 5ac857bcdc
Add an event to edit the CSP
This introduces and event that can be listend to when we actually use
the CSP. This means that apps no longer have to always inject their CSP
but only do so when it is required. Yay for being lazy.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-08 20:35:15 +02:00
Roeland Jago Douma 3d69f03a6d
Merge pull request #16292 from nextcloud/techdebt/noid/cleanup-outdated-repair-steps
Remove one time repair steps that have already run when updating to 17
2019-07-08 20:32:44 +02:00
Morris Jobke 53d2d95478
Remove one time repair steps that have already run when updating to 17
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-08 14:47:26 +02:00
Morris Jobke 13c7810306
Try to delete the cypress folder of the viewer app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-08 14:35:27 +02:00