Commit graph

5296 commits

Author SHA1 Message Date
Roeland Jago Douma
78be766cf5 [Share 2.0] Use strings for ids
* sharedWith
* sharedBy
* shareOwner

Now all set/get strings with the id. (userId, groupId,
federatedsharerId).

This to avoid a huge amount of if statements
2016-02-03 19:25:29 +01:00
Thomas Müller
ab1c79827e Merge pull request #22071 from owncloud/cache-split-insert
split cache->insert from cache->put
2016-02-03 14:32:28 +01:00
Vincent Chan
cc17ac9ff9 move whitspace check to user manager 2016-02-03 14:09:15 +01:00
Thomas Müller
aaf7299d28 Merge pull request #22070 from owncloud/share2_exceptions
Add sharing exceptions to OCP
2016-02-03 13:36:14 +01:00
Robin Appelman
f2bba59b79 split cache->insert from cache->put 2016-02-03 12:55:36 +01:00
Thomas Müller
621f54da51 Merge pull request #21997 from owncloud/checksums
Checksums
2016-02-03 11:36:22 +01:00
Thomas Müller
459a12c8b3 Merge pull request #22081 from owncloud/mount-cache-invalid-storage
filter invalid storages from the mount cache early
2016-02-03 11:36:04 +01:00
Roeland Jago Douma
2035a179bc Add store/retrieve checksums
* Add extra db column to filecache
* Bump version
* Update filecache code to actually handle checksum
* Webdav code to store/retrieve checksums
2016-02-03 09:03:51 +01:00
Thomas Müller
77942ad38a Merge pull request #22059 from owncloud/comments-readmark-dav
Comments DAV methods for read mark manipulation (mark comments of a file as read) + return isUnread status
2016-02-03 09:00:32 +01:00
Robin Appelman
8a30058f52 filter invalid storages from the mount cache early 2016-02-02 18:10:13 +01:00
Arthur Schiwon
064b96ec1c update routine was lacking where statements 🙈 2016-02-02 14:30:35 +01:00
Roeland Jago Douma
dc32f49c6e [Share 2.0] Use GenericShareException 2016-02-02 14:23:45 +01:00
Roeland Jago Douma
4d7130ad31 [Share 2.0] Add exceptions to OCP 2016-02-02 14:07:11 +01:00
Thomas Müller
ce053b9808 Merge pull request #22013 from owncloud/share2_moveshare
[Share 2.0] Allow moving of shares
2016-02-02 13:34:50 +01:00
Thomas Müller
2d1d89ee29 Merge pull request #22049 from owncloud/issue-22041-activities-for-systemtags
Issue 22041 activities for systemtags
2016-02-02 13:08:01 +01:00
Thomas Müller
eee6f3d406 Merge pull request #22057 from owncloud/share2_update_hash
Update old password hashed for link shares on access
2016-02-02 12:37:31 +01:00
Thomas Müller
c9006d6d56 Merge pull request #21988 from owncloud/allow-search-in-synced-addressbooks
Allow search in synced addressbooks
2016-02-02 12:37:12 +01:00
Roeland Jago Douma
2316cb1f8b [Share 2.0] Allow moving of shares
* Only recipient can move a share
* Unit tests
2016-02-02 11:34:52 +01:00
Thomas Müller
b01d50216e The local address book is replaced now by the system addressbook as part of the dav app 2016-02-02 10:56:33 +01:00
Roeland Jago Douma
df690cd1f2 getChildren should not return usergroup shares 2016-02-02 10:41:57 +01:00
Roeland Jago Douma
403547f0ea [Share 2.0] Allow recipient to be passed in to getShareById
* This allows us to retrieve usergroup shares for a given id.
  If the user deleted a share or moved it this will be a different share
