Commit graph

3013 commits

Author SHA1 Message Date
Jörn Friedrich Dreyer
4445ef82e0 Test locking with strange filename 2016-04-05 16:13:28 +02:00
Roeland Jago Douma
e0cee43cf0 Migrate post_userDelete hook to share manager
This makes the post_userDelete hook call the sharemanager. This will
cleanup to and from this user.

* All shares owned by this user
* All shares with this user (user)
* All custom group shares
* All link share initiated by this user (to avoid invisible link shares)

Unit tests are added for the defaultshare provider as well as the
federated share provider
2016-04-04 14:15:38 +02:00
Frank Karlitschek
2bff34be56 Merge pull request #23707 from owncloud/make-sure-that-encrypted-version-is-set
Make sure that the encrypted version is set
2016-03-31 20:37:17 +02:00
Frank Karlitschek
fdb59079a2 Merge pull request #23675 from owncloud/fix_encryption_versions_on_external_storages
fix creation of versions of encrypted files on external storages
2016-03-31 20:36:03 +02:00
Bjoern Schiessle
93ed965cbb fix creation of versions of encrypted files on external storages
in order to create a 1:1 copy of a file if a version gets created
we need to store this information on copyBetweenStorage(). This
allows us to by-pass the encryption wrapper if we read the source file.
2016-03-31 19:24:47 +02:00
Lukas Reschke
c427bf3b5d Make sure that the encrypted version is set
The code path called when using external storage with WebDAV is using `\OC\Files\Storage\Wrapper\Encryption::getMetaData` which did not contain the actual encrypted version inside the cache entry version. This lead to the following:

1. User uploaded a file
2. File is created and `\OC\Files\Storage\Wrapper\Encryption::getMetaData` is called. It has an empty `encryptedVersion` but sets `encrypted` to either `true` or `false`.
3. The call when updating the file cache will use the old version.
2016-03-31 18:06:37 +02:00
Roeland Jago Douma
8da48a4482 Add unit tests
Add some unit tests for setting the internal id and the provider id
2016-03-30 23:08:35 +02:00
Roeland Jago Douma
2f4294e781 Add setId and setProviderID to the public interface
Fixes #23337

We only allow the id to be set once!
2016-03-30 22:55:03 +02:00
Thomas Müller
66ee9d56fc Merge pull request #23628 from owncloud/avatar-remove
only remove avatars from the folder we store them in
2016-03-30 17:00:09 +02:00
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
Thomas Müller
262ec35d50 Merge pull request #23017 from owncloud/first-stop-the-dockers
docker containers should be stopped before being removed - refs https…
2016-03-10 10:58:20 +01:00
Thomas Müller
cf3cb4d75e docker containers should be stopped before being removed - refs https://github.com/docker/docker/issues/18758 2016-03-09 14:02:08 +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
C. Montero Luque
745fdc4800 Merge pull request #22742 from owncloud/ceph-keystone-readiness
Use readiness notification socket to be absolutely sure this works
2016-03-01 13:34:23 -05:00
Morris Jobke
3682a4220c local entrypoint.sh isn't needed - all fixes are upstream 2016-03-01 13:54:46 +01:00
Morris Jobke
4943a0326d Use sockets for startup notification in primary storage tests 2016-03-01 10:45:48 +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
Lukas Reschke
0e19c6a3a0 Fix formatting of response
The elements are expected to be within a `service` array as per specification.
2016-02-25 19:05:05 +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
Thomas Müller
9a0950f10b Merge pull request #22569 from owncloud/issue-22566-too-much-mapping-entries
Allow defining a limit and offset for getObjectIdsForTags
2016-02-23 15:02:08 +01:00
Thomas Müller
59acc53483 Merge pull request #22551 from owncloud/make-exceptions-easier-to-debug
Throw normal exceptions instead of eating them
2016-02-23 10:23:03 +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
Roeland Jago Douma
fe08b5e9d9 We should check for exceptions when trying to get the avatar
Fixes #22550

* Updated phpdoc of avatatmanager
* Add unit test
2016-02-22 10:14:14 +01:00
Lukas Reschke
6c96b3d07f Throw normal exceptions instead of eating them
Partially addresses https://github.com/owncloud/core/issues/22550

Replaces https://github.com/owncloud/core/pull/20185
2016-02-22 09:41:56 +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
4b376305e9 Fix coverage reporting 2016-02-16 14:21:28 +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
198d234068 Merge pull request #22345 from owncloud/make-note-if-appcodechecker-is-not-enabled
Add note if integrity check is disabled
2016-02-13 18:24:26 +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
Lukas Reschke
4b90429178 Add note if integrity check is disabled
Our issue template states that users should post the output of `/index.php/settings/integrity/failed`, at the moment it displays that all passes have been passed if the integrity checker has been disabled.

This is however a wrong approach considering that some distributions are gonna package Frankenstein releases and makes it harder for us to detect such issues. Thus if the integrity code checker is disabled (using the config switch)  it displays now: `Appcode checker has been disabled. Integrity cannot be verified.`

This is not displayed anywhere else in the UI except these URL used for us for debugging purposes.
2016-02-12 11:11:39 +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
Thomas Müller
fe9215adf6 Merge pull request #22314 from owncloud/fix-mariadb-autotest
Wait until mariadb is up and running
2016-02-11 18:51:58 +01:00
Robin Appelman
c3e4ced64a fix getNodeForPath for non existing part files 2016-02-11 17:22:40 +01:00
Thomas Müller
dfe267424f Merge pull request #22315 from owncloud/update-info-checker-requirements
Update info checker requirements
2016-02-11 14:31:47 +01:00
Thomas Müller
6b635044a7 Use official mariadb docker 2016-02-11 14:17:17 +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
Thomas Müller
8b165c5ed5 No longer evaluate appinfo/version 2016-02-10 17:24:14 +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
C. Montero Luque
962d0c3290 Merge pull request #22252 from owncloud/consolidate-user-set-quota
Consolidate getQuota and setQuota methods in User instance
2016-02-09 22:00:24 +01:00
Arthur Schiwon
ef7846f7bd fix tests 2016-02-09 17:37:13 +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
Thomas Müller
a6ade67dfb Merge pull request #22197 from owncloud/files-filterbysystemtags
Add file list filter to filter by system tags
2016-02-09 13:31:00 +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
Vincent Petry
e378a757ff Add system tags filter section for files app 2016-02-09 10:59:29 +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
2f6ffdbce5 Added tests for used parts 2016-02-08 11:30:48 +01:00
Roeland Jago Douma
fad85ad19f Fix unit tests 2016-02-08 11:30:48 +01:00
Bjoern Schiessle
9079388e02 implementation of the federated share provider 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