Commit graph

10977 commits

Author SHA1 Message Date
Robin Appelman
ebd15fd5ed handle bool in setValue 2016-01-18 12:09:01 +01:00
Robin Appelman
895fd49fb2 also handle not null violations 2016-01-18 12:09:01 +01:00
Robin McCorkell
da4127d23b Introduce CredentialsManager for storage of credentials in DB
CredentialsManager performs a simple role, of storing and retrieving
encrypted credentials from the database. Credentials are stored by user
ID (which may be null) and credentials identifier. Credentials
themselves may be of any type that can be JSON encoded.

The rationale behind this is to avoid further (mis)use of
oc_preferences, which was being used for all manner of data not related
to user preferences.
2016-01-18 11:10:41 +01:00
Robin McCorkell
88cd615214 Introduce IDBConnection::setValues()
setValues() attempts to insert a new row, or failing that, update an
existing row. The ability to set preconditions is also available.
2016-01-18 11:10:41 +01:00
Jenkins for ownCloud
e4d5229940 [tx-robot] updated from transifex 2016-01-18 01:54:41 -05:00
Jenkins for ownCloud
2095a31000 [tx-robot] updated from transifex 2016-01-17 01:54:53 -05:00
Thomas Müller
807cf750b3 Merge pull request #21705 from owncloud/improve-background-job-message
Improve background job error message
2016-01-15 20:12:26 +01:00
Robin Appelman
ddbbe1742f propagate folder size in the same query for write updates 2016-01-15 15:36:52 +01:00
Thomas Müller
f6c4b10189 Add message key to context of logException 2016-01-15 14:55:30 +01:00
Thomas Müller
fcec704174 Merge pull request #21730 from owncloud/fix-install-of-shipped-apps
Fix installation of shipped apps
2016-01-15 14:33:40 +01:00
Thomas Müller
b7c0dc46be Merge pull request #21702 from owncloud/fix_emit_scanFiles_II
Fix: emit 'scanFiles' will only fire on files and not on folders (II)
2016-01-15 14:31:49 +01:00
Scrutinizer Auto-Fixer
83a8e75614 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-01-15 12:54:26 +00:00
Thomas Müller
6824704699 Merge pull request #21117 from owncloud/owner-file-exists
Only return an owner if the file exists + improved getUidAndFilename
2016-01-15 13:31:56 +01:00
Thomas Müller
41106c1967 Merge pull request #21543 from owncloud/Larzenegger-master
[CI] Larzenegger master
2016-01-15 13:29:57 +01:00
Thomas Müller
416fb65605 Merge pull request #21717 from owncloud/addpublicgroupinterface
allow apps to add an OCP GroupInterface backend
2016-01-15 12:38:18 +01:00
Thomas Müller
b37634a57d Merge pull request #21721 from owncloud/capped-memcache-indirect-set
Allow indirect set in CappedMemoryCache
2016-01-15 12:37:36 +01:00
Thomas Müller
d8867f7692 Merge pull request #21723 from owncloud/prevent-group-enable-for-apps
Prevent group enable for apps
2016-01-15 12:26:43 +01:00
Thomas Müller
52040a3f23 Merge pull request #20898 from owncloud/cache-interfaces
Public Cache interfaces
2016-01-15 12:02:31 +01:00
Jenkins for ownCloud
cd840f01ae [tx-robot] updated from transifex 2016-01-15 01:54:57 -05:00
Thomas Müller
1d0724a772 Fixing CodeChecker usage 🙈 2016-01-14 17:35:28 +01:00
Thomas Müller
7d2a6d4c1a - isolate include calls in installer.php which prevents local variables to be overwritten
- add the app to the autoloader before calling install.php
2016-01-14 17:28:00 +01:00
Thomas Müller
3f64d37f2a Merge pull request #21623 from owncloud/stricter_defaultprovider
[Share 2.0] Default share provider should only query for supported types
2016-01-14 16:12:06 +01:00
Thomas Müller
953c4bf18a Merge pull request #21714 from owncloud/groups-insertifnotexists
Groups insertifnotexists
2016-01-14 16:11:43 +01:00
Joas Schilling
e3a0858444 Check whether the app can be enabled for groups 2016-01-14 15:45:48 +01:00
Robin Appelman
d195584a32 Allow indirect set in CappedMemoryCache 2016-01-14 15:00:41 +01:00
Jörn Friedrich Dreyer
2ebb5726d7 add TODOs with the actual interface name 2016-01-14 14:34:35 +01:00
Jörn Friedrich Dreyer
64043e9bcc move methods to correct interface, deprecate private interface 2016-01-14 14:28:03 +01:00
Jörn Friedrich Dreyer
bd77cd98c9 allow apps to add an OCP GroupInterface backend 2016-01-14 13:58:45 +01:00
Thomas Müller
5036e4527f Use IDbConnectin::insertIfNotExist 2016-01-14 13:17:26 +01:00
Joas Schilling
436ce1f4a6 Use insertIfNotExists() when creating a group 2016-01-14 13:13:27 +01:00
Robin Appelman
7530f66f52 remove unneeded public cache methods 2016-01-14 13:01:46 +01:00
Robin Appelman
bdf51d9ea4 only trigger locking on lockingstorages 2016-01-14 13:01:43 +01:00
Robin Appelman
0724ac1e5e split locking related methods to their own interface 2016-01-14 12:54:42 +01:00
Robin Appelman
3deb3bd163 Add IStorage interface for consistent naming
minor phpdoc fixed
2016-01-14 12:54:42 +01:00
Robin Appelman
e77e76fef4 fix object store storage 2016-01-14 12:54:42 +01:00
Robin Appelman
d2c579e167 fix quota wrapper 2016-01-14 12:54:42 +01:00
Robin Appelman
dcbeeced3b add since tags 2016-01-14 12:54:42 +01:00
Robin Appelman
989995a852 fix phpdoc 2016-01-14 12:54:42 +01:00
Robin Appelman
a3d50ef49a add watcher interface 2016-01-14 12:54:42 +01:00
Robin Appelman
c27894791e Add updater interface and expose cache interfaces from storage 2016-01-14 12:54:42 +01:00
Robin Appelman
5fae07f422 add scanner interface 2016-01-14 12:54:42 +01:00
Robin Appelman
6d321f5f6b Return a class from cache operations instead of an array 2016-01-14 12:54:42 +01:00
Robin Appelman
3ab0ccd4a2 add cache entry interface 2016-01-14 12:54:42 +01:00
Robin Appelman
2dcdc81477 propagator interface 2016-01-14 12:54:42 +01:00
Robin Appelman
cdc8c40d60 Add public cache interface 2016-01-14 12:54:42 +01:00
Roeland Jago Douma
663e71e4b3 Only select elements from the database that we support 2016-01-14 10:54:40 +01:00
Roeland Jago Douma
0f454ff5aa Use namedparameter 2016-01-14 10:54:40 +01:00
Morris Jobke
86f08f59d6 use logException() to properly log the exception 2016-01-14 10:40:23 +01:00
Thomas Müller
4d037b76b4 Merge pull request #21704 from owncloud/fix-namespace-issue
Fix usage of PHP method within namespace
2016-01-14 10:25:34 +01:00
Thomas Müller
03c08bea9d Merge pull request #21703 from owncloud/fix_share_create_hooks
[Share 2.0] Fix pre_share and post_share hooks
2016-01-14 09:56:37 +01:00
Morris Jobke
64c8427d81 Improved error message for failing background job 2016-01-14 09:49:40 +01:00
Morris Jobke
73dd8c17de Fix usage of PHP method within namespace
* introduced wiht 045ea4eb
2016-01-14 09:24:21 +01:00
Jenkins for ownCloud
205fbcbfa3 [tx-robot] updated from transifex 2016-01-14 01:55:43 -05:00
Roeland Jago Douma
4cc2230c58 [Share 2.0] Fix pre_share and post_share hooks 2016-01-13 21:56:04 +01:00
Martin
06ca5cbade Fix: emit 'scanFiles' will only fire on files and not on folders (II) 2016-01-13 21:40:48 +01:00
Thomas Müller
d1010696a1 Merge pull request #20497 from owncloud/bubble_up_hint_exception
Bubble up hint exceptions in hooks, so the user can see the hint
2016-01-13 17:36:42 +01:00
Roeland Jago Douma
5f5951c8cf [Share 2.0] Let the factory do the factory stuff
* Updated unit tests (bit cleaner now)
2016-01-13 16:35:15 +01:00
Roeland Jago Douma
cbd3050f4c [Share 2.0] Use full share id (providerId:shareId)
Now that we support multiple managers we communicate shares to the
outside as 'providerId:shareId'. This makes sures that id's are unique
when references from the OCS API.