2016-02-02 10:41:57 +01:00
Thomas Müller
4777f78187 Merge pull request #20903 from owncloud/sharing-mount-option
Add mount option to disable sharing
2016-02-02 10:26:24 +01:00
Thomas Müller
e60b217156 Merge pull request #22015 from owncloud/share-no-permissions
Block shares that dont have the correct source permissions
2016-02-02 10:26:06 +01:00
Joas Schilling
b5e40bc8f6 Fix IManager::isFormattingFilteredObject() 2016-02-02 10:11:58 +01:00
Joas Schilling
25cbc17bec Add activities when a tag is (un-)assigned 2016-02-02 10:11:58 +01:00
Joas Schilling
d5126b1ad4 Dispatch events when tags are added/updated/deleted 2016-02-02 09:57:42 +01:00
Joas Schilling
591613fce2 Dispatch some events when tags are un-/assigned 2016-02-02 09:57:42 +01:00
Roeland Jago Douma
619a4d2e52 Update old password hashed for link shares on access
Fixes https://github.com/owncloud/core/issues/16594
2016-02-01 21:46:32 +01:00
Thomas Müller
b4853f3fce Merge pull request #21967 from owncloud/comments-webdav
Comments WebDAV adjustements
2016-02-01 16:17:45 +01:00
Thomas Müller
84d9704121 Merge pull request #22028 from owncloud/share_hook_expirationdate
Share hook expirationdate
2016-02-01 14:13:54 +01:00
Thomas Müller
e23cd35019 Merge pull request #21953 from owncloud/make-enable_avatars-more-robust
Make enable_avatars setting more robust
2016-02-01 14:08:40 +01:00
Thomas Müller
32067ac49b Merge pull request #21989 from owncloud/make-csp-modifiable
Add public API to give developers the possibility to adjust the global CSP defaults
2016-02-01 10:10:40 +01:00
Thomas Müller
a025b2865f Merge pull request #22022 from owncloud/share_ocs_filter_path_sharedwithme
Add path filter to OCS Share API shared_with_me=true
2016-02-01 09:00:31 +01:00
Roeland Jago Douma
1efe877d00 Emit hook for expirationDate verification 2016-01-30 15:40:31 +01:00
Thomas Müller
67bf225fbe Merge pull request #21956 from owncloud/cross-cache-move
Add fallback moveFromCache implementation
2016-01-29 17:03:16 +01:00
Roeland Jago Douma
a24e7f6558 Add path filter to OCS Share API ?shared_with_me=true
This allows all clients to quickly get the share info for a given path.
Instead of returning everything and filtering it then manually on the
client side.
2016-01-29 15:36:23 +01:00
Robin Appelman
3c8aac3867 Add mount option to disable sharing 2016-01-29 13:14:26 +01:00
Arthur Schiwon
01cdc70f9c introduce comments read marke tables, comes with user cleanup after deletion 2016-01-29 13:08:02 +01:00
Arthur Schiwon
d2882b9021 Comments WebDAV adjustements 2016-01-29 13:08:02 +01:00
Robin Appelman
ec3f6549f6 Add fallback moveFromCache implementation 2016-01-29 13:06:59 +01:00
Robin Appelman
e3b5639fc1 Block shares that dont have the correct source permissions 2016-01-29 13:05:53 +01:00
Thomas Müller
62b9e81919 Merge pull request #21995 from owncloud/share2_delete_user_defined_group_shares
[Share 2.0] When deleting a group share delete children
2016-01-29 11:34:38 +01:00
Roeland Jago Douma
1ff4ec1cd3 [Share 2.0] When deleting a group share delete children
For group shares we can have children. Those are custom shares when a
user has moved or deleted a group share. Those also have to be deleted
if the group share is removed.
2016-01-28 20:35:46 +01:00
Lukas Reschke
809ff5ac95 Add public API to give developers the possibility to adjust the global CSP defaults
Allows to inject something into the default content policy. This is for
example useful when you're injecting Javascript code into a view belonging
to another controller and cannot modify its Content-Security-Policy itself.
Note that the adjustment is only applied to applications that use AppFramework
controllers.

To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`,
$policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`.

To test this add something like the following into an `app.php` of any enabled app:
```
$manager = \OC::$server->getContentSecurityPolicyManager();
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('asdf');
$policy->addAllowedScriptDomain('yolo.com');

$policy->allowInlineScript(false);
$manager->addDefaultPolicy($policy);
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFontDomain('yolo.com');
$manager->addDefaultPolicy($policy);

$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('banana.com');
$manager->addDefaultPolicy($policy);
```

If you now open the files app the policy should be:

```
Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self'
```
2016-01-28 18:36:46 +01:00
Joas Schilling
ef73aedd7e Deprecate the method and warn against using it 2016-01-28 15:40:23 +01:00
Robin Appelman
d7a777af3a fix cachejail->update 2016-01-28 11:46:44 +01:00
Robin Appelman
1369f2c684 cleanup shared cache 2016-01-28 11:46:43 +01:00
Thomas Müller
b7710ab6d7 Merge pull request #21858 from owncloud/getMountsForFileId
add IUserMountCache->getMountsForFileId
2016-01-28 11:20:42 +01:00
Roeland Jago Douma
8d44e537ac [Share 2.0] Remove setId and setProviderId from the interface
Those should only ever be set by the providers
2016-01-28 07:54:16 +01:00
Roeland Jago Douma
34e912ab6b [Share 2.0] Fix interfaces and comments
* Made comments more clear
* Removed unneeded methods
* IShares shareTime is now a proper DateTime object
* IShares getPath -> getNode & setPath -> setNode
* Fix unit tests
2016-01-28 07:54:09 +01:00
Roeland Jago Douma
f2e70441e4 [Share 2.0] Add getShareManager to OCP\IServerContainer 2016-01-27 22:04:37 +01:00
Roeland Jago Douma
357b271cb4 [Share 2.0] Create IManger interface for share manager 2016-01-27 22:04:37 +01:00
Roeland Jago Douma
185b9c6edd [Share 2.0] Move IShare to OCP 2016-01-27 22:04:37 +01:00
Roeland Jago Douma
0832cca54e [Share 2.0] Fix IShare 2016-01-27 22:04:09 +01:00
Lukas Reschke
cb1a64b949 Check whether ownCloud is installed
ownCloud might not yet be setup. This causes an issue as the user config requires a setup ownCloud. Thus this needs a block whether ownCloud is installed or not.

Fixes https://github.com/owncloud/core/issues/21955
2016-01-27 18:30:18 +01:00
Thomas Müller
816c23c17a Merge pull request #21923 from owncloud/fix-errors-after-install
Fix errors after install
2016-01-27 16:16:31 +01:00
Thomas Müller
6973718fb8 Merge pull request #21940 from owncloud/share2_do_not_returned_removed_group_shares
[Share 2.0] Properly handle user deleted group shares
2016-01-27 16:16:06 +01:00
Morris Jobke
1601d9235a Make enable_avatars setting more robust
* handles the setting in the same way everywhere
* fixes #21949
2016-01-27 15:17:25 +01:00
Joas Schilling
0c7922cf70 Use new constants 2016-01-27 12:53:44 +01:00
Robin Appelman
644a8ab797 add IUserMountCache->getMountsForFileId 2016-01-27 12:53:44 +01:00
Thomas Müller
a067355a98 In case the hint of the HintException is empty we better use the exception message 2016-01-27 10:08:21 +01:00
Thomas Müller
1594371c8c Merge pull request #21741 from owncloud/l10n-improvements
Move methods to the factory that are not related to translating, but to guessing/finding the language
2016-01-27 09:37:00 +01:00
Thomas Müller
5b7a1b13f3 Merge pull request #21887 from owncloud/share2_updateShare
[Sharing 2.0] update share
2016-01-27 09:36:41 +01:00
Thomas Müller
c274f03e12 Merge pull request #21906 from owncloud/querybuilder-clob-comparison
Querybuilder clob comparison
2016-01-27 09:36:21 +01:00
Roeland Jago Douma
a4900d721f [Share 2.0] Properly handle user deleted group shares
If a user deletes a group share we create a special share entry. To the
API this is just a normal group share for that user with permissions 0.
But we should not return this.
2016-01-27 09:02:12 +01:00
Morris Jobke
e43aaf4a15 Avoid error message in log during setup because of existing data dir 2016-01-26 18:50:41 +01:00
Thomas Müller
aa598fc701 Merge pull request #21664 from owncloud/comments-dav
Comments DAV implementation
2016-01-26 17:20:32 +01:00
Lukas Reschke
8a4e1fbecd Fix errors after install
When installing ownCloud the first time the first thing that an admin saw was an error message:

> Error   PHP   touch(): Unable to create file owncloud.log because Permission denied at /var/www/owncloud/lib/private/log/owncloud.php#48

Or something related. This lead to a lot confusion as can be seen in our forum and in our issue tracker. This change should make the error messages disappear in most cases (e.g. where the file can actually be written). To test this:

1. On master install ownCloud and check owncloud.log => Error message
2. On this branch install ownCloud and check owncloud.log => No error message

