Commit graph

2754 commits

Author SHA1 Message Date
Roeland Jago Douma
9ce5e4b01f Non moveable mount points should always be UPDATE+DELETE shareable
Fixes #23536

The new sharing code is much stricter in checking permissions. However
for non moveable mounts the permissions UPDATE+DELETE are not reported
on the mount point.

This is just a quick fix.

* Updated unit tests
2016-03-30 13:33:16 +02:00
Robin Appelman
c22697e09e only remove avatars from the folder we store them in 2016-03-30 10:24:43 +02:00
Thomas Müller
b8812c8cba Merge pull request #23154 from owncloud/avatar-save-failure
dont die when we cant save the resized avatar, log instead
2016-03-24 22:43:17 +01:00
Thomas Müller
ea07a428f4 Merge pull request #22506 from owncloud/node-get-from-cache
Query the cache when checking if a node exists
2016-03-23 13:08:17 +01:00
Thomas Müller
fc18d33ff8 Merge pull request #22895 from owncloud/cleanup_default_share_provider
Remove support for old shares in the default share provider
2016-03-23 11:02:28 +01:00
Thomas Müller
efd378814c Merge pull request #23362 from owncloud/fix-l10n-for-themes
Read available l10n files also from theme folder
2016-03-23 09:22:21 +01:00
Roeland Jago Douma
b26b8d17eb Remove support for old shares in the default share provider
In 9.0 we converted the old shares to the new shares. So for 9.1 we can
savely remove the fallback code.

This code was required when there was no initiator set.

* Fixed unit tests
2016-03-23 07:58:17 +01:00
Roeland Jago Douma
52826d0e24 Block group sharing in API and in share manager
* Fix tests
2016-03-22 17:13:34 +01:00
Joas Schilling
dcca20a48a Save the query when we get tags for no objects 2016-03-22 11:13:11 +01:00
Robin Appelman
0b0b3253bb properly use fileinfo objects 2016-03-21 14:20:33 +01:00
Robin Appelman
5e6c905a14 pass the fileinfo to the node if available 2016-03-21 13:53:33 +01:00
Morris Jobke
76455204c0 Inject server root - allows proper testing and separation of concerns 2016-03-18 13:59:44 +01:00
Bjoern Schiessle
5e267589d4 only create and update user specific key if no master key is enabled 2016-03-18 11:06:14 +01:00
Morris Jobke
23c0f4ff5f Read available l10n files also from theme folder
The old behaviour was that only languages could be used for an app
that are already present in the apps/$app/l10n folder. If there is
a themed l10n that is not present in the apps default l10n folder
the language could not be used and the texts are not translated.

With this change this is possible and also the l10n files are
loaded even if the default l10n doesn't contain the l10n file.
2016-03-17 16:15:37 +01:00
Lukas Reschke
676041ba7e Ensure that stored version is at least 1 for cross-storage copy
In case of a move operation from an unencrypted to an encrypted
storage the old encrypted version would stay with "0" while the
correct value would be "1". Thus we manually set the value to "1"
for those cases.

See also https://github.com/owncloud/core/issues/23078
2016-03-16 10:36:15 +01:00
Thomas Müller
f7140294f2 Merge pull request #23157 from owncloud/remove-share-prop-entries
remove old share propagation entries from appconfig
2016-03-15 16:04:17 +01:00
Thomas Müller
27760ae54e Merge pull request #23164 from owncloud/db-connection-precondition-fix
Prevent certain DBs throwing exceptions on same-value updates
2016-03-15 16:03:55 +01:00
Thomas Müller
7b06dd485d Merge pull request #23250 from owncloud/fix-support-for-php7-in-htaccess
Fix several .htaccess and .user.ini related problems
2016-03-15 16:03:18 +01:00
Robin McCorkell
1b2f1cc272 Prevent certain DBs throwing exceptions on same-value updates
A PreconditionNotMetException must only be thrown if explicit
preconditions are specified for setValues(), not if the value is merely
the same as was already in the DB.
2016-03-15 13:02:19 +01:00
Robin Appelman
0aa83511a1 remove old share propagation entries from appconfig 2016-03-15 12:50:22 +01:00
Roeland Jago Douma
1db82073a4 Generate a valid URL for link notification
fixes #23197