However, since we do not want to break the OCS API v1 we need to
somewhat hack around this.

When we switch to OCS API v2 (which we should when we support more
custom providers). We will change the id to always be the fullShareId.
2016-01-13 16:35:15 +01:00
Roeland Jago Douma
67b7ebccd1 [Share 2.0] Add share provider factory
* Add providers
* Add share manager to server container
* Use share manager from server container
* Properly get the share manager
2016-01-13 16:35:14 +01:00
Roeland Jago Douma
b4de427c1e [Share 2.0] Allow registering of share providers
* Properly register the default share provider
2016-01-13 16:35:07 +01:00
Thomas Müller
3ee3d02a76 Merge pull request #20018 from owncloud/cache_group_backend
The group database backend should cache groups
2016-01-13 15:58:21 +01:00
Thomas Müller
e7038a2736 Simply use logException() to log the exception - no need for custom code 2016-01-13 15:52:18 +01:00
Thomas Müller
fa75866879 Fix PHPDoc 2016-01-13 15:52:18 +01:00
Jörn Friedrich Dreyer
cbe995af31 Bubble up hint exceptions in hooks, so the user can see the hint 2016-01-13 15:52:18 +01:00
Thomas Müller
37e8a87d46 Merge pull request #21591 from owncloud/add-code-checking-for-apps
Verify signature of apps with level "Official" coming from the appstore
2016-01-13 10:35:00 +01:00
Thomas Müller
b1ee51f255 Merge pull request #21630 from owncloud/add-some-security-headers-as-hardening
Add X-Download-Options and X-Permitted-Cross-Domain-Policies
2016-01-13 10:33:58 +01:00
Thomas Müller
5565b19382 Merge pull request #21648 from owncloud/smb-statcache-cap
cap the number of entries we cache in smb's statcache
2016-01-13 10:33:43 +01:00
Thomas Müller
3fd976995a Merge pull request #21668 from owncloud/add-super-evil-and-hidden-config-switch-to-disable-integrity-checks-really-just-do-not-use-this
Add hidden config switch to disable code integrity checking
2016-01-13 10:30:02 +01:00
Thomas Müller
4129480eb0 Merge pull request #21671 from owncloud/fix-setup-on-master
Use legacy method when ownCloud is not yet installed
2016-01-13 10:29:36 +01:00
Thomas Müller
e22186d234 Merge pull request #21673 from owncloud/chrsch-master
-- Fixed error where $enabled is parsed but empty
2016-01-13 10:29:21 +01:00
Thomas Müller
c5a200c419 Merge pull request #21653 from owncloud/update-license-headers-2016
Update license headers 2016
2016-01-13 08:29:42 +01:00
Thomas Müller
59e9b93be6 Merge pull request #20948 from owncloud/fed-sync-contacts
Syncing system addressbooks across federated ownClouds
2016-01-13 08:27:51 +01:00
Jenkins for ownCloud
eb90fa78ad [tx-robot] updated from transifex 2016-01-13 01:55:56 -05:00
Christoph Schaefer
4b3bef4dc7 -- Fixed error where $enabled is parsed but empty 2016-01-13 06:39:02 +01:00
Lukas Reschke
28049b510b Use legacy method when ownCloud is not yet installed
The new `\OCP\ICertificateManager::getAbsoluteBundlePath` API instantiiates an ownCloud view which makes the installation fail as it queries the DB before it actually is setup. This change uses the old approach again for the case that the installation is not yet setup.

