Commit Graph

5638 Commits

Author SHA1 Message Date
Roeland Douma 495a964ca2 Migrate post_groupDelete hook to share manager (#23841)
The hook now calls the share manager that will call the responsible
shareProvider to do the proper cleanup.

* Unit tests added

Again nothing should change it is just to cleanup old code
2016-04-12 09:46:25 +02:00
Roeland Douma 4ddf9f98f1 Don't calculate permissions twice (#23917)
There is no need to calculate the permissions twice.
Saves some is_dir and file_exists calls.
2016-04-12 09:45:59 +02:00
Joas Schilling 8e16e7bf34 Merge pull request #23856 from owncloud/share_remove_addtogroup_hooks
Remove pre/post_addToGroup hooks for shares
2016-04-11 15:05:20 +02:00
Morris Jobke ddbb9b7ec4 Catch the AutoloadNotAllowedException also for legacy jobs (#23901)
* same as #18839 for legacy jobs
* avoids spamming the log with useless entries
2016-04-11 14:06:11 +02:00
Joshua Ruehlig 329849f2c2 To be safe don't unload until end (#23752)
* To be safe don't unload until end

* unlink needs to be before return to actually do anything
2016-04-11 14:04:57 +02:00
Morris Jobke 929a28421a Merge pull request #23798 from owncloud/federated-unshare-background-job
re-try to send unshare notification if remote server is not available
2016-04-11 11:13:00 +02:00
Thomas Müller bab55141a6 Fixes #23899 2016-04-11 10:35:52 +02:00
Thomas Müller e2c4a0cecd Merge pull request #23860 from owncloud/followup-23304-opening-empty-file
Correctly return an empty string for empty files
2016-04-11 10:08:24 +02:00
Thomas Müller 1d3d43b1e9 Merge pull request #23553 from owncloud/lock-ttl-execution-time
Make lock ttl configurable
2016-04-08 14:53:26 +02:00
Thomas Müller 53acb4a65f Merge pull request #23736 from owncloud/move_public_webdav_auth_to_share_manager
Move public webdav auth to share manager
2016-04-08 14:52:15 +02:00
Joas Schilling 178ad23d80
Correctly return an empty string for empty files 2016-04-08 14:50:42 +02:00
Roeland Jago Douma bd3bde2f3b
Set proper permissions on link share
If we do not allow public upload we should limit the permissions on
links shares upon retrieval.

* Added unit test
* Allow fetching federated shares by token as well
2016-04-08 14:17:05 +02:00
Roeland Jago Douma 3fae4c82d2
Remove pre/post_addToGroup hooks for shares
There is no need to perform the checks for unique targets on add to
group as we have to do this all when mounting the shares anyway.
2016-04-08 11:56:38 +02:00
Bjoern Schiessle fbd5c28c39 re-try to send unshare notification if remote server is not available 2016-04-08 11:32:04 +02:00
Stefan Weil b1a856d7b7 lib: Fix typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-07 19:51:27 +02:00
Joas Schilling 0de15a86f0 Merge pull request #23773 from owncloud/share_move_delete_user_hook
Migrate post_userDelete hook to share manager
2016-04-07 13:01:10 +02:00
Robin Appelman cdedda99e4 Make lock ttl configurable 2016-04-07 08:24:13 +02:00
Lukas Reschke cc5a2b549e
Replace getid3 with ID3Parser 2016-04-06 12:00:16 +02:00
Morris Jobke 046506dd14 Merge pull request #23763 from owncloud/do_not_export_share_type_2
Share type 2 is private
2016-04-06 09:40:13 +02:00
Thomas Müller 60f532882c Merge pull request #23794 from owncloud/handle-null-in-usermanager
Prevent null to be passed into the closure of callForAllUsers
2016-04-05 17:57:39 +02:00
Thomas Müller 64d400b5df Prevent null to be passed into the closure of callForAllUsers 2016-04-05 10:26:04 +02:00
Jan-Christoph Borchardt 73a6664ca8 load mobile styles last, fix #19596 2016-04-05 09:47:39 +02:00
Thomas Müller 961bb4c3e3 Merge pull request #23677 from owncloud/db-schema-migration-feedback
Show individual sql schema migration steps during upgrade - on web as…
2016-04-05 09:39:35 +02:00
Morris Jobke 6ecd1d9e86 Fix PHP memory leak in file_get_contents()
* ref https://bugs.php.net/bug.php?id=61961

* ref https://github.com/owncloud/core/issues/20261#issuecomment-180000256

* code is based on the proposal of @chriseqipe

* fixes #20261
2016-04-04 16:48:09 +02:00
Thomas Müller 4b79fb10a2 Fix verbose output of upgrade command - not progressbar in this case and the schema migration test has one progressbar now for all tables - before we had one progressbar for each table 2016-04-04 16:20:53 +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
Thomas Müller f6cea3c9c4 Merge pull request #23557 from owncloud/sabre-plugin-browser-error-page
In case of exception we return an html page in case the client is a b…
2016-04-04 13:51:23 +02:00
Thomas Müller 1bf4c75e8b Show individual sql schema migration steps during upgrade - on web as well as on the command line 2016-04-04 12:34:18 +02:00
Thomas Müller 64d68eb2da Merge pull request #23722 from owncloud/also-hide-password-for-private-key-password-update
Also replace password in updatePrivateKeyPassword
2016-04-04 10:54:59 +02:00
Roeland Jago Douma d3959ee152 Share type 2 is private
This was added to the factory for legacy reasons when converting from
old to new sharing code. It is not used anymore so can be deleted. Which
means we no longer expose internal types.
2016-04-04 09:00:06 +02:00
Lukas Reschke a5f2f22c12 Sanitize more data in config report
This sanitizes the following keys as well:

- `proxyuserpwd`
- `shared_secret` of `log.condition`
- `license-key`
- `password` of `redis`
2016-04-01 13:03:34 +02:00
Lukas Reschke 09b14ceffc Also replace password in updatePrivateKeyPassword
Fixes https://github.com/owncloud/core/issues/23717
2016-04-01 10:32:23 +02:00
Joas Schilling 0235a79b4e Initialise the printcss array 2016-04-01 09:46:15 +02:00
Thomas Müller 2714dfce21 Merge pull request #23713 from owncloud/small_encryption_fix
make sure that we always remove the file again from the cache after t…
2016-03-31 23:13:52 +02:00
Morris Jobke 902abe33f5 Merge pull request #23676 from owncloud/handle-null-return-getAppInfo
Properly handle return values of OC_App::getAppInfo()
2016-03-31 22:21:50 +02:00
C. Montero Luque 0393e80c7c Merge pull request #16857 from owncloud/printStylesheets
Support for print stylesheets
2016-03-31 22:13:44 +02:00
Bjoern Schiessle e4b451491b make sure that we always remove the file again from the cache after the version was created 2016-03-31 21:52:23 +02:00
Frank Karlitschek f5709b511b Merge pull request #23445 from owncloud/enc_small_improvement
small performance improvement: no need to calculate the header size
2016-03-31 20:38:42 +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
Morris Jobke f5beeec833 Properly handle return values of OC_App::getAppInfo()
* fixes #23668
2016-03-30 23:29:26 +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
Thomas Müller 748a59db11 Merge pull request #23654 from owncloud/issue-23653-xcache-detection-fails
xcache.var_size with 64M should evaluate to isAvailable
2016-03-30 16:57:02 +02:00
Joas Schilling f1c23a92a4 xcache.var_size with 64M should evaluate to isAvailable 2016-03-30 14:54:56 +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 37d32a93d0 Merge pull request #23543 from owncloud/issue-23503-activity-emails-always-short
Fix activity emails always using the short translation
2016-03-29 18:44:16 +02:00
C. Montero Luque 4123185d2d Merge branch 'master' into background-scan-unscanned 2016-03-25 13:14:35 +01:00
Thomas Müller b966fc2233 Merge pull request #23545 from owncloud/issue-17144-lock-mount-point-on-removal
Lock the mountpoint while removing
2016-03-24 22:43:46 +01: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
Lukas Reschke 95820fbd5b Add magical regex to catch browsers 2016-03-24 19:02:16 +01:00
Thomas Müller c46f480031 In case of exception we return an html page in case the client is a browser 2016-03-24 19:02:16 +01:00
Robin Appelman 6485d95c5a handle completely unscanned storages in the background scanner 2016-03-24 17:16:21 +01:00
Jörn Friedrich Dreyer c3508df09a add missing var 2016-03-24 12:49:43 +01:00
Thomas Müller 789df4d630 Merge pull request #23542 from owncloud/catch-empty-app-path-oh-we-really-should-use-exceptions-in-the-future
getAppPath can return false
2016-03-24 11:56:43 +01:00
Joas Schilling 3d9863febc Lock the mountpoint while removing 2016-03-24 11:50:17 +01:00
Joas Schilling c0858f42aa Allow the activity app to set the current user when sending emails 2016-03-24 09:36:44 +01:00
Joas Schilling dad98542a5 We are only formatting an object when it's not null 2016-03-24 09:34:19 +01:00
Lukas Reschke 117b3e0a12 getAppPath can return false
Fixes https://github.com/owncloud/core/issues/23533
2016-03-24 09:19:43 +01:00
Lukas Reschke cc8c0b6a90 Check if request is sent from official ownCloud client
There are authentication backends such as Shibboleth that do send no Basic Auth credentials for DAV requests. This means that the ownCloud DAV backend would consider these requests coming from an untrusted source and require higher levels of security checks. (e.g. a CSRF check)

While an elegant solution would rely on authenticating via token (so that one can properly ensure that the request came indeed from a trusted client) this is a okay'ish workaround for this problem until we have something more reliable in the authentication code.
2016-03-24 08:59:56 +01:00
Thomas Müller 6fc92453f3 Merge pull request #23515 from owncloud/issue-22695-wrong-menu-translations
Fix the translations of the User menu
2016-03-23 23:20:00 +01:00
Joas Schilling 6026b67280 Fix the translations of the User menu 2016-03-23 15:34:25 +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 e9d62741e8 Merge pull request #23142 from owncloud/request_properties
Fix analyzer warnings in request.php
2016-03-23 11:03:37 +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
Thomas Müller 61c5717281 Merge pull request #23463 from owncloud/lets-consistently-use-no-referer
Consistently use rel=noreferrer
2016-03-23 09:14:54 +01:00
Thomas Müller abcee56fe3 Merge pull request #23474 from owncloud/RealRancor-exclude_lost_and_found
Exclude lost+found dir in integrity check
2016-03-23 08:05:27 +01:00
Roeland Jago Douma e6dc80f0f3 Fix warning in request.php
* Added proper @property tags
* RunTimeException => RuntimeException

Makes code analyzers happier
2016-03-23 07:59:20 +01:00
Roeland Jago Douma da1dbb52e4 Remove dead function
This was used when we did not have lazy shares yet. Now that we no
longer support legacy shares this can go.
2016-03-23 07:58:17 +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
Thomas Müller d5be21fe81 Merge pull request #23398 from owncloud/block_group_sharing
Allow blocking of group sharing
2016-03-22 21:28:13 +01:00
Lukas Reschke 1fffc30cf0 Only use the user session if ownCloud is already installed
When installing ownCloud with autotest and MySQL some log entries may be created which will invoke the logging class. IUserSession has a dependency on the database which will make the installation fail => 💣
2016-03-22 17:34:20 +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
Roeland Jago Douma 195efc12eb Add config to sharemanager 2016-03-22 17:13:34 +01:00
Thomas Müller 6aa28037c7 Merge pull request #23437 from owncloud/save-query-when-the-list-is-empty
Save the query when we get tags for no objects
2016-03-22 17:12:24 +01:00
Thomas Müller ffe57a55d9 Merge pull request #23461 from owncloud/activity-491-autoloading-issue-without-sharing
Fix "AutoloadNotAllowedException" when files_sharing is disabled
2016-03-22 15:12:25 +01:00
Thomas Müller 0cd93a8e72 Merge pull request #23411 from owncloud/new_sharing_to_composer
Move sharing 2.0 to composer autoloader
2016-03-22 15:10:11 +01:00
Lukas Reschke 5d170e0505 Merge branch 'exclude_lost_and_found' of https://github.com/RealRancor/core into RealRancor-exclude_lost_and_found 2016-03-22 12:58:14 +01:00
Joas Schilling dcca20a48a Save the query when we get tags for no objects 2016-03-22 11:13:11 +01:00
Thomas Müller 7426be0937 Merge pull request #23448 from owncloud/issue-22993-soften-exception-on-enable-default-app
Do not abort with an exception when a default app can not be enabled
2016-03-22 10:19:59 +01:00
Thomas Müller da8781e425 Merge pull request #23443 from owncloud/some-more-logging-information
Log more information by default
2016-03-22 10:06:32 +01:00
Joas Schilling 24ce4b0f7d Fix "AutoloadNotAllowedException" when files_sharing is disabled 2016-03-22 08:42:25 +01:00
Thomas Müller 61629ad9ad Merge pull request #23424 from owncloud/fix-cachewrapper-doc-issue
Fix doc issue of cache wrapper
2016-03-21 18:03:35 +01:00
Joas Schilling 444343dc2b Do not abort with an exception when a default app can not be enabled 2016-03-21 16:31:59 +01:00
Lukas Reschke 7adae4476f Log more information by default
This modifies the logger to add the following logging information by default:

- Request Method
- Request URL
- Current user
2016-03-21 15:48:01 +01:00
Bjoern Schiessle 7b9d53b7ea no need to calculate the header size, if the first block contain a header we already know the size 2016-03-21 15:47:24 +01:00
Vincent Petry f28f538029 Do not fire pre/post hooks twice on chunk upload 2016-03-21 15:14:58 +01:00
Robin Appelman 0b0b3253bb properly use fileinfo objects 2016-03-21 14:20:33 +01:00
Robin Appelman 6031ae1ad4 improve reuse in getUserFolder 2016-03-21 13:53:33 +01:00
Robin Appelman 5e6c905a14 pass the fileinfo to the node if available 2016-03-21 13:53:33 +01:00
Robin Appelman a98b038300 Query the cache when checking if a node exists 2016-03-21 13:53:33 +01:00
Joas Schilling e86fd945dd Fix doc issue of cache wrapper 2016-03-21 10:45:53 +01:00
Thomas Müller 16782484b9 Merge pull request #23349 from owncloud/hardenings
Hardenings
2016-03-21 09:45:05 +01:00
Lukas Reschke 6ad957906e Consistently use rel=noreferrer
When linking to external entities we should consistently use rel=noreferrer
2016-03-20 15:27:20 +01:00
Roeland Jago Douma c6edbfecbe Move (new) sharing over to composer autoloader 2016-03-20 14:12:36 +01:00
RealRancor dee0bbbbce Exclude lost+found dir in integrity check 2016-03-19 14:08:21 +01:00
Morris Jobke 76455204c0 Inject server root - allows proper testing and separation of concerns 2016-03-18 13:59:44 +01:00
Lukas Reschke e867a7d54d Write .htaccess update only if not already written
The ownCloud update routine also runs the "updateHtaccess" code in case only an application gets updated. This leads to having entries multiple time in the .htaccess file leading to unpredictable behaviour.

With 9.0 we added the "#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####" entry to the .htaccess file, this change uses it to ensure that only to the .htaccess gets written if the file has not been modified already. Since the .htaccess modifications are optional this is not a big deal.

Without this change updates of applications can break the rewrite rules (ending in endless redirects) as well as breaking the code integrity checker.
2016-03-17 17:59:28 +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 bf017f5c11 Remove unused code
This code is not used anymore.
2016-03-17 13:09:23 +01:00
Lukas Reschke 979a3ff830 Escape App ID
While all callers do this as well this prevents a misuse of the API by mistake.
2016-03-17 13:09:22 +01:00
Manish Bisht 07e7d4836e Update oci.php
Error Fixed

combined the database errors

Merged Database Errors
2016-03-16 19:21:14 +01:00
Thomas Müller 2f5b929ee9 Merge pull request #23108 from owncloud/set-encrypted-version-at-least-to-1
Ensure that stored version is at least 1 for cross-storage copy
2016-03-16 13:14:36 +01:00
Thomas Müller 5f00724e5b Merge pull request #23189 from owncloud/require-at-least-libxml-2-7-0
Require at least libxml 2.7.0
2016-03-16 13:11:59 +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
Thomas Müller ad9a0804f3 Merge pull request #23226 from owncloud/fix_23190
Generate a valid URL for link notification
2016-03-15 12:55:13 +01:00
Robin Appelman 0aa83511a1 remove old share propagation entries from appconfig 2016-03-15 12:50:22 +01:00
Thomas Müller 0f6ea9fd29 Merge pull request #23039 from owncloud/invalid-share-storage
dont break when there is an invalid share
2016-03-15 12:15:05 +01:00
Thomas Müller e9eeb3607f Merge pull request #23074 from owncloud/issue-22835-correctly-use-querybuilder-api
Correctly escape join statements and use selectAlias
2016-03-15 12:14:17 +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
Lukas Reschke c7abd307c0 Replace all required values 2016-03-15 10:41:17 +01:00
Lukas Reschke 0b0077e62d Revert "Removed unnecessary check 'installed' system value' call." 2016-03-15 10:23:40 +01:00
Thomas Müller 9657f9a01b Merge pull request #23171 from maxolasersquad/master
Removed unnecessary check 'installed' system value' call.
2016-03-14 17:18:36 +01:00
Thomas Müller a058bb0d7e Merge pull request #23225 from owncloud/Phiber2000-fix_logtimezone
fix broken logtimezone
2016-03-14 17:08:48 +01:00
Thomas Müller b25077748e Merge pull request #22901 from owncloud/add-dav-authenticated
Add DAV authenticated also to other scopes
2016-03-14 16:33:09 +01:00
Thomas Müller 3661b47b6d Merge pull request #23124 from owncloud/improved-rewrite-rule
Improved rewrite rule
2016-03-14 16:13:50 +01:00
Thomas Müller f6a5fe452d Merge pull request #23190 from owncloud/use-proper-url-for-search-results
Use proper URLs for search results
2016-03-14 16:11:17 +01:00
Thomas Müller d219284961 Merge pull request #23191 from owncloud/fix-external-dav-storage
Verify the getResponse returns a ResponseInterface
2016-03-14 16:10:40 +01:00
Thomas Müller 852acd364a Merge pull request #23218 from owncloud/memcached-not-found-on-remove-means-success
Fix errors in memcached implementation
2016-03-14 16:08:47 +01:00
Phiber2000 3e7b2810e2 fix broken logtimezone 2016-03-14 15:10:47 +01:00
Joas Schilling 2f67aa9bc4 Fix errors in memcached implementation 2016-03-14 12:39:34 +01:00
Joas Schilling c3c491689b Shorter cache key for URL entries 2016-03-14 11:05:46 +01:00
Roeland Jago Douma 3f8c998afe Do not recurse link share fetching
* Might fix an issue on oracle
2016-03-13 13:31:28 +01:00
Lukas Reschke d43051f7de Verify the getResponse returns a ResponseInterface
Can also return `null` as per PHPDoc. Regression added by 97f5c095f4

Fixes https://github.com/owncloud/core/issues/23145
2016-03-12 22:45:07 +01:00
Lukas Reschke 3c06b08c92 Use proper URLs for search results
Fixes https://github.com/owncloud/core/issues/23136
2016-03-12 22:29:47 +01:00
Lukas Reschke 42a70ed482 Require at least libxml 2.7.0
Fixes https://github.com/owncloud/core/issues/23168
2016-03-12 22:13:05 +01:00
David Baucum c519447522 Removed unnecessary check 'installed' system value' call.
OC_Utils::checkServer makes an unnecessary call to $config->getSystemValue('installed', false), which replicates the call made immediately before it during the call to needUpgrade.
2016-03-11 15:59:11 -05:00
Thomas Müller a8922e9d35 Merge pull request #23125 from owncloud/add-port-support-to-trusteddomain
Explicitly check for port
2016-03-11 14:55:27 +01:00
Robin Appelman 54e750ba78 dont die when we cant save the resized avatar, log instead 2016-03-11 13:44:35 +01:00
Robin Appelman a8db587b1f move failedstorage to core 2016-03-11 13:15:45 +01:00
Roeland Jago Douma b8ce9c5554 Use more generic node instead of File/Folder
The phpdoc for the sharing functions was very restrictive. As a
consequence passing node object (for example from the OCS Share API
where we don't really care if it is a file or folder), would actually
be invalid.

With this loser restriction the interfaces become more generic.
2016-03-11 08:51:07 +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
Lukas Reschke 3e8decf5e9 Improved rewrite rule
As per https://github.com/owncloud/core/issues/23098 and https://github.com/owncloud/core/issues/23117
2016-03-10 22:20:02 +01:00
Thomas Müller 51072f742e Merge pull request #21582 from owncloud/core_composer
Composers PSR-4 autoloader in core
2016-03-10 12:06:44 +01:00
Joas Schilling 6b4117df34 Correctly escape join statements and use selectAlias 2016-03-10 10:24:08 +01:00
Thomas Müller 308c99f1fd Merge pull request #23029 from owncloud/add-rewrite-rules-after-setup
Add base rewrite rule only when RewriteBase is defined
2016-03-10 08:25:18 +01:00
Roeland Jago Douma d16b371e38 POC for PSR-4 autoloader server.php => Server.php 2016-03-09 16:53:39 +01:00
Lukas Reschke bc4a043a76 Add base rewrite rule only when RewriteBase is defined
In case Apache is configured with an `Alias` such as with the ownCloud packages the rewrite rules will fail when no valid RewriteBase is configured.
2016-03-09 15:13:07 +01:00
Thomas Müller 0cc53ee06d Merge pull request #22602 from owncloud/fix_slow_chunkcheck
Do not check all chunks of a chunked upload if we do not need to
2016-03-09 15:06:44 +01:00
Thomas Müller d0a70a9776 Merge pull request #23006 from owncloud/require-xml-reader
Add XMLReader as requirement
2016-03-09 15:03:50 +01:00
Roeland Jago Douma e8f22a16f6 Select queries in the default share provider should query for file/folder
There can be leftover calendar and contacts shares in the oc_share
table. We need to filter those out properly.
2016-03-09 11:19:57 +01:00
Lukas Reschke 642c38ffb2 Add XMLReader as requirement
The SabreDAV release in 9.0 requires XMLReader, while this is usually compiled in by default some distributions like Gentoo don't.

Without this ownCloud gives a fatal 500 error instead of telling people to enable XMLReader.

Fixes https://github.com/owncloud/core/issues/23003
2016-03-09 11:11:00 +01:00
Vincent Petry e5a107cc45 Fix share mounting recursion 2016-03-08 14:46:42 +01:00
Roeland Jago Douma e08f98075c Do not check all chunks of a chunked upload if we do not need to
Fixes #22601

Before we did a full test on all chunks to verify if a chunked upload
was completed. This is unneeded since if we are missing one chunk we can
already fail.

Also we look from back to front since it is much more likely that we
find a missing chunk thus can error out early.
2016-03-07 19:52:30 +01:00
Lukas Reschke 1fd76b6379 Remove double URL encoding
ZipStreamer as bundled with 9.0 will properly encode the filename already.

Fixes https://github.com/owncloud/core/issues/22836#issuecomment-193336245
2016-03-07 19:29:15 +01:00
Thomas Müller 19dc02b8e0 Merge pull request #22900 from owncloud/diskfreespace-filesworkaround
Fix call to disk_free_space when a file is provided
2016-03-07 15:07:31 +01:00
Thomas Müller fa436b5b0c Merge pull request #22812 from owncloud/node-lock
Add locking to the node api
2016-03-07 14:43:49 +01:00
Joas Schilling 69d7097a1a Make sure that the return value is an array 2016-03-07 11:57:05 +01:00
Lukas Reschke 14f932f3c7 Add DAV authenticated also to other scopes
Fixes https://github.com/owncloud/core/issues/22893
2016-03-07 11:17:33 +01:00
Vincent Petry 89881ed511 Fix call to disk_free_space when a file is provided
In the case of shared files, we have to call free_space() on the file
name. This has the side-effect that when uploading to a local storage
without quota set, it will call disk_free_space with the file name,
which fails.

This fix uses the parent folder in case the given path is a file.
2016-03-07 11:01:24 +01:00
C. Montero Luque 7a0720f300 Merge branch 'master' into fix-db-locking-cleanup 2016-03-04 13:35:04 -05:00
Morris Jobke 138219d74a Run cleanup of expired DB file locks to background job
* fixes #22819

The old way fired a DELETE statement on each destruction of the
DBLockingProvider. Which could cause a lot of queries. It's enough
to run this every 5 minutes in a background job, which in the end
could result in file locks that exists 5 minutes longer - in the
worst case and for not properly released locks.

This makes the DB based locking a lot more performant and could
result in a similar performance to the Redis based locking provider.
2016-03-04 15:52:23 +01:00
Thomas Müller b56dbd0607 Merge pull request #22816 from owncloud/external-unavailable-recheck
allow availability recheck for external storages
2016-03-04 15:29:17 +01:00
Joas Schilling 98f5423df7 ucwords does not support delimiter on 5.4 2016-03-04 12:13:16 +01:00
Thomas Müller 8d2238e055 Merge pull request #22796 from owncloud/fix-encryption-on-version-restore
Keep "encryptedVersion" when calling `\OC\Files\View::copy`
2016-03-03 16:31:11 +01:00
Robin Appelman 6990100e6e allow availability recheck for external storages 2016-03-03 14:19:34 +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
Robin Appelman 02635c6f2f Add locking to the node api 2016-03-03 13:47:00 +01:00
Lukas Reschke e55c52c078 Exclude the assets folder from integrity check
We should not scan the assets folder as this can contain user specific content. Partially addresses https://github.com/owncloud/core/issues/22803
2016-03-03 13:46:41 +01:00
C. Montero Luque 4d69e562a0 Merge pull request #22757 from owncloud/apply-license
Update copyright information and author file
2016-03-01 15:36:37 -05:00
Lukas Reschke c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke c430f5ba53 Map Maci 2016-03-01 17:45:05 +01:00
Lukas Reschke 933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Lukas Reschke 2d68c1b945 Exclude custom data directory from integrity checker
We should not scan any custom data directory in the integrity checker as well. Otherwise this would lead to a massive increased update time that may likely exceed the timeout.

To test this:

1. Install ownCloud 8.2.2, set as data dir another folder than `data` such as `data-asdf`. Make sure that folder lives in the web root as well.
2. Update that instance to 9.0.0 beta2 => Errors are shown in the code integrity check
3. Apply this patch and trigger the rescan in the admin settings => No errors are shown anymore (can also do a new update with that patch applied)

Fixes https://github.com/owncloud/core/issues/22698
2016-03-01 17:16:10 +01:00
Thomas Müller 5fe5233f41 Merge pull request #22681 from owncloud/add-autodiscovery-for-ocs
Add autodiscovery support to server-to-server sharing implementation
2016-03-01 11:27:28 +01:00
Thomas Müller fd4742d430 Merge pull request #22613 from owncloud/quota-changedavreturnvaluewhennoquotaset
Don't return quota when none set
2016-03-01 08:30:58 +01:00
Thomas Müller 71e5de3865 Merge pull request #22677 from owncloud/allow-to-overwrite-single-l10n-string-via-theme
Allow to overwrite a single language string via the theme folder
2016-03-01 08:26:28 +01:00
Thomas Müller da18d04b38 Merge pull request #22733 from owncloud/size-propagation-new-file
fix size propagation for new files
2016-03-01 08:20:34 +01:00
Thomas Müller caf6c43187 Merge pull request #22736 from owncloud/propagation-ignore-encryption
ignore encryption keys for propagation
2016-03-01 08:19:42 +01:00
Robin Appelman 003a686c1b ignore encryption keys for propagation 2016-02-29 17:47:09 +01:00
Robin Appelman 8c700cc99d fix size propagation for new files 2016-02-29 17:31:01 +01:00
Vincent Petry 11215f4e27 Return -3 for unlimited quota
Returns -3 for unlimited quota in Webdav response.
Also adjusted personal page to show unlimited quota when set.
2016-02-29 14:36:20 +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
Joas Schilling 78570a5f72 Allow to overwrite a single language string via the theme folder 2016-02-26 13:56:02 +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
Lukas Reschke 59028cced0 Add autodiscovery support to server-to-server sharing
Adds autodiscovery support to server-to-server sharing as specified in the specification. If no discovery data is found it is using the fallback ownCloud endpoints for legacy support.
2016-02-26 09:26:55 +01:00
Thomas Müller cb41b1a863 Merge pull request #22584 from owncloud/fix-app-load-order-fixes-22508
Before installing new shipped apps we need to load authentication apps
2016-02-25 21:43:32 +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
Thomas Müller 776d91f3bc Merge pull request #21854 from owncloud/fix-share-hook-group-add
Fix addUserToGroup hook of the share code
2016-02-25 16:56:19 +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 914ac09aae Merge pull request #22636 from owncloud/fix-ssl-on-external-storages
Fix HTTPS support on external storages
2016-02-25 14:36:00 +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
Lukas Reschke bf4a038535 Add proxy support to external storage
Otherwise debugging issues is a PITA
2016-02-24 19:48:47 +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
Thomas Müller 4124d909b6 Merge pull request #22565 from owncloud/avoid-scanning-root-storage
Avoids scanning the root storage
2016-02-24 12:14:39 +01:00
Thomas Müller bfde96a623 Fix PHPDoc of OC_App::loadApps() 2016-02-23 15:57:12 +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 ad6238c808 Install new shipped apps after upgrading all existing apps 2016-02-23 10:31:11 +01:00
Joas Schilling fb8b34bdd0 Allow defining a limit and offset for getObjectIdsForTags 2016-02-23 09:04:15 +01:00
Joas Schilling 8754ea6c8a Make sure we don't quote column names twice 2016-02-23 08:50:52 +01:00
Thomas Müller 7bf658ab18 Before installing new shipped apps we need to load authentication apps - fixes #22508 2016-02-23 08:41:12 +01:00
Thomas Müller 4537eaac41 Add ILIKE support to querybuilder 2016-02-22 19:46:37 +01:00
Morris Jobke 8c77fdef3e Avoids scanning the root storage
This check will skip the background scan for the root storage
because there is nothing in the root storage that isn't already
in another (mostly user-) storage.

Fixes #22501
2016-02-22 16:43:47 +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 a70421ff2f Merge pull request #22552 from owncloud/fix-avconv-preview-parameters
Move `-an` after the input arg because it is an output option
2016-02-22 14:14:35 +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
Joas Schilling 2865ccfdc4 Move `-an` after the input arg because it is an output option 2016-02-22 09:40:46 +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 fb38625741 Merge pull request #22518 from owncloud/checkdeletebeforecopyinsteadofrename
Check delete permission before attemping copy+delete
2016-02-19 16:06:55 +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
Thomas Müller 2fd0e9b768 Merge pull request #22521 from owncloud/mssql-is-not-support-since-ages
Remove old adapter - mssql is not supported
2016-02-19 13:35:32 +01:00
Thomas Müller 5820666254 Merge pull request #22218 from owncloud/occ-no-extra-messages
Add global --no-warnings option to occ…
2016-02-19 13:32:52 +01:00
Joas Schilling c20c836a46 Remove old adapter - mssql is not supported 2016-02-19 13:16:43 +01:00
Vincent Petry a9e0cfad8b Check delete permission before attemping copy+delete
Some move operations when cross-storage will be replaced by copy and
delete. Before attempting this, first check whether the source storage
has delete permissions.

This also prevents renaming system-wide external storages.
2016-02-19 12:59:10 +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
Roeland Jago Douma f837c08465 Fix even more 2016-02-19 09:43:20 +01:00
Joas Schilling 8756a22c60 Fix more things 2016-02-19 09:43:11 +01:00
Thomas Müller 8e36678873 Fix PHPDoc 2016-02-19 09:43:11 +01:00
Scrutinizer Auto-Fixer 0d0151a3e1 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-19 09:43:11 +01:00
Victor Dubiniuk 972e0c62b3 Add global --no-warning option to occ in order not to pollute output with warnings 2016-02-19 00:33:48 +03:00
Thomas Müller 48f6ae0b2d Merge pull request #22493 from owncloud/issue_22467
getRootFolder should not setup the FS for any user
2016-02-18 16:46:00 +01:00
Thomas Müller 2a9b0aaaa1 Merge pull request #22482 from owncloud/getowner-cache
cache result for getowner
2016-02-18 16:45:40 +01:00
Thomas Müller 6c4cdddba8 Merge pull request #21610 from owncloud/quota-sharedfile
Fix quota check for single shared files
2016-02-18 14:25:32 +01:00
Roeland Jago Douma b539bb15e1 Make scrutinizer happy 2016-02-18 14:25:18 +01:00
Roeland Jago Douma 7abb8693a1 getRootFolder should not setup the FS for any user
Fixes #22467

This can go wrong when an app (take the ldap app) DIs something that
needs the rootFolder. This break if we use cookie auth since then we
know the user at that point and thus try to setup the fs for that user.

However if there are then incomming shares from an ldap user they will
fails since the user manager can't find them yet.

Now getRootFolder does not setup the fs for any user.
2016-02-18 13:55:54 +01:00
Thomas Müller 73d46afc3c Merge pull request #22399 from owncloud/issue-22394-index-names-for-oracle
Add index names so Doctrine does not use a too long random string
2016-02-18 11:18:32 +01:00
Joas Schilling 6374472e2e No more static 2016-02-18 10:12:23 +01:00
Robin Appelman f309bc960d cache result for getowner 2016-02-17 19:14:46 +01:00
Thomas Müller 7af7d18cfa Merge pull request #16783 from owncloud/handle-redirects-global
Adding global error handler for ajax calls which run into redirection…
2016-02-17 14:49:04 +01:00
Vincent Petry 8f96ef147f Don't apply quota in stream wrapper for part files
When overwriting shared files as recipient, the part file is written on
the uploader's storage before overwriting the target file.

If the uploader has no quota left, they should still be able to
overwrite that file with Webdav. To make this work, they need to be able
to write the part file to their own storage first.
2016-02-17 11:52:49 +01:00
Morris Jobke de58364eb8 Handles null as return code and uses proper UserFolder in trashbin 2016-02-16 18:45:25 +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
Lukas Reschke b99c6f1f67 Send 401 header for OC_JSON::checkLoggedIn() 2016-02-16 09:48:40 +01:00
Joas Schilling b14e8fa427 Make sure our index names fit in oracle 2016-02-16 09:28:29 +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
Thomas Müller 3ab328350a Merge pull request #22376 from owncloud/fix-return-code-getAppPath
Properly handle return code of OC_App::getAppPath
2016-02-15 16:58:37 +01:00
Lukas Reschke dfc3536d2b Catch auth coming from JS in OCS 2016-02-15 15:38:37 +01:00
Thomas Müller 7b858d7c4a Merge pull request #22381 from owncloud/remove-not-needed-variable
Remove not needed variable
2016-02-15 12:02:03 +01:00
Thomas Müller db79799eb8 Merge pull request #22380 from owncloud/make-scrutinizer-happy
Fix typo in PHPDoc
2016-02-15 07:01:41 +01:00
Morris Jobke 6cd3fa2ed7 Remove not needed variable 2016-02-14 21:44:53 +01:00
Morris Jobke da06447c3b Fix typo in PHPDoc 2016-02-14 21:34:40 +01:00
Morris Jobke 083240482a Remove unreachable code in priavte/api.php 2016-02-14 21:12:29 +01:00
Morris Jobke ef49f6ef5d Properly handle return code of OC_App::getAppPath
* fixes #20128
* getAppPath could return false, but it was not handled everywhere
2016-02-14 20:57:09 +01:00
Morris Jobke e60e0fe22c Fix BMP support
* fixes #16461
2016-02-14 09:30:27 +01:00