Fixes https://github.com/owncloud/core/issues/13736 and https://github.com/owncloud/core/issues/12893
2016-01-26 17:06:23 +01:00
Roeland Jago Douma
d11682dcb4 Fix comments from Thomas 2016-01-26 15:31:52 +01:00
Joas Schilling
01164e89a4 Move parameter to the right function call 2016-01-26 14:56:07 +01:00
Joas Schilling
76f506e264 Use our OCP constants 2016-01-26 14:56:07 +01:00
Joas Schilling
a0e8a9de61 Introduce helper method 2016-01-26 14:56:07 +01:00
Joas Schilling
7514695399 Fix Oracle comparisons 2016-01-26 14:56:07 +01:00
Joas Schilling
90ce876378 Adjust comments to the new constants 2016-01-26 14:56:07 +01:00
Roeland Jago Douma
c090d709e7 We must resolve to the proper usergroup share 2016-01-26 14:14:54 +01:00
Joas Schilling
3a6390031c Move class to legacy folder 2016-01-26 14:10:05 +01:00
Joas Schilling
70396581eb Add tests for findLanguage() 2016-01-26 14:02:32 +01:00
Joas Schilling
b24b198a83 Add tests for the factory 2016-01-26 14:02:31 +01:00
Joas Schilling
2cb26a9151 Fix the tests 2016-01-26 14:02:31 +01:00
Joas Schilling
c7abe68776 Deprecate OC_L10N in favor of a namespaces and DI version 2016-01-26 14:02:31 +01:00
Joas Schilling
4ea0d3c05d Deprecate getFirstWeekDay() and getDateFormat() in favor of l() 2016-01-26 14:02:31 +01:00
Joas Schilling
6652a0fb6c Move finding the language files and creating the function out of the object 2016-01-26 14:02:31 +01:00
Joas Schilling
7ec7464ee2 Move validation and fallbacks of app and lang to the constructor/factory 2016-01-26 14:02:31 +01:00
Joas Schilling
043625ee52 Move findLanguage() and setLanguageFromRequest() to factory 2016-01-26 14:02:31 +01:00
Joas Schilling
29a9306429 Move languageExists() to the factory 2016-01-26 14:02:31 +01:00
Joas Schilling
6aec550d6e Move findAvailableLanguages() to the factory 2016-01-26 14:02:30 +01:00
Roeland Jago Douma
e508bcb7a7 [Share 2.0] Fire off hook 2016-01-26 13:59:58 +01:00
Roeland Jago Douma
46045ecc52 [Share 2.0] Add update share 2016-01-26 13:59:58 +01:00
Arthur Schiwon
ed546bd2a5 Comments DAV implementation 2016-01-26 12:10:14 +01:00
Thomas Müller
3da78c8f1c Merge pull request #21901 from owncloud/fix-setup
Fix setup page
2016-01-26 11:42:55 +01:00
Thomas Müller
5285460669 Merge pull request #21845 from owncloud/sync-system-addressbook-on-avatar-change
Changing the avatar of the user emits the changeUser event which trig…
2016-01-26 11:37:17 +01:00
Thomas Müller
2bafb1c649 Merge pull request #21894 from owncloud/refactor-csrf
Add new CSRF manager for unit testing purposes
2016-01-26 11:36:56 +01:00
Morris Jobke
2ecc202843 Fix setup page
* fixes #21897
2016-01-26 09:05:10 +01:00
Thomas Müller
4c9e328211 Merge pull request #21892 from owncloud/issue-21890-parameters
Add parameters types to IQueryBuilder
2016-01-25 21:13:41 +01:00
Thomas Müller
a1ca9de0f5 Trigger change on avatar delete 2016-01-25 20:56:04 +01:00
Thomas Müller
f165ad8864 Changing the avatar of the user emits the changeUser event which triggers update of the system addressbook 2016-01-25 20:05:11 +01:00
Lukas Reschke
12b22c2759 Regenerate CSRF token upon login
Otherwise somebody else might be able to note down the CSRF token before login on a shared computer.
2016-01-25 20:03:40 +01:00
Lukas Reschke
a977465af5 Add new CSRF manager for unit testing purposes
This adds a new CSRF manager for unit testing purposes, it's interface is based upon https://github.com/symfony/security-csrf. Due to some of our required custom changes it is however not possible to use the Symfony component directly.
2016-01-25 20:03:40 +01:00
Joas Schilling
09ae160463 Replace other usages 2016-01-25 17:17:36 +01:00
Thomas Müller
728caf13f8 Adding support of -1 as size to be passed into get and getFile 2016-01-25 16:54:40 +01:00
Thomas Müller
d69167caff Merge pull request #21424 from owncloud/appversions
Use appConfig to get app versions
2016-01-25 10:02:02 +01:00
Thomas Müller
adf532fe4e Merge pull request #21806 from owncloud/mdusher-master
[jenkins] Added ' to characters allowed in the username
2016-01-25 10:01:43 +01:00
Thomas Müller
ef4fca22d1 Merge pull request #21844 from owncloud/drop-image-path
Remove OC_Helper::imagePath and use the proper public interface
2016-01-25 10:00:21 +01:00
Morris Jobke
287e6d36bf remove unused variable 2016-01-25 09:29:44 +01:00
Morris Jobke
75e6734ef4 Remove OC_Helper::imagePath and use the proper public interface 2016-01-24 18:04:20 +01:00
Thomas Müller
99e9c81c8b Merge pull request #21841 from owncloud/share2_deletefromself
[Share 2.0] Add deleteFromSelf method
2016-01-22 17:27:17 +01:00
Thomas Müller
a203089cfd Merge pull request #21836 from RomanKreisel/master
Solves #21835 (https://github.com/owncloud/core/issues/21835)
2016-01-22 17:26:28 +01:00
Thomas Müller
7731b29136 Merge pull request #21719 from owncloud/move-notification-api-to-ocp
Move the notification API to public namespace
2016-01-22 16:20:26 +01:00
Roeland Jago Douma
a6600e95dc [Share 2.0] Add deleteFromSelf method
This allows recipient to delete a share. For user shares this is the
same as deleting (at least for now).
But for group shares this means creating a new share with type 2. With
permissions set to 0.
2016-01-22 15:06:50 +01:00
Morris Jobke
bd456b5889 Fix addUserToGroup hook of the share code
* sets up the filesystem of the user that is added to a group
  to properly accept shares