The client service is required for the `.htaccess` effectivity check in the setup. In the future we could move this to a JS based one (as we have for the other setupchecks) so we can get rid of such hacks.

Fixes https://github.com/owncloud/core/issues/21669 which was a regression in master caused by https://github.com/owncloud/core/issues/21336
2016-01-12 21:47:49 +01:00
Lukas Reschke
08e73d2c8f Add hidden config switch to disable code integrity checking
This adds a hidden config flag that allows somebody to disable the code integrity check. If `integrity.check.disabled` is set to `true` in the config file:

1. The integrity check functions will return always an empty result
2. The integrity check is not performed when installing apps
3. The integrity check is not performed when updating apps
4. The integrity check is not performed when updating the core

Furthermore this adds support for a list of channels that the code checker will run on. At the moment this is only stable because I didn't want to break any build scripts that we have. Once we have a proper CA setup and updated the build process to sign the releases we can add the RC, alpha, beta as well as daily releases. So everything except "git" basically.
2016-01-12 18:48:36 +01:00
Thomas Müller
682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Thomas Müller
dbddbb634b Use EventDispatcher to allow additional setup of auth backends - move federation auth to federation app 2016-01-12 14:24:01 +01:00
Robin Appelman
d8d6368dd7 cap the number of entries we cache in smb's statcache 2016-01-12 13:26:58 +01:00
Robin Appelman
c15cab7ed6 Allow admins to add system wide root certificates 2016-01-12 12:50:59 +01:00
Lukas Reschke
4d0dcd3c53 Add X-Download-Options and X-Permitted-Cross-Domain-Policies
Two small security hardenings for our IE users and those with Adobe products. Aligns it more with https://github.com/twitter/secureheaders#secureheaders---
2016-01-12 10:37:16 +01:00
Thomas Müller
3317dd0a8e Merge pull request #21637 from owncloud/reformat-irequest
fix identation in public/irequest.php
2016-01-12 09:13:17 +01:00
Thomas Müller
3ec8789c77 Merge pull request #21628 from owncloud/deprecated_secure_random_funcions
Replace deprecated function calls to SecureRandom
2016-01-12 09:12:13 +01:00
Morris Jobke
078cf8ae36 fix identation in public/irequest.php 2016-01-12 08:48:51 +01:00
Thomas Müller
d11d9407ce Merge pull request #21624 from owncloud/l10n_deprecated_function
Remove unused deprecated function from l10n.php
2016-01-12 08:34:00 +01:00
Roeland Jago Douma
9f4b296685 Properly close cursors 2016-01-12 08:24:08 +01:00
Roeland Jago Douma
9e322828f2 Cache if a group exists 2016-01-12 08:24:08 +01:00
Roeland Jago Douma
3c8f4784e9 Inject DBConnection
* Use query builder
* Minor unit tests additions
2016-01-12 08:24:08 +01:00
Roeland Jago Douma
53e37804ec The group database backend should cache groups
This avoids duplicated queries like first checking the group_users db
and then just doing a select on the group db. Those enries are linked
(and should be using foreign keys!)