* Updated unit test
2016-03-15 11:10:24 +01:00
Lukas Reschke
5278bfe0e4 Add support for custom values in integrity checker 2016-03-15 10:41:17 +01:00
Joas Schilling
2f67aa9bc4 Fix errors in memcached implementation 2016-03-14 12:39:34 +01:00
Robin Appelman
54e750ba78 dont die when we cant save the resized avatar, log instead 2016-03-11 13:44:35 +01:00
Lukas Reschke
dc6789fd5b Explicitly check for port
The setup uses `\OCP\IRequest::getInsecureServerHost` which in some cases can also include a port. This makes the trusted domain check fail thus.

I've decided to add this here that way because adjusting the setup would require parsing the host properly. This is not something that can be done very good in PHP. Check the following example for why `parse_url` is not our friend: https://3v4l.org/k501Z
2016-03-10 22:32:29 +01:00
Roeland Jago Douma
7301b43eb6 Added tests
* Unit tests for OC_Filechunking to verify the isComplete function
* Intergration tests to show that shuffling chunks is all fine
2016-03-07 21:20:13 +01:00
Lukas Reschke
72c8187cbb Keep "encryptedVersion" when calling \OC\Files\View::copy
When calling `\OC\Files\View::copy` we should also keep the version to ensure that the file will always have the correct version attached and can be successfully decrypted.