* fixes #18499
2016-01-22 14:17:37 +01:00
Thomas Müller
9b4c9a0357 Merge pull request #18531 from owncloud/ext-user-credentials
External storage 'Login credentials' auth mechanism
2016-01-22 13:14:14 +01:00
Thomas Müller
0bccdbc959 Merge pull request #21849 from owncloud/add-custom-marker-into-htaccess
Add custom marker into htaccess and execute integrity check after installation
2016-01-22 13:13:59 +01:00
Thomas Müller
e3013a99ef Merge pull request #21816 from owncloud/require-a-specific-path-instead-of-autoguessing
Use path instead of app id for occ app signing
2016-01-22 13:13:41 +01:00
Lukas Reschke
bc62aa1ef5 Exclude .htaccess modifications from code checker
After the initial installation ownCloud will write some content into the .htaccess file such as the 404 or 403 directives. This adds a magic marker into the .htaccess file and only the content above this marker will be compared in the integrity checker.
2016-01-22 11:51:54 +01:00
Joas Schilling
31c5848e51 Allow automatic injection of the Manager 2016-01-22 11:02:40 +01:00
Thomas Müller
1410120758 Merge pull request #20768 from owncloud/mount-cache
cache mountpoints in the db
2016-01-22 11:01:54 +01:00
Joas Schilling
ee02165005 Move the notification API to public namespace 2016-01-22 10:32:42 +01:00
Thomas Müller
e2e5eedb40 Merge pull request #21824 from owncloud/list-of-notifiers
Make it possible to get a list of notifiers for a potential settings …
2016-01-22 10:24:46 +01:00
Joas Schilling
3cca8498cb Make it possible to get a list of notifiers for a potential settings page 2016-01-22 08:47:21 +01:00
Morris Jobke
75ee5a9e9a Fix PHPDoc - @changed is no official tag -> use @since 2016-01-22 08:43:05 +01:00
Roman Kreisel
b35aa513ab Solves # 2016-01-21 17:29:14 +01:00
Roeland Jago Douma
658959592d [Share 2.0] Fix displaying old shares proplery 2016-01-21 16:06:12 +01:00
Roeland Jago Douma
3a582e88e5 Comments from Vincent 2016-01-21 16:06:12 +01:00
Roeland Jago Douma
9b5ea18ce5 Add Unit tests for the default share provider 2016-01-21 16:06:12 +01:00
Roeland Jago Douma
0a9cd91e1d [Share 2.0] Add subfiles=x 2016-01-21 15:56:44 +01:00
Roeland Jago Douma
0c9f881e7d [Share 2.0] Resolve group shares 2016-01-21 15:56:44 +01:00
Roeland Jago Douma
3666c34a19 [Sharing 2.0] Start with getShares 2016-01-21 15:56:44 +01:00
Thomas Müller
e2f231d051 Merge pull request #21761 from owncloud/share2_link
Share2 link
2016-01-21 15:43:08 +01:00
Thomas Müller
7c7467fe42 Merge pull request #21792 from owncloud/systemtags-managerfactory
Allow custom implementation of system tag managers
2016-01-21 12:13:01 +01:00
Thomas Müller
2f7dcf1a2c Merge pull request #21782 from owncloud/update-system-addressbook-on-user-change-2
Introduce IUser::setEMailAddress and add hook mechanism
2016-01-21 00:07:46 +01:00
Roeland Jago Douma
e40d21673e [Share 2.0] Add fetching link shares to share manager 2016-01-20 21:12:26 +01:00
Lukas Reschke
ea367b598a Use path instead of app id
This change requires the usage of a path instead of the App ID when signing code. This has the advantage that developers can also sign code under a different location to make it easier. (e.g. remove `.git`, …)