This commit makes sure we cache those entries.
If a user is part of N groups this saves N queries on webdav access
2016-01-12 08:24:08 +01:00
Jenkins for ownCloud
44e91bb90a [tx-robot] updated from transifex 2016-01-12 01:56:33 -05:00
Roeland Jago Douma
876fb83ddc getMediumStrengthGenerator is deprecated and does not do anything anymore 2016-01-11 20:06:30 +01:00
Roeland Jago Douma
98c4951f45 getLowStrengthGenerator does not do anything anymore 2016-01-11 19:59:15 +01:00
Roeland Jago Douma
eccd9ca1cb Remove unused deprecated function 2016-01-11 16:41:46 +01:00
Lukas Reschke
43dbe1cebf Revert "Remove unneeded check if htaccess test file already exists" 2016-01-11 15:37:08 +01:00
Robin Appelman
a3cbdcf202 Faster AppConfig->getValues 2016-01-11 11:59:24 +01:00
Robin Appelman
ae7c49f93c Use appconfig for getAppVersions 2016-01-11 11:59:24 +01:00
Lars
3a5087ccdf tempnam accepts a directory as its first parameter, not a full path and filename.
tempnam falls back to creating a file in the system's temp directory. On systems with open_basedir restrictions, this may trigger an error message. By moving this below the checkTemporaryDirectory-loop, tempnam will only be tested if all alternatives fail and the error message is most likely avoided.
2016-01-11 11:50:31 +01:00
Lukas Reschke
3e8a5f8a53 Typo in error message 2016-01-11 11:40:58 +01:00
Robin Appelman
300eb54c87 de-deplicate getUidAndFilename 2016-01-11 11:40:58 +01:00
Robin Appelman
fd2e1086c6 dont return an owner for files that don't exist 2016-01-11 11:40:58 +01:00
Thomas Müller
94cf9e56b6 Merge pull request #21593 from owncloud/strict_autoloader
Stricter autoloader
2016-01-11 11:24:11 +01:00
Thomas Müller
939cd43b58 Merge pull request #21586 from owncloud/fix-no-minimum-version
Assume apps from the appstore are compatible with the current version
2016-01-11 11:23:36 +01:00
Thomas Müller
171b279753 Merge pull request #21594 from owncloud/cleanup_util
Remove generateRandomBytes from OC_Util
2016-01-11 09:55:35 +01:00
Jenkins for ownCloud
77a8085f84 [tx-robot] updated from transifex 2016-01-11 01:55:34 -05:00
Roeland Jago Douma
e01a488b31 Remove generateRandomBytes from OC_Util 2016-01-10 22:07:33 +01:00
Roeland Jago Douma
1a592e5745 Only '/tests' to be autoloaded when running unit tests 2016-01-10 21:36:14 +01:00
Roeland Jago Douma
fce8c42240 OC autoloader is not allowed to load 3rdparty 2016-01-10 21:32:52 +01:00
Lukas Reschke
c009d5dcc1 Verify signature of apps with level "Official" coming from the appstore
This change will verify the signature of all apps with the level "Official" coming from the appstore or if they have been signed before.
2016-01-10 19:40:28 +01:00
Lukas Reschke
e43bf54503 Assume apps from the appstore are compatible with the current version
Filtering is done server-side already so only compatible apps are delivered. Otherwise this leads to a ton of error messages as the info.xml cannot be read at that state.

