Commit Graph

444 Commits

Author SHA1 Message Date
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
John Molakvoæ 5a03189ce7
Mimetype list integrity check should not fail if it's changed (#15810)
Mimetype list integrity check should not fail if it's changed
2019-07-07 20:01:58 +02:00
Christoph Wurst c50fe2a9c9
Send emails when remote wipe starts/finishes
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-07-02 21:59:23 +02:00
Christoph Wurst aa6622ccef Decouple remote wipe notifcation channels with events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-06-27 17:16:18 +02:00
Roeland Jago Douma d4a44d9b78
Merge pull request #15870 from nextcloud/preview-provider-v2
Add new Provider interface for preview providers
2019-06-25 15:05:54 +02:00
Christoph Wurst 3174012adf Add event dispatcher to OCP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-06-25 10:02:27 +02:00
Robin Appelman 6150614374
Add new Provider interface for preview providers
the main difference is passing the `File` object to the provider
instead of a `View` + path

Old providers will still continue to work as before

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-17 14:09:09 +02:00
Morris Jobke 0229f20fdc
Merge pull request #15813 from nextcloud/td/psr0/classmap
Add the legacy classes to the composer classmap
2019-05-31 17:15:02 +02:00
Roeland Jago Douma db555dde00
Add the legacy classes to the composer classmap
To have a faster autoloading. We should get rid of those of course. But
for now I do not see it happening any time soon.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-30 13:23:27 +02:00
Roeland Jago Douma 5ab4daad96
Move OC\Settings\Admin and OC\Settings\Personal to actual settings
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-30 12:49:47 +02:00
Xheni Myrtaj 5fc0477483
Update autoload map
Signed-off-by: Xheni Myrtaj <myrtajxheni@gmail.com>
2019-05-30 11:49:51 +02:00
Roeland Jago Douma 767679ccf4
Remove deprecatred StringUtils class
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-28 22:20:23 +02:00
blizzz 3e5174b733
Merge pull request #15704 from nextcloud/enh/7276/group-names
Group display name support (service level + ldap)
2019-05-27 15:09:03 +02:00
Arthur Schiwon c6c8a41d2f
group display name support (service level + ldap)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-27 12:03:05 +02:00
Christoph Wurst 22ae682823
Make it possible to show admin settings for sub admins
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-23 20:31:40 +02:00
Roeland Jago Douma b2cc5d8fb6
Make the L10N loading lazy
Fixes #15675
This makes loading of the actual L10N lazy. So we only detect and load
the actual translations when they are used. Instead of trying to load
them all the time just because an app is enabled.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-22 11:22:12 +02:00
Roeland Jago Douma f03eb7ec3c
Remote wipe support
This allows a user to mark a token for remote wipe.
Clients that support this can then wipe the device properly.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-20 20:50:27 +02:00
Roeland Jago Douma 579162d7b9
Allow 2FA to be setup on first login
Once 2FA is enforced for a user and they have no 2FA setup yet this will
now prompt them with a setup screen. Given that providers are enabled
that allow setup then.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-17 10:11:53 +02:00
Morris Jobke 83b00a99fa
Add interfaces to interact with subscription from support app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-13 11:04:47 +02:00
Morris Jobke d49ee41fe3
Update autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-09 15:26:43 +02:00
Morris Jobke 4cb66fd0b6
Merge pull request #15259 from nextcloud/bugfix/15256-wrong-column-type
Make access column a real boolean
2019-05-07 23:52:02 +02:00
Christoph Wurst 170582d4f5
Add a login chain to reduce the complexity of LoginController::tryLogin
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-07 18:04:36 +02:00
Daniel Kesselberg f79b0d2f75
Add second migration for addColumn
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-05-02 21:10:48 +02:00
Daniel Kesselberg 057ca15995
Migration to change column type from smallint to boolean
On pqsql true/false is no valid value for an integer column.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-05-02 21:10:42 +02:00
Roeland Jago Douma 24d6a28f80
Repair step for link shares
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-16 15:42:21 +02:00
Roeland Jago Douma 575b3f9ff8
Revert "Where is your data?" 2019-03-20 15:17:31 +01:00
Morris Jobke c91ae1133e
Merge pull request #14502 from nextcloud/feature/noid/add-activities-for-group-membership-changes
Add activities for group membership changes
2019-03-05 11:22:31 +01:00
Morris Jobke d3d885f9fd
Dump autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 10:40:02 +01:00
Maxence Lange a644ad5793 moving final class to private, new interface in public
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-04 09:54:45 -01:00
Joas Schilling 55cd9eab03
Update autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 20:57:00 +01:00
Joas Schilling 702dcfb728
Make names mandatory
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 20:56:16 +01:00
Joas Schilling 3203d3e806
Allow apps to redirect to the default app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 09:19:46 +01:00
Joas Schilling 55f627d20b
Add an event to the Autocomplete Controller to allow to filter the results
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-26 15:32:14 +01:00
Morris Jobke dd95f430e0
Update autoloader files
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-25 20:08:46 +01:00
Roeland Jago Douma e819e97829
Login flow V2
This adds the new login flow. The desktop client will open up a browser
and poll a returned endpoint at regular intervals to check if the flow
is done.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-25 07:24:50 +01:00
Robin Appelman 092f78d7a4
add event for cache update
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-18 16:50:41 +01:00
Roeland Jago Douma 104616c1da
Use CountWrapper instead of almost identical CountReadStream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 13:24:58 +01:00
Roeland Jago Douma 68dbb28e84
Update autoloaders
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-11 15:59:32 +01:00
Roeland Jago Douma b40603d250
Merge pull request #13702 from nextcloud/feature/6717/rename-app-passwords
Make it possible to rename app passwords
2019-02-08 08:34:54 +01:00
Morris Jobke fc7f04807c
Merge pull request #13986 from nextcloud/feature/cleanup-job-13843
Repair step to remove "photo." files created by photocache
2019-02-07 17:08:05 +01:00
Morris Jobke baa6a2d52c
Merge pull request #13748 from nextcloud/cache-insert-event
add event for inserting cache entries
2019-02-07 16:35:02 +01:00
Daniel Kesselberg 382495e26d
Repair step to remove "photo." files created by photocache
Before https://github.com/nextcloud/server/pull/13843 a "photo." file could be created
for unsupported image formats by photocache. Because a file is present but not jpg, png or gif no
photo could be returned for this vcard. These invalid files are removed by this repair step.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-07 16:23:18 +01:00
Morris Jobke 0e9903c420
Merge pull request #13969 from nextcloud/enh/additional_scripts_no_on_public_pages
No need to emit additonalscript event on public pages
2019-02-07 15:57:14 +01:00
Robin Appelman 748bcd407b
add event for inserting cache entries
this provides a reliable way for apps to listen to new files
without the need to of cache wrappers to hook into inserts themselves
(something which isn't 100% reliable)

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-07 15:51:30 +01:00
Michael Weimann bf1253cb49
Implement guest avatar endpoint
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-02-07 14:23:16 +01:00
Roeland Jago Douma 60e5a5eca4
Do not do redirect handling when loggin out
Fixes #12568
Since the clearing of the execution context causes another reload. We
should not do the redirect_uri handling as this results in redirecting
back to the logout page on login.

This adds a simple middleware that will just check if the
ClearExecutionContext session variable is set. If that is the case it
will just redirect back to the login page.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-06 11:29:32 +01:00
Roeland Jago Douma b68567e9ba
Add StandaloneTemplateResponse
This can be used by pages that do not have the full Nextcloud UI.
So notifications etc do not load there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-06 11:26:18 +01:00
Daniel Kesselberg 850e67dea9
Don't update token if current session token
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-02 20:21:58 +01:00
Roeland Jago Douma d182037bce
Emit to load additionalscripts
Fixes #13662

This will fire of an event after a Template Response has been returned.
There is an event for the generic loading and one when logged in. So
apps can chose to load only on loged in pages.

This is a more generic approach than the files app event. As some things
we might want to load on other pages as well besides the files app.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 12:11:40 +01:00
Roeland Jago Douma f30877ea7c
Provide initial state
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 22:21:54 +01:00
Roeland Jago Douma 15abcff2a1
Expose subadmin to OCP
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 20:47:35 +01:00