Also it adds an example command usage as well as a link to the documentation
2016-01-20 20:38:18 +01:00
Vincent Petry
899f9bd113 Allow custom implementation of system tag managers
Added config.php option to replace the default implementation of system
tag manager and system tag object mapper.

Also adjusted the comments manager factory to inject the server container
2016-01-20 16:36:10 +01:00
Robin Appelman
8a4c0829fb use insertifnotexists 2016-01-20 16:32:56 +01:00
Robin Appelman
483c6b68e2 clear mount cache when removing applicables 2016-01-20 16:32:56 +01:00
Robin Appelman
bc7bd0cd05 handle changed mount points 2016-01-20 16:32:56 +01:00
Robin Appelman
be380accb9 clear mount cache when deleting user 2016-01-20 16:32:56 +01:00
Robin Appelman
99415a9f7f multiple minor fies 2016-01-20 16:32:52 +01:00
Robin Appelman
fd37e72ee9 use getmountmanager 2016-01-20 16:30:22 +01:00
Robin Appelman
8940429976 log duplicates 2016-01-20 16:30:22 +01:00
Robin Appelman
f986fb99f2 Filter uncached mounts 2016-01-20 16:30:22 +01:00
Robin Appelman
cf6ee1c866 cache mountpoints in the db 2016-01-20 16:30:22 +01:00
Thomas Müller
647d8ea5de Merge pull request #21775 from owncloud/apcu-iterator-constructor
Fix constructor arguments for APCUIterator
2016-01-20 15:23:01 +01:00
Thomas Müller
51b50bd260 Emit OC\User::changeUser on change of display name 2016-01-20 14:57:20 +01:00
Thomas Müller
aeb89947a2 Introduce IUser::setEMailAddress and add hook mechanism 2016-01-20 14:57:20 +01:00
Morris Jobke
7b54bf26ea fix error message and comment 2016-01-20 14:21:54 +01:00
Michael U
dbfa143e2d Added ' to characters allowed in the username 2016-01-20 14:11:27 +01:00
Roeland Jago Douma
7a946a05f5 Properly DI the servercontainer 2016-01-20 08:33:36 +01:00
Thomas Müller
f0f308dfbf Merge pull request #21744 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2016-01-19 12:17:25 +01:00
Morris Jobke
930555bd5e properly use standard
* JEDEC standard - https://en.wikipedia.org/wiki/JEDEC_memory_standards#Unit_prefixes_for_semiconductor_storage_capacity
2016-01-19 10:41:12 +01:00
Roeland Jago Douma
0939520e1a [Share 2.0] Share Object creation is a fragile thing
* We can't assume that the file still exists
* We can't assume that the user/group still exists

Basically we do not always nicely cleanup shares.
2016-01-18 19:57:30 +01:00
Thomas Müller
14c98b4df7 Merge pull request #21519 from owncloud/propagate-folder-size
propagate folder size in the same query for write updates
2016-01-18 16:57:30 +01:00
Robin Appelman
58afddfaa5 allow comparing clob using expressionbuilder->eq if you explicitly say you're comparing strings 2016-01-18 16:03:41 +01:00
Robin Appelman
a225fe4c96 Fix constructor arguments for APCUIterator 2016-01-18 12:20:05 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Roeland Jago Douma
e01a488b31 Remove generateRandomBytes from OC_Util 2016-01-10 22:07:33 +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
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
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