Fixes https://github.com/owncloud/core/issues/21556
2016-01-10 17:02:50 +01:00
Lukas Reschke
74876fa6e7 Remove code related to session regeneration after some time
I do not really consider this necessary or a real security addition. Let's get rid of it thus, cleans up the code and makes the logic easier.
2016-01-10 11:01:30 +01:00
Lukas Reschke
a58ca89e7f Use ISession::clear
The native approach using the PHP calls will not work properly with the cryptowrapper and thus this code is effectively doing nothing at the moment.
2016-01-10 10:39:22 +01:00
Jenkins for ownCloud
580deb09f8 [tx-robot] updated from transifex 2016-01-10 01:55:57 -05:00
Lukas Reschke
3d4cf2e598 Use proper class name
This has never worked before. Introduced with https://github.com/owncloud/core/pull/18658
2016-01-09 23:43:12 +01:00
Roeland Jago Douma
77c611d339 Just query the securerandom from the container 2016-01-09 19:57:03 +01:00
Jenkins for ownCloud
72b34575df [tx-robot] updated from transifex 2016-01-09 01:55:50 -05:00
Roeland Jago Douma
17a066c18e Properly close db cursors 2016-01-08 20:27:01 +01:00
Roeland Jago Douma
629bac22fd Make sure to respect deleted group shares by user 2016-01-08 20:27:01 +01:00
Roeland Jago Douma
c882d46e5f Moved to the query builder
Anything to keep Lukas happy
2016-01-08 20:27:01 +01:00
Roeland Jago Douma
066e3770bb Make sure that permissions stay in sync for share_type 2
When a file/folder is shared with a group and one of the group members
moves this file/folder an extra entry is created in the share table.

When the permission of the group share is updated we used to only
sometimes update the shares for individual users.