To test this the following steps are necessary (from https://github.com/owncloud/core/issues/22781#issuecomment-191328982):

1. setup a new ownCloud 9.0 beta2
2. enable encryption
2. upload a docx (5.7MB large)
3. upload the same file again and overwrite the existing file
4. I can download the original file and the first version
5. I restore the first version
6. restored version can no longer be downloaded with the error described above

The manual cache operation in `\OCA\Files_Versions\Storage` is unfortunately necessary since `\OCA\Files_Versions\Storage::copyFileContents` is not using `\OCP\Files\Storage::moveFromStorage` in the case when an object storage is used. Due to the workaround added in 54cea05271 the stream is directly copied and thus bypassing the FS.
2016-03-03 14:15:36 +01:00
Joas Schilling
2a0cda74d4 Use IQueryBuilder::PARAM_* instead of \PDO::PARAM_* 2016-02-29 09:44:40 +01:00
Thomas Müller
6526c122af Merge pull request #22683 from owncloud/fix_22682
Relax rootfolder check
2016-02-29 08:53:58 +01:00
Roeland Jago Douma
b116e80c56 Relax rootfolder check
* Updated unit tests
* Added intergration test
2016-02-26 16:05:32 +01:00
Roeland Jago Douma
bfcdf40a64 Expiration date can only be enforced if default is enabled
If the default expiration date is not enebaled it can not be enforced.

* Added unit tests
2016-02-26 11:38:06 +01:00
Thomas Müller
62d7885c3b Merge pull request #22660 from owncloud/fix_22656
Do not allow sharing of the users root folder
2016-02-26 10:49:12 +01:00
Thomas Müller
0795cc373d Merge pull request #22646 from owncloud/fix_22642
Set default expiration date if none given on share creation
2016-02-26 10:48:21 +01:00
Thomas Müller
cbde4bb92f Merge pull request #22650 from owncloud/fix_hook
Fix verifyExpirationDate passwordSet argument
2016-02-26 09:32:41 +01:00
Roeland Jago Douma
8213d5df4f Do not allow sharing of the root folder
Sharing of the users root folder should not be allowed as it is very
weird UX. Also many of our clients have no proper way of displaying
this.

Added unit test

Also added intergration tests to make sure we won't allow it in the
future.
2016-02-25 20:40:30 +01:00
Roeland Jago Douma
9412f69104 Fix verifyExpirationDate passwordSet argument
Password set should be false if the password is null.

Also updated the unit tests to tests this now.
2016-02-25 15:39:02 +01:00
Thomas Müller
efc966698f Merge pull request #22579 from owncloud/fix_broken_unencrypted_size
Heal unencrypted file sizes at download time (second approach)
2016-02-25 14:34:48 +01:00
Roeland Jago Douma
6d4f80d680 Set default expiration date if none given on share creation
When we create a share for the first time we should set the default
expiration date. If none is given.

Fixes #22642
2016-02-25 14:21:46 +01:00
Thomas Müller
2ec1c738d0 Merge pull request #22573 from owncloud/issue-22568-allow-string-object-ids
Make sure we can store strings as per the interface
2016-02-24 12:15:23 +01:00
Bjoern Schiessle
834b51b83b recalculate unencrypted size if we assume that the size stored in the db is not correct 2016-02-23 15:09:46 +01:00
Joas Schilling
fb8b34bdd0 Allow defining a limit and offset for getObjectIdsForTags 2016-02-23 09:04:15 +01:00
Joas Schilling
24c7f38a00 Make sure we can store strings as per the interface 2016-02-22 15:43:20 +01:00
Thomas Müller
f8677628d4 Merge pull request #22503 from owncloud/issue_22500
When (re-)sharing an incomming federated share set the corrent owner
2016-02-19 16:07:43 +01:00
Thomas Müller
b5281b61ed Merge pull request #22410 from owncloud/fix_22119
Do not copy skeleton on avatar access
2016-02-19 16:06:40 +01:00
Roeland Jago Douma
2dcf887cce When (re-)sharing an incomming federated share set the corrent owner
Incomming federated shares are a special kind. We mount them as normal
webdav shares but we do supply owner info with the federated cloud id of
the share owner.

Since we do not yet have the new resharing behaviour on federated shares
we need to set the correct owner. Which will allow sharing and proper
mounting for other users.

fixes #22500
2016-02-19 12:43:03 +01:00
v1r0x
ec6e8c1ab6 fix unit test 2016-02-18 12:39:19 +01:00
Thomas Müller
c6fef52939 Merge pull request #22416 from owncloud/fix_22402
Return proper error string if sharing for this user is disabled
2016-02-16 13:37:22 +01:00
Thomas Müller
d5226c88ac Merge pull request #22338 from owncloud/fix_22247
Allow more characters in filenames
2016-02-16 13:37:07 +01:00
Roeland Jago Douma
ed6843e87b Return proper error string if sharing for this user is disabled
Fixes #22402
2016-02-16 10:22:49 +01:00
Roeland Jago Douma
47d28155a8 Do not copy skeleton on avatar access
Fixes #22119

Just try to get the folder of the user. If it is not there a
NotFoundException will be thrown. Which will be handled by the avatar
endpoint.
2016-02-16 09:18:38 +01:00
Morris Jobke
7048d428b1 Remove unneeded parameter from OC_App::getEnabledApps 2016-02-15 13:33:07 +01:00
Thomas Müller
248c571c56 Merge pull request #22331 from owncloud/dav-nonexisting-part
fix getNodeForPath for non existing part files
2016-02-13 18:24:00 +01:00
Thomas Müller
207c09c511 Merge pull request #22309 from owncloud/infinite-recursion-on-expired-link
Do not getShare in deleteShare, it's already there when deleting
2016-02-12 11:11:26 +01:00
Thomas Müller
e99c4d83dc Merge pull request #22317 from owncloud/fix_invisible_linkshares
Do not allow invisible link shares
2016-02-12 11:10:58 +01:00
Roeland Jago Douma
759b19775d Fix unit tests 2016-02-12 07:49:36 +01:00
Robin Appelman
c3e4ced64a fix getNodeForPath for non existing part files 2016-02-11 17:22:40 +01:00
Roeland Jago Douma
4533cb9c59 Add parent for invisible link shares 2016-02-11 13:29:23 +01:00
Joas Schilling
8cfdc62eae Update info checker requirements 2016-02-11 11:54:13 +01:00
Roeland Jago Douma
2aa206e900 Fix unit tests 2016-02-11 11:21:12 +01:00
Björn Schießle
9bb97c714b fixing unit tests 2016-02-09 23:43:26 +01:00
Thomas Müller
29f6f451a9 Merge pull request #22192 from owncloud/fix_19685
Only set the default expiration date on share creation
2016-02-09 23:38:00 +01:00
Thomas Müller
2982017682 Merge pull request #22228 from owncloud/comments-limit-message
Limit comment message to 1k chars
2016-02-09 16:35:23 +01:00
Roeland Jago Douma
ee65cd0bd8 Only set the default expiration date on share creation
Fixes #19685

The default expiration date should only be set when we create a new
share. So if a share is created and the expiration date is unset. And
after that the password is updated the expiration date should remain
unset.
2016-02-09 11:05:14 +01:00
Arthur Schiwon
347ad3e223 Limit comment message to 1k chars 2016-02-09 03:14:30 +01:00
Arthur Schiwon
cd00751de5 Send events when enabling and disabling of apps 2016-02-09 02:51:12 +01:00
Roeland Jago Douma
fad85ad19f Fix unit tests 2016-02-08 11:30:48 +01:00
Roeland Jago Douma
8486d61764 getSharesBy should also expire link shares 2016-02-06 13:31:54 +01:00
Roeland Jago Douma
3028ec5440 Delete expired share when fetched by id 2016-02-06 13:31:54 +01:00
Roeland Jago Douma
5ed56d9edb Delete a link share if it is expired on access
If we access a link share we should check if it has expired already.
If so we should remove it and throw a ShareNotFound exception
2016-02-06 13:31:54 +01:00
Thomas Müller
5832178f59 Merge pull request #22139 from owncloud/comments-files-cleanup
cleanup jobs for comments and comment read marks
2016-02-06 13:26:00 +01:00
Joas Schilling
065141f6f4 Move casting to IExpressionBuilder 2016-02-05 21:26:30 +01:00
Robin Appelman
fb76d7de69 remove unused Storage->getLocalFolder 2016-02-05 16:48:08 +01:00
Roeland Jago Douma
169874957a Path should be relative 2016-02-04 19:19:10 +01:00
Roeland Jago Douma
b57aac0a89 [Share 2.0] Add missing post_update_permissions hook 2016-02-04 19:18:25 +01:00
Thomas Müller
d8faeab421 Merge pull request #21766 from farukuzun/master
Add some mimetypes
2016-02-04 16:49:31 +01:00
Thomas Müller
1619968a03 Merge pull request #22111 from owncloud/use-intermediate-certificate
Use intermediate root authority + sign other release channels
2016-02-04 16:17:47 +01:00
Roeland Jago Douma
0f22a8db1d Also add type (file/folder) to IShare object
We need this for the hooks :(
2016-02-04 14:28:09 +01:00
Roeland Jago Douma
2c0cb5a00e Unit test for delete lazy shares 2016-02-04 13:30:42 +01:00
Roeland Jago Douma
e0bc128eb5 Add unit tests 2016-02-04 13:05:05 +01:00
Roeland Jago Douma
fc215d0980 Make the share object lazy
Share providers can now just pass in a fileId. And the node will only be
created once needed.
2016-02-04 12:51:23 +01:00
Faruk Uzun
6ffd8f3e0d Introduce some mimetypes for richdocuments
* application/vnd.lotus-wordpro
* application/vnd.visio
* application/vnd.wordperfect
* application/msonenote
2016-02-04 13:48:21 +02:00
Thomas Müller
b594aa18ee Merge pull request #22110 from owncloud/comment-types-always-plural
types shall always be plural
2016-02-04 10:55:49 +01:00
Lukas Reschke
5f300ac275 Allow specifing the signing path 2016-02-03 20:08:40 +01:00
Arthur Schiwon
9370491822 types shall always be plural 2016-02-03 19:28:15 +01:00
Roeland Jago Douma
96662c4d0d [Share 2.0] Fix shareManager 2016-02-03 19:25:29 +01:00
Roeland Jago Douma
eb904c7aa9 [Share 2.0] Fix defaultshare provider 2016-02-03 19:25:29 +01:00
Thomas Müller
74abbbc0d6 Merge pull request #22098 from owncloud/cleanup-core-apps
Cleanup core apps
2016-02-03 14:17:10 +01:00
Joas Schilling
599eb141b4 Make sure tests don't leave a stray directory behind 2016-02-03 12:57:22 +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
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
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
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
d3e79f3bb6 Add Unit tests 2016-01-30 15:40:35 +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
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
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
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
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
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
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
Joas Schilling
2563c3ffaf Fix failing oracle and postgres tests 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
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
Roeland Jago Douma
d11682dcb4 Fix comments from Thomas 2016-01-26 15:31:52 +01:00
Joas Schilling
7514695399 Fix Oracle comparisons 2016-01-26 14:56:07 +01:00
Joas Schilling
bd444ae3c3 Add tests for clob comparisons 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
f413b3ff3a Add tests for findAvailableLanguages 2016-01-26 14:02:32 +01:00
Joas Schilling
70396581eb Add tests for findLanguage() 2016-01-26 14:02:32 +01:00
Joas Schilling
fe411788b7 Remove tests for wrapper 2016-01-26 14:02:31 +01:00
Joas Schilling
b24b198a83 Add tests for the factory 2016-01-26 14:02:31 +01:00
Joas Schilling
8f9cc51559 Add tests for the new l10n class 2016-01-26 14:02:31 +01:00
Joas Schilling
1199619518 Move legacy test file to new location 2016-01-26 14:02:31 +01:00
Joas Schilling
2cb26a9151 Fix the tests 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
Roeland Jago Douma
44c073b1e6 [share 2.0] manager unit tests 2016-01-26 13:59:58 +01:00
Roeland Jago Douma
59c2aae54f [Share 2.0] Fix unit tests 2016-01-26 13:59:58 +01:00
Roeland Jago Douma
7239fea0f0 [Share 2.0] Add unit test for the default share provider 2016-01-26 13:59:58 +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
Thomas Müller
a1ca9de0f5 Trigger change on avatar delete 2016-01-25 20:56:04 +01:00
Thomas Müller
68ef6e1bdd Assert that User::triggerChange is called upon avatar change 2016-01-25 20:05:11 +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
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
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
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
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
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
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
Roeland Jago Douma
9b5ea18ce5 Add Unit tests for the default share provider 2016-01-21 16:06:12 +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
Roeland Jago Douma
88bc8634d2 Add Unit tests 2016-01-20 21:56:55 +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
99415a9f7f multiple minor fies 2016-01-20 16:32:52 +01:00
Robin Appelman
222e719c87 sort in tests 2016-01-20 16:30:22 +01:00
Robin Appelman
8940429976 log duplicates 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
aeb89947a2 Introduce IUser::setEMailAddress and add hook mechanism 2016-01-20 14:57:20 +01:00
Roeland Jago Douma
7a946a05f5 Properly DI the servercontainer 2016-01-20 08:33:36 +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
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
7ba715d144 fix test 2016-01-18 12:08:58 +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
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
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
Robin Appelman
d2c579e167 fix quota wrapper 2016-01-14 12:54:42 +01:00
Robin Appelman
62d383e1ba fix tests 2016-01-14 12:54:42 +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
Morris Jobke
64c8427d81 Improved error message for failing background job 2016-01-14 09:49:40 +01:00
Roeland Jago Douma
4cc2230c58 [Share 2.0] Fix pre_share and post_share hooks 2016-01-13 21:56:04 +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
Lukas Reschke
0c65f4b2c6 Fix unit test
No idea why they passed locally before as well on the branch on the PR. Scary...
2016-01-13 11:22:44 +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
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
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
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
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
Roeland Jago Douma
3c8f4784e9 Inject DBConnection
* Use query builder
* Minor unit tests additions
2016-01-12 08:24:08 +01:00
Roeland Jago Douma
07fd3889b1 Fix unit tests 2016-01-11 20:29:48 +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
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
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
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
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
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
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
604897945b Move lib/repair to lib/private/repair 2016-01-07 09:14:35 +01:00
Roeland Jago Douma
1358e5dcd9 [Sharing 2.0] Some error cases report 404 instead of 403 2016-01-06 15:25:29 +01:00
Roeland Jago Douma
26280e1f19 [Sharing 2.0] Add L10N instance to manager for translated errors 2016-01-06 14:53:43 +01:00
Roeland Jago Douma
b15be8f96f [Share 2.0] Make the share manager ready for share creation 2016-01-06 14:53:43 +01:00
Roeland Jago Douma
a08c497808 [Share 2.0] Make share provider ready for create shares 2016-01-06 14:53:43 +01:00
Lukas Reschke
836e96a95e Assign DB group for unit tests 2016-01-04 15:09:01 +01:00
Lukas Reschke
fec41e7539 Move regeneration of session ID into session classes
There were code paths that nowadays call ISession::login directly thus bypassing the desired regeneration of the session ID. This moves the session regeneration deeper into the session handling and thus ensures that it is always called. Furthermore, I also added the session regeneration to the remember me cookie plus added some test case expectations for this.
2016-01-04 15:09:01 +01:00
Thomas Müller
24271cf953 Merge pull request #21216 from owncloud/fopen-statcache
Clear SMB statcache after fopen
2015-12-28 10:21:26 +01:00
Roeland Jago Douma
b2df7b6b8a Fix unit test 2015-12-24 09:20:26 +01:00
Bernhard Posselt
23c754aed3 prefer scalar type hints over phpdoc annotation
use method exists lookup to be safe and not break on old hhvm versions

add test that checks if type hint is preferred over annotation
2015-12-24 09:20:26 +01:00
Vincent Petry
d7169ffdec Restore DB connection after failure
In case of failure, PHPUnit seems to skip `tearDown`, so any useful
assertion messages cannot be shown because `tearDownAfterClass` is
throwing an error because of database usage.

This commit makes sure we also restore the database in
`tearDownAfterClass` to prevent the data root restoration to fail
2015-12-21 18:14:29 +01:00
Thomas Müller
0b913f00c7 Merge pull request #21289 from owncloud/issue-20399-keep-periodic-background-jobs
Do not delete background jobs, in case an exception occured
2015-12-21 09:47:07 +01:00
Thomas Müller
6cdaf754b2 Merge pull request #21290 from owncloud/public-api-usage-getversion
Use OCP\Util::getVersion instead of the internal private implementation
2015-12-18 16:07:01 +01:00
Morris Jobke
ed98cdf532 Use OCP\Util::getVersion instead of the internal private implementation 2015-12-18 15:26:54 +01:00
Thomas Müller
36cc0528e3 Merge pull request #21288 from owncloud/deprecated_helper_mimetypes
Remove deprecated OC_Helper mimetype functions
2015-12-18 15:23:05 +01:00
Joas Schilling
54558bb5b2 Fix the test to expect the new behaviour 2015-12-18 15:05:32 +01:00
Thomas Müller
a743047e82 Merge pull request #21283 from owncloud/cleanup_config
Cleanup OC_Config mess
2015-12-18 14:54:38 +01:00
Thomas Müller
50e8773307 Merge pull request #21280 from owncloud/drop-unused-methods
OC_Helper::makeURLAbsolute is not used anymore
2015-12-18 14:49:55 +01:00
Thomas Müller
22d1b1285e Merge pull request #21277 from owncloud/querybuild-joblist
Use the query builder for the joblist queries
2015-12-18 13:44:02 +01:00
Roeland Jago Douma
a54be132fc Removed deprecated unsused function OC_Helper::getStringMimeType 2015-12-18 13:43:44 +01:00
Roeland Jago Douma
4f20e3bac0 Removed deprecated OC_Helper::getSecureMimeType 2015-12-18 13:42:59 +01:00
Morris Jobke
450e2f3bd3 Move OC_Helper code to OCP\Util for linkToRemote 2015-12-18 12:00:18 +01:00
Roeland Jago Douma
0a09004d39 Inject Config into SystemConfig 2015-12-18 11:53:41 +01:00
Morris Jobke
e42f262d85 properly use OCP\Util instead of OC_Helper 2015-12-18 11:46:21 +01:00
Morris Jobke
3d55569a27 OC_Helper::makeURLAbsolute is not used anymore 2015-12-18 11:37:18 +01:00
Morris Jobke
a18c0983d5 Use TempManager instead of tmpFile 2015-12-18 11:25:33 +01:00
Morris Jobke
90b0831cec Use TempManager instead of tmpFolder 2015-12-18 11:19:53 +01:00
Thomas Müller
9e97bef935 Merge pull request #21268 from owncloud/cleanup-OC_Helper-getFileNameMimeType
Use proper public API for OC_Helper::getFileNameMimeType
2015-12-18 10:15:33 +01:00
Thomas Müller
551e553bf4 Merge pull request #21264 from owncloud/deprecated_oc_user_methods
Cleanup OC_User deprecated methods
2015-12-18 10:15:18 +01:00
Joas Schilling
345e68cafa Use the query builder for the joblist queries 2015-12-18 09:50:23 +01:00
Thomas Müller
2709244acd Only perform tearDown operations on the database if we have a connection to it ..... 2015-12-17 17:29:50 +01:00