* Added intergration tests
2016-01-08 20:27:01 +01:00
Thomas Müller
6ab5ad0593 Merge pull request #21447 from owncloud/leave-disabled-apps-off
Only enable apps that are not intentionally disabled
2016-01-08 18:17:15 +01:00
Thomas Müller
3de81be692 Merge pull request #21494 from owncloud/underscores-in-class-names
Remove underscores from class names - part 1
2016-01-08 18:11:25 +01:00
Thomas Müller
0f281cdd30 Merge pull request #21286 from owncloud/use-owncloud-mail-when-sending-caldav-schedule-mails
Adding IMip scheduling which uses ownClouds mail delivery
2016-01-08 17:58:33 +01:00
Thomas Müller
e60dddf57d Merge pull request #21479 from owncloud/fix-broken-state-in-htaccess-test
Remove unneeded check if htaccess test file already exists
2016-01-08 15:53:16 +01:00
Thomas Müller
0f5132552c Merge pull request #21292 from owncloud/checkAppEnabled-not-needed-anymore
core will handle invalid URLs and redirects properly
2016-01-08 13:36:11 +01:00
Thomas Müller
71999ef820 Merge pull request #21139 from owncloud/makeswifturltypeconfigurable
make url type configurable
2016-01-08 12:34:58 +01:00
Thomas Müller
b3550db02d Adding IMip scheduling which uses ownClouds mail delivery 2016-01-08 12:21:41 +01:00
Thomas Müller
a0345b9465 Merge pull request #21032 from owncloud/router-error-handling
Router error handling + Base.php
2016-01-08 10:06:54 +01:00
Thomas Müller
a1a8a06042 Merge pull request #21527 from owncloud/remove_all_avatars
Remove all cache avatars on avatar deletion
2016-01-08 09:41:25 +01:00
Roeland Jago Douma
34c8249799 Deprecate remaining function and entire class 2016-01-07 21:29:51 +01:00
Lukas Reschke
9bf01283e7 Cleanup router code
- Some functions are entirely broken
- PHPDoc etc...
2016-01-07 21:29:51 +01:00
Lukas Reschke
0e561afe79 Check if app does exists 2016-01-07 21:29:45 +01:00
Roeland Jago Douma
4e6f6518ff Remove all cache avatars on avatar deletion
Fixes #21513

Since we cache the generated avatars. We should also delete the
generated sizes when we remove the avatar.
2016-01-07 20:51:18 +01:00
Thomas Müller
1cc6fddead Merge pull request #21498 from owncloud/cleanup-OC_DB
Cleanup OC_DB methods
2016-01-07 20:13:16 +01:00
Thomas Müller
46107f82d4 Merge pull request #21506 from owncloud/issue-20218-min-max-owncloud-version-warning
Issue 20218 min max owncloud version warning
2016-01-07 16:51:00 +01:00
Thomas Müller
f6f492ba4e Merge pull request #21502 from owncloud/di_mimetypedetector
Add 'OCP\Files\IMimeTypeDetector' to DI container
2016-01-07 16:18:55 +01:00
Thomas Müller
9ca670f94f Merge pull request #21505 from owncloud/allow-downgrades-for-brave-developers
Allow downgrades for our brave developers, that switch between branches
2016-01-07 16:03:36 +01:00
Joas Schilling
c55da1fc8d Add a warning to the app:check-code if the version is missing 2016-01-07 15:04:36 +01:00
Thomas Müller
601457d221 Merge pull request #20773 from owncloud/share2.0_create
[Sharing 2.0] create share
2016-01-07 14:57:05 +01:00
Morris Jobke
190cc2bb67 Remove OC_DB::getConnection 2016-01-07 14:54:55 +01:00
Morris Jobke
fddece9552 Remove OC_DB::insertid 2016-01-07 14:54:55 +01:00
Morris Jobke
0a41cfefe3 Remove beginTransaction, commit, rollback from OC_DB 2016-01-07 14:54:55 +01:00
Morris Jobke
3917d888bd Remove OC_DB::isError 2016-01-07 14:54:55 +01:00
Morris Jobke
547fbfdb76 Remove OC_DB::dropTable 2016-01-07 14:54:54 +01:00
Joas Schilling
fd7ed93937 Allow downgrades for our brave developers, that switch between branches 2016-01-07 14:18:33 +01:00
Roeland Jago Douma
cd35ad6aaa Add 'OCP\Files\IMimeTypeDetector' to DI container
* Added test to server container as well
2016-01-07 13:20:43 +01:00
Morris Jobke
fa97e3a5a3 OC_TemplateLayout -> OC\TemplateLayout 2016-01-07 09:31:11 +01:00
Morris Jobke
c464b32738 OC_DB_MDB2SchemaManager -> OC\DB\MDB2SchemaManager 2016-01-07 09:29:21 +01:00
Morris Jobke
604897945b Move lib/repair to lib/private/repair 2016-01-07 09:14:35 +01:00
Jenkins for ownCloud
27dfa74d89 [tx-robot] updated from transifex 2016-01-07 01:55:48 -05:00
Thomas Müller
002161857c Merge pull request #21398 from owncloud/sharing-disabled-cache
Cache isSharingDisabledForUser
2016-01-06 17:23:14 +01:00