Commit Graph

6049 Commits

Author SHA1 Message Date
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
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 0b4895bc7c Merge pull request #22343 from owncloud/check-if-admin-user
Check if admin user
2016-02-13 18:24:17 +01:00
Morris Jobke 5fe55de6d8 Always set up a config object within the user object
* the new getEmailAddress and setEmailAddress relies on this anyway
2016-02-12 16:33:37 +01:00
Lukas Reschke 29ce56ed07 Check if admin user
We should not add the JS for not admin users.
2016-02-12 14:37:50 +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
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 207c1a661b Merge pull request #22264 from owncloud/read-version-from-info.xml-only
No longer evaluate appinfo/version
2016-02-11 14:28:51 +01:00
Thomas Müller 27a4c9f625 Merge pull request #22308 from owncloud/shorter-ttl-find-path
Shorter TTL on  findBinaryPath caching
2016-02-11 14:02:24 +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 dd630e33ea Properly check for legacy methods
The new shares are completely without parents eventually. But for some
current legacy reasons the methods are still around. But we should
properly check for them.

Fixes #22309
2016-02-11 11:30:52 +01:00
Joas Schilling ee080a9bc3 Do not getShare in deleteShare, it's already there when deleting 2016-02-11 11:21:06 +01:00
Thomas Müller 2efb97ba09 Fixes #13658 2016-02-11 10:53:18 +01:00
Thomas Müller 3184115c3c Merge pull request #22285 from owncloud/fix_22275
Only show link shares for the current user
2016-02-10 20:01:41 +01:00
Thomas Müller 6ffb83ae19 Merge pull request #22269 from owncloud/issue-22243-avoid-deadlock-with-lots-of-entries-to-cleanup
Chunk the cleanup queries to make sure they don't time out
2016-02-10 17:26:11 +01:00
Thomas Müller 39e6a1897b Merge pull request #22271 from owncloud/remember-login-state
Remember previous state of remember login checkbox
2016-02-10 17:25:34 +01:00
Thomas Müller 8b165c5ed5 No longer evaluate appinfo/version 2016-02-10 17:24:14 +01:00
Roeland Jago Douma 9651defe3f Also filter the old share info endpoint
Make sure we do not show an icon if we can't display a share
2016-02-10 17:05:57 +01:00
Vincent Chan 06b2f11e57 refactoring code 2016-02-10 15:28:14 +01:00
Thomas Müller 5c89cf9565 Merge pull request #22267 from owncloud/fix_encryption2
calculate and update the version of the encryption signature correctly
2016-02-10 15:14:52 +01:00
Bjoern Schiessle 9dc759b4dc remember signature version and only set it on update to make sure that other
apps like files_versions still get the old signature version
2016-02-10 13:27:32 +01:00
Joas Schilling 0ebb205010 Chunk the queries to make sure they don't time out 2016-02-10 13:04:37 +01:00
Thomas Müller a8d9eb5320 Merge pull request #22256 from owncloud/hide-updater-secret
Hide updater.secret from occ output by default
2016-02-10 08:58:46 +01:00
Vincent Petry 3736f13826 Check if partial cache entry or not in encryption wrapper 2016-02-09 23:43:27 +01:00
Lukas Reschke 5ccb9dfa7e Use database for keeping track of the version 2016-02-09 23:43:27 +01:00
Lukas Reschke 3badf5caf5 Use number of chunk for HMAC as well
Prevents switching single blocks within the encrypted file.
2016-02-09 23:43:26 +01:00
Björn Schießle 9bb97c714b fixing unit tests 2016-02-09 23:43:26 +01:00
Björn Schießle cf3a8f274f make it backward compatible to work with signed and un-signed files 2016-02-09 23:43:25 +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
Lukas Reschke 40d798e668 Hide updater.secret from occ output by default
We should not have people post that value to us.
2016-02-09 20:41:55 +01:00
Arthur Schiwon 03d0fb4e3f revolutionar: change updates might even sent the new value (optional) 2016-02-09 18:37:41 +01:00
Lukas Reschke abc675d87e Move update notification code into app
Moves the update notification code in a single app. This is required since we want to use SSO for the new updater and for this have some code running in ownCloud as well (and we don't want that in core neccessarily). This app can provide that in the future, right now it's only the update notification itself. Will continue working on the SSO right away but wanted to keep the PR small.

Furthermore also makes some more code unit-testable...
2016-02-09 18:05:51 +01:00
Arthur Schiwon 096115870c Avatar should also claim its change 2016-02-09 17:44:49 +01:00
Arthur Schiwon 82a37d41d0 Doc improvements 2016-02-09 17:41:04 +01:00
Arthur Schiwon 3a796d1e15 Consolidate getQuota and setQuota methods in User instance 2016-02-09 17:16:43 +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 6474866aff Merge pull request #22225 from owncloud/sharing-moar-hooks
More sharing hooks for extended auditing
2016-02-09 13:30:22 +01:00
Thomas Müller 1a2d72b0ac Merge pull request #22212 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2016-02-09 13:30:06 +01:00
Thomas Müller d11179a0f5 Merge pull request #22227 from owncloud/appmanager-hooks
Send events when enabling and disabling of apps
2016-02-09 11:23:19 +01:00
Roeland Jago Douma 49726470ab Catch exception 2016-02-09 11:05:34 +01:00
Roeland Jago Douma 426a12baaa Throw exception 2016-02-09 11:05:29 +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
Joas Schilling 349f3bf54a More fixes 2016-02-09 10:40:00 +01:00
Roeland Jago Douma 12afd7b005 Move password update hook after update 2016-02-09 10:38:12 +01:00
Roeland Jago Douma 623a0e4637 Example hook check 2016-02-09 10:36:44 +01:00
Vincent Petry 19980be116 Fix part file partial cache logic in encryption code
The encryption code uses partial cache entries for the part file (which
are not stored in the database) but are useful for other parts of the
code to retrieve the file size again.

This means that in the fixed code $info was empty, so getData() could
not be called.

The fix makes sure to support both cases when the cache entry exists and
doesn't.
2016-02-09 09:47:34 +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
Arthur Schiwon 4dfd56ee81 add post hook on link-share password change 2016-02-08 23:27:37 +01:00
Thomas Müller a03279a3a8 Merge pull request #22207 from owncloud/mountcache-exists-check
better exists check for insert mount cache
2016-02-08 17:57:59 +01:00
Scrutinizer Auto-Fixer 08f0dc9067 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-08 15:43:39 +00:00
Thomas Müller ec399e6bbc Merge pull request #22200 from owncloud/node-checksum-resolvefileinfo
Make sure fileinfo exists when calling getCheckSum in node API
2016-02-08 16:10:31 +01:00
Robin Appelman 26a8fb157d better exists check for insert mount cache 2016-02-08 15:18:42 +01:00
Vincent Petry 41ba9280f7 Make sure fileinfo exists when calling getCheckSum in node API 2016-02-08 12:24:18 +01:00
Roeland Jago Douma a506f9ca3f Respect not allowing outgoing shares 2016-02-08 11:30:48 +01:00
Roeland Jago Douma ba0bab294e Add federated share provider to core 2016-02-08 11:30:48 +01:00
Roeland Jago Douma 46faf6d3ca Fix exception on delete 2016-02-06 13:31:54 +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
Thomas Müller a9015d61a7 Merge pull request #22166 from owncloud/remove-local-folder
remove unused Storage->getLocalFolder
2016-02-06 13:21:59 +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
Joas Schilling 550f3af285 Remove old background job 2016-02-05 15:51:08 +01:00
Thomas Müller e15a120f83 Merge pull request #22152 from owncloud/activities-for-comments
Activities for comments
2016-02-05 13:50:38 +01:00
Thomas Müller f7e37984be Merge pull request #22153 from owncloud/event-for-console-commands
Dispatch an event when a console command is run
2016-02-05 13:30:35 +01:00
Joas Schilling 4056cca427 Only dispatch the delete event, when the deletion was successful 2016-02-05 12:39:07 +01:00
Joas Schilling 97b907335a Dispatch an event when a console command is run 2016-02-05 12:24:54 +01:00
Thomas Müller e6bab280a6 Merge pull request #22143 from owncloud/fix_12385
When a user is removed we should remove the right shares
2016-02-05 11:53:28 +01:00
Joas Schilling 070ff71a2d Add activities for comments 2016-02-05 11:30:53 +01:00
Joas Schilling e86dcdacc8 Dispatch events when adding, updating and deleting comments 2016-02-05 11:30:53 +01:00
Scrutinizer Auto-Fixer 466a085253 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-05 09:38:43 +00:00
Roeland Jago Douma 5f521067d8 When a user is removed we should remove the right shares
* This means all the shares directly shared with them
* Or all group shares having a special share with them

This patch fixes the operator precedece (AND before OR).
So before this patch:

(share_with = <deleted user> AND share_type = 0) OR share_type=2

So it deleted all user specific shares

Now:
share_with = <deleted user> AND (share_type = 0 OR (share_type=2)
2016-02-05 10:05:22 +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 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
Thomas Müller 2c41a266c0 Merge pull request #22072 from vincchan/trim-newusername-whitespace
Do not allow username to have whitespace at the beginning or at the end
2016-02-04 10:33:30 +01:00
Lukas Reschke eee6d1f41b Also check daily and testing channel 2016-02-03 20:08:40 +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
Roeland Jago Douma 78be766cf5 [Share 2.0] Use strings for ids
* sharedWith
* sharedBy
* shareOwner

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basically we do not always nicely cleanup shares.
2016-01-18 19:57:30 +01:00
Thomas Müller 14c98b4df7 Merge pull request #21519 from owncloud/propagate-folder-size
propagate folder size in the same query for write updates
2016-01-18 16:57:30 +01:00
Robin Appelman 58afddfaa5 allow comparing clob using expressionbuilder->eq if you explicitly say you're comparing strings 2016-01-18 16:03:41 +01:00
Robin Appelman a225fe4c96 Fix constructor arguments for APCUIterator 2016-01-18 12:20:05 +01:00
Robin Appelman ebd15fd5ed handle bool in setValue 2016-01-18 12:09:01 +01:00
Robin Appelman 895fd49fb2 also handle not null violations 2016-01-18 12:09:01 +01:00
Robin McCorkell da4127d23b Introduce CredentialsManager for storage of credentials in DB
CredentialsManager performs a simple role, of storing and retrieving
encrypted credentials from the database. Credentials are stored by user
ID (which may be null) and credentials identifier. Credentials
themselves may be of any type that can be JSON encoded.

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

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

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

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

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

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

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

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

Fixes https://github.com/owncloud/core/issues/21556
2016-01-10 17:02:50 +01:00
Lukas Reschke 3d4cf2e598 Use proper class name
This has never worked before. Introduced with https://github.com/owncloud/core/pull/18658
2016-01-09 23:43:12 +01:00
Roeland Jago Douma 77c611d339 Just query the securerandom from the container 2016-01-09 19:57:03 +01:00
Roeland Jago Douma 17a066c18e Properly close db cursors 2016-01-08 20:27:01 +01:00
Roeland Jago Douma 629bac22fd Make sure to respect deleted group shares by user 2016-01-08 20:27:01 +01:00
Roeland Jago Douma c882d46e5f Moved to the query builder
Anything to keep Lukas happy
2016-01-08 20:27:01 +01:00
Roeland Jago Douma 066e3770bb Make sure that permissions stay in sync for share_type 2
When a file/folder is shared with a group and one of the group members
moves this file/folder an extra entry is created in the share table.

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

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

Since we cache the generated avatars. We should also delete the
generated sizes when we remove the avatar.
2016-01-07 20:51:18 +01:00
Thomas Müller 1cc6fddead Merge pull request #21498 from owncloud/cleanup-OC_DB
Cleanup OC_DB methods
2016-01-07 20:13:16 +01:00
Thomas Müller 46107f82d4 Merge pull request #21506 from owncloud/issue-20218-min-max-owncloud-version-warning
Issue 20218 min max owncloud version warning
2016-01-07 16:51:00 +01:00
Thomas Müller f6f492ba4e Merge pull request #21502 from owncloud/di_mimetypedetector
Add 'OCP\Files\IMimeTypeDetector' to DI container
2016-01-07 16:18:55 +01:00
Thomas Müller 9ca670f94f Merge pull request #21505 from owncloud/allow-downgrades-for-brave-developers
Allow downgrades for our brave developers, that switch between branches
2016-01-07 16:03:36 +01:00
Joas Schilling c55da1fc8d Add a warning to the app:check-code if the version is missing 2016-01-07 15:04:36 +01:00
Thomas Müller 601457d221 Merge pull request #20773 from owncloud/share2.0_create
[Sharing 2.0] create share
2016-01-07 14:57:05 +01:00
Morris Jobke 190cc2bb67 Remove OC_DB::getConnection 2016-01-07 14:54:55 +01:00
Morris Jobke fddece9552 Remove OC_DB::insertid 2016-01-07 14:54:55 +01:00
Morris Jobke 0a41cfefe3 Remove beginTransaction, commit, rollback from OC_DB 2016-01-07 14:54:55 +01:00
Morris Jobke 3917d888bd Remove OC_DB::isError 2016-01-07 14:54:55 +01:00
Morris Jobke 547fbfdb76 Remove OC_DB::dropTable 2016-01-07 14:54:54 +01:00
Joas Schilling fd7ed93937 Allow downgrades for our brave developers, that switch between branches 2016-01-07 14:18:33 +01:00
Roeland Jago Douma cd35ad6aaa Add 'OCP\Files\IMimeTypeDetector' to DI container
* Added test to server container as well
2016-01-07 13:20:43 +01:00
Morris Jobke fa97e3a5a3 OC_TemplateLayout -> OC\TemplateLayout 2016-01-07 09:31:11 +01:00
Morris Jobke c464b32738 OC_DB_MDB2SchemaManager -> OC\DB\MDB2SchemaManager 2016-01-07 09:29:21 +01:00
Morris Jobke 604897945b Move lib/repair to lib/private/repair 2016-01-07 09:14:35 +01:00
Thomas Müller 002161857c Merge pull request #21398 from owncloud/sharing-disabled-cache
Cache isSharingDisabledForUser
2016-01-06 17:23:14 +01:00
Thomas Müller b6bc17d014 Merge pull request #21443 from owncloud/fix-container-lookup
Lookup the App name instead of OCA
2016-01-06 17:22:41 +01:00
Thomas Müller a2c19d3d1a Merge pull request #21444 from owncloud/move-regenerate-below
Move regeneration of session ID into session classes
2016-01-06 17:21:43 +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
Roeland Jago Douma 4f2e84a0ec [Share 2.0] Update share class
More getters and setters are required to properly create shares
2016-01-06 14:53:43 +01:00
Morris Jobke 516a6d7441 Remove unneeded check if htaccess test file already exists
* fixes #20199
2016-01-06 13:45:36 +01:00
Lukas Reschke 88c7face07 Inject OCSClient
Fixes https://github.com/owncloud/core/issues/21451
2016-01-06 11:40:22 +01:00
Jörn Friedrich Dreyer a86e067154 Merge pull request #21442 from owncloud/annotate-type
Annotate type
2016-01-05 12:36:31 +01:00
Jörn Friedrich Dreyer 3f101039b9 add isset for optional params 2016-01-04 16:38:45 +01:00
Joas Schilling 761000624d Only enable apps that are not intentionally disabled 2016-01-04 16:24:52 +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 70ff90b1ec Merge pull request #21393 from owncloud/fix-urlgenerator-call
No more deprecation messages in error log
2016-01-04 15:00:06 +01:00
Joas Schilling 2cf4e144cc Lookup the App name instead of OCA 2016-01-04 14:47:49 +01:00
Lukas Reschke 26c3fa7911 Annotate type
Otherwise static code scanners will complain about this.
2016-01-04 14:18:01 +01:00
Thomas Müller 42897ac5cb Merge pull request #21402 from owncloud/view-getuserobject-cache
Cache usermanager instance in view
2015-12-30 20:04:51 +01:00
Robin Appelman 45d0396404 Cache sharing disabled in the view 2015-12-30 14:42:22 +01:00
Robin Appelman 2d9d0aedf8 Cache usermanager instance in view 2015-12-30 14:28:53 +01:00
Thomas Müller 9e39e8f1c7 No more deprecation messages in error log 2015-12-29 17:31:28 +01:00
Thomas Müller 9392a555ae Merge pull request #21331 from switch-ch/fix_ms_log
Fix owncloud logging with ms precision
2015-12-29 16:32:52 +01:00
Thomas Müller edd051dc02 Merge pull request #21291 from owncloud/refactor-call-check
Refactor OC_Util::callCheck
2015-12-28 10:21:44 +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
Christian Schnidrig 7fce06b3f3 When microtime(true) returns a whole number, then the parsing fails.
This patch makes sure, that the value can always be parsed correctly.
2015-12-22 15:06:32 +01:00
Morris Jobke 6f00729124 Refactor OC_Util::callCheck 2015-12-22 09:32:14 +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
Lukas Reschke 2c4b9e03e0 Use new APCu API
This one is available since APCu 4.0, since we require APCu 4.0.6 this works fine. Also it brings us PHP 7 compatibility and thus fixes https://github.com/owncloud/core/issues/21095
2015-12-20 11:09:09 +01:00
Thomas Müller 95a255b0d4 Merge pull request #21281 from owncloud/allow-di-for-background-jobs
Allow background jobs to be service names for DI
2015-12-18 16:34:42 +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 2f98f64241 core will handle invalid URLs and redirects properly 2015-12-18 15:51:03 +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
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
Joas Schilling 6b813f56c9 Do not delete background jobs, in case an exception occured
This approach is not valid anymore. It initially was added for jobs
of non existing apps. But jobs of non-existing apps can not be created
so they will never be executed and so this call just catches other
cases which were not intended.

This reverts commit 4f4ad72460.
2015-12-18 14:31:27 +01:00
Joas Schilling a9935bd490 Add methods to interface which have always been required 2015-12-18 14:25:04 +01:00
Joas Schilling 0daed65e14 Allow dependency injection for background jobs 2015-12-18 14:20:30 +01:00
Roeland Jago Douma b460bde7c6 Removed deprecated OC_Helper::mimeTypeIcon function 2015-12-18 14:00:20 +01:00
Joas Schilling 1f197134c8 Look up services in the app container before trying the core container 2015-12-18 13:45:07 +01:00
Joas Schilling 412e4ed3f6 Register app containers in the OC container 2015-12-18 13:45:07 +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 6fb60815c5 Use SystemConfig internally 2015-12-18 11:53:41 +01:00
Roeland Jago Douma 0a09004d39 Inject Config into SystemConfig 2015-12-18 11:53:41 +01:00
Roeland Jago Douma 82bf99c0cf Get rid of legacy OC_Config
We were still using the lecagy class OC_Config all over the place. Which
was a wrapper around the new class OC\Config
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 4af7bf07bf OC_Helper::userAvatarSet is not used anymore 2015-12-18 11:30:30 +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 0f836cfe9e Make sure the interface and the implementation match 2015-12-18 10:04:30 +01:00
Joas Schilling 345e68cafa Use the query builder for the joblist queries 2015-12-18 09:50:23 +01:00
Thomas Müller 1456e910ad Merge pull request #21269 from owncloud/we-shall-cleanup-xml-parser-errors
Assert that there are no xml error left
2015-12-18 09:17:53 +01:00
Thomas Müller 228a75e2ec Merge pull request #21248 from owncloud/deprecated_oc_helper_linkToRoute
Replace deprecated OC_Helper::linkToRoute calls
2015-12-18 07:56:42 +01:00
Roeland Jago Douma 2a280e2fad Remove private deprecated OC_Helper::linkToRoute 2015-12-17 18:46:43 +01:00
Roeland Jago Douma 9fe3d2f1f8 OC_Helper::linkToRoute is deprecated
Replaced all calls to OC_Helper::linkToRoute with
OC::$server->getURLGenerator()->linkToRoute
2015-12-17 18:46:42 +01:00
Thomas Müller b3c8e9ca32 Clear xml errors in updater 2015-12-17 17:46:07 +01:00
Thomas Müller 9b423f3532 Clear xml errors in ocs client 2015-12-17 17:34:15 +01:00
Thomas Müller 62b82cfe4b Clear xml errors 2015-12-17 17:28:44 +01:00
Morris Jobke ecdf88e41b Use proper public API for OC_Helper::getFileNameMimeType 2015-12-17 17:07:48 +01:00
Roeland Jago Douma c64e827f00 Since avatar.js is now essentially empty remove it 2015-12-17 16:32:18 +01:00
Roeland Jago Douma 1f715289bf Removed deprecated function OC_User::deleteUser
Replaced with proper OCP calls
2015-12-17 16:18:40 +01:00
Roeland Jago Douma 9201b9713e Removed unused deprecated methods 2015-12-17 16:18:40 +01:00
Roeland Jago Douma 835911bce5 Removed deprecated private OC_User::createUser
All function calls are replaced with the recommended (which was already
the body of the function).
2015-12-17 16:18:40 +01:00
Roeland Jago Douma 7e44ea5da0 Remove deprecated function OC_User::getManager
Private deprecated function => removed
Replaced all instances with suggested replacement
2015-12-17 16:18:34 +01:00
Thomas Müller 1285b78086 Merge pull request #21200 from owncloud/files-authorizationheader
Use Authorization headers for public webdav in web UI
2015-12-17 15:30:13 +01:00
Thomas Müller e3ed42135d Merge pull request #21240 from owncloud/avatar_speedup
Avatar speedup
2015-12-17 14:43:21 +01:00
Thomas Müller 358b84c21d Merge pull request #21253 from owncloud/deprecated_oc_helper_linkTo
Remove deprecated OC_Helper::linkTo
2015-12-17 14:43:02 +01:00
Thomas Müller 21bd19b6ae Merge pull request #21241 from owncloud/fix_21226
Do not try to get the avatar if there is no user
2015-12-17 12:14:25 +01:00
Roeland Jago Douma 205c239eab Remove deprecated OC_Helper::linkTo function 2015-12-17 11:51:40 +01:00
Roeland Jago Douma 19eeb23b91 OC_Helper::linkTo is deprecated
Replaced with suggested (and calling body of)
2015-12-17 10:53:21 +01:00
Roeland Jago Douma db95c8d512 Do not try to get the avatar if there is no user 2015-12-17 09:14:04 +01:00
Roeland Jago Douma d796c43841 [Avatars] Add function to get the Node of the avatar
Since we usually just get the avatar and stream the content to the users
there is no need to first create an image in memory.
2015-12-16 20:29:02 +01:00
Thomas Müller c92b49c82a Merge pull request #21184 from owncloud/cli-logger-embedded-webserver
Let's print error messages to the builtin webserver console ... makes…
2015-12-16 20:26:29 +01:00
Vincent Petry 064dcc079d Load base64 polyfill in IE and friends 2015-12-14 17:50:33 +01:00
Björn Schießle efc030aa25 don't allow to create a federated share if source and target server are the same 2015-12-14 17:16:14 +01:00
Thomas Müller a7ecb6e984 Let's print error messages to the builtin webserver console ... makes development a bit easier 2015-12-14 12:16:41 +01:00
Robin Appelman 9d732e35e1 Check if user isset in $_REQUEST first 2015-12-14 09:56:52 +01:00
Thomas Müller f831d93f3f Merge pull request #20878 from owncloud/proper-htaccess-support-in-code-signing-checker
Also run .htaccess routine when installing on another system than Apache
2015-12-11 11:46:37 +01:00
Thomas Müller 6317ba8cb4 Merge pull request #21135 from owncloud/add-polyfill
Add polyfills for PHP55, PHP56 and PHP70 functionalities
2015-12-11 11:40:51 +01:00
Thomas Müller 86bd95ea1b Merge pull request #21020 from owncloud/add-directory-slash-to-setup-code
Add DirectorySlash to dynamic .htaccess write
2015-12-11 11:40:32 +01:00
Thomas Müller c14f4e8506 Merge pull request #21045 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2015-12-11 11:39:25 +01:00
Thomas Müller ecc3c174a0 Merge pull request #21128 from owncloud/dav-fopen-non-existing
Dont do a seperate request to check if a file exists when downloading a file from dav external storage
2015-12-11 10:48:22 +01:00
Jörn Friedrich Dreyer eae8500a86 make url type configurable 2015-12-11 10:19:28 +01:00
Lukas Reschke f3360d51c6 Use PHP polyfills 2015-12-11 08:47:36 +01:00
Robin Appelman 97f5c095f4 Dont do a seperate request to check if a file exists for dav->fopen 2015-12-10 17:23:53 +01:00
Thomas Müller ab1ea5ccc4 Merge pull request #21119 from owncloud/make-appconfig-more-robust
Make AppManager->checkAppForUser more robust
2015-12-10 16:44:40 +01:00
Scrutinizer Auto-Fixer ffc49a24f0 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-10 16:43:37 +01:00
Thomas Müller 7634c45e39 Merge pull request #21086 from owncloud/storage-nocheckavailforgetowner
Do not check storage availability for getOwner
2015-12-10 16:15:52 +01:00
Morris Jobke f5e6c75804 Make AppManager->checkAppForUser more robust
* if the JSON that is stored in the DB is corrupt an error was thrown
* with this change it is properly handled and the app is disabled
2015-12-10 14:53:34 +01:00
Thomas Müller df15d54db6 Merge pull request #21072 from owncloud/db-lock-ttl
Remove all locks after ttl from the db
2015-12-10 13:51:18 +01:00
Thomas Müller 744ef6141b Merge pull request #21073 from owncloud/memcache-lock-ttl
Add ttl for redis based locking
2015-12-10 13:51:01 +01:00
Thomas Müller 9f4ceef7c9 Merge pull request #20984 from owncloud/fix-mysql-setup-unix-socket-master
Add unix_socket support for mysql during initial installation - fixes…
2015-12-10 10:13:49 +01:00
Thomas Müller ea7fe672e8 Merge pull request #20775 from owncloud/comments-manager
add icommentsmanger and icomment implementation
2015-12-09 17:44:40 +01:00
Vincent Petry 4b68dd372d Do not check storage availability for getOwner
Because the owner is always known thanks to the file cache and other
places, we don't need the remote storage to be actually available.
2015-12-09 17:31:14 +01:00
Arthur Schiwon fdd06ba1f8 use getLastInsertId from query builder for convenience 2015-12-09 16:33:34 +01:00
Arthur Schiwon 55a2715eff remove unused use statement 2015-12-09 16:25:42 +01:00
Arthur Schiwon 6af6febad0 php < 5.5 compatible 2015-12-09 16:25:31 +01:00
Thomas Müller d5238b3d3c Don't load commands of apps when in maintenance mode - fixes #20939 2015-12-09 15:15:10 +01:00
Robin Appelman e191953942 Remove all locks after ttl from the db 2015-12-09 14:53:24 +01:00
Robin Appelman 693a3c353e ttl for memcache locking backends that support it 2015-12-09 14:41:15 +01:00
Robin Appelman 0a80bf5573 Add interface for memcache backends that support setting ttl on exisiting keys 2015-12-09 14:39:12 +01:00
Arthur Schiwon 249dc4490f improve PHP doc and remove superflous by reference indicator 2015-12-09 14:34:23 +01:00
Arthur Schiwon 0c1c029571 hardening, add some checks for whitespace-only strings 2015-12-09 14:34:23 +01:00
Arthur Schiwon 9a440c06b0 OC not oc 2015-12-09 14:34:23 +01:00
Arthur Schiwon 9dc4171830 parameter checks for setting actor and object to happen only in one place 2015-12-09 14:34:23 +01:00
Arthur Schiwon 4273689e9f fix usage of empty 2015-12-09 14:34:23 +01:00
Arthur Schiwon e3dbc3d40c different strategy in cleaning up after user was deleted
we do not listen to deletion hooks anymore, because there is no guarantee that they
will be heard - requires that something fetches the CommentsManager first.

Instead, in the user deletion routine the clean up method will be called directly. Same way
as it happens for files, group memberships, config values.
2015-12-09 14:34:23 +01:00
Arthur Schiwon 2ce2de0ae5 add icommentsmanger and icomment implementation
register CommentsManager service, allow override, document in config.sample.php

don't insert autoincrement ids in tests, because of dislikes from oracle and pgsql

specify timezone in null date

only accepts strings for ID parameter that can be converted to int

replace forgotten hardcoded IDs in tests

react on deleted users

react on file deletion

Postgresql compatibility

lastInsertId needs *PREFIX* with the table name

do not listen for file deletion, because it is not reliable (trashbin, external storages)

add runtime cache for comments
2015-12-09 14:34:23 +01:00
Thomas Müller 04f4565fcd Merge pull request #21060 from owncloud/support-for-read-only-config-dir
Add support for read only config dir
2015-12-09 14:32:00 +01:00
Thomas Müller 5c95939bf3 Merge pull request #21061 from owncloud/fix-oracle-last-insert-id-test
Fix the last insert id test by changing to an autoincremen…
2015-12-09 11:53:43 +01:00
Thomas Müller eb14c9dc1e Merge pull request #21056 from owncloud/check-return
Verify return type
2015-12-09 11:29:25 +01:00
Thomas Müller 74e7fb1438 Merge pull request #21055 from owncloud/fix-php-docs-for-console
Fix PHPDoc and check if path does exists
2015-12-09 11:28:53 +01:00
Joas Schilling bef6344b27 Do not quote the table name for lastInsertId() 2015-12-09 11:09:02 +01:00
Thomas Müller bb8dbc291b Merge pull request #21005 from owncloud/verify_password_before_unshare
The ajax code path unshares a link share when updating the password
2015-12-09 10:05:20 +01:00
Thomas Müller bc744ff6de Merge pull request #21038 from owncloud/share-computesharepermissions-notstore
Fix (re)share permission checks in a few code paths
2015-12-09 10:04:56 +01:00
Lukas Reschke b50987165e Add support for read only config dir
We already support the `config_is_read_only` for the config file itself. However not for the whole directory (which is a bug).

This unifies the check in the checkServer routine with the one in base.php. Now one can enable a read only config folder so that ownCloud is not allowed to overwrite it's own source code.

To test this set the whole config folder to read only, clear your session, refresh, see it fails, add the new code, refresh, see it works. Also verify that setup still works fine. (obviously setup does not work with a read only config Also verify that setup still works fine. (obviously setup does not work with a read only config))

Fixes https://github.com/owncloud/core/issues/14455
2015-12-09 08:54:11 +01:00
Lukas Reschke 61da3d530d Verify return type
Can also be null. Silences another security warning...
2015-12-09 07:32:19 +01:00
Lukas Reschke 11e98e2de6 Fix PHPDoc and check if path does exists
Mutes another security warning of some static scanners.
2015-12-09 06:57:24 +01:00
Vincent Petry d0cca6c3ad Add explicit check for groups excluded from sharing
Since isSharable() doesn't do the check for groups excluded from
sharing, adding an explicit check in the sharing code.
2015-12-08 16:48:33 +01:00
Lukas Reschke 7c45eaa70b Add type description
Allows IDEs and static code analyzers. Would have saved me some minutes today :)
2015-12-08 15:20:54 +01:00
Thomas Müller 49095fa4bb Merge pull request #21031 from owncloud/sanitize-findAppInDirectories
Sanitize the appId passed to `findAppInDirectories`
2015-12-08 13:52:04 +01:00
Thomas Müller 45fe8271ab Merge pull request #21030 from owncloud/querybuilder-new-features
Querybuilder new features
2015-12-08 13:51:45 +01:00
Thomas Müller 85409b6701 Merge pull request #20786 from owncloud/systemtags-dav
DAV endpoint for system tags
2015-12-08 13:51:25 +01:00
Vincent Petry 6e4006d139 Add reshare permission checks
Added in isSharable() in incoming remote share.
Added in isSharable() in regular incoming share.
Added in FileInfo to make sure the proper attributes are returned to the
clients.
2015-12-08 13:13:26 +01:00
Vincent Petry e241d26316 Compute share permissions in the view
The share permissions are now computed in the View/FileInfo instead of
storing them directly/permanently on the storage
2015-12-08 13:04:22 +01:00
Joas Schilling 9f98849306 Add a method to the get "to use" table and column name 2015-12-08 11:04:28 +01:00
Thomas Müller fe8dc0bd5e Merge pull request #21022 from owncloud/get-rid-of-by-reference
Get rid of by reference
2015-12-08 11:04:25 +01:00
Lukas Reschke 715f89a9d9 Sanitize the appId passed to `findAppInDirectories`
Would have prevented quite some security bugs in the past. Nice hardening for now.
2015-12-08 10:03:22 +01:00
Joas Schilling a3391248e4 Add select distinct to the query builder 2015-12-08 09:49:21 +01:00
Joas Schilling f2c7acb3c0 Allow getting the last insert id without much hassle 2015-12-08 09:40:20 +01:00
Lukas Reschke 4b293dffe5 Use \OCP\Util::sanitizeHTML instead of \OC_Util::sanitizeHTML 2015-12-08 08:56:47 +01:00
Lukas Reschke 70c228a7cc Get rid of passing a reference
Fixes https://github.com/owncloud/core/issues/14643
2015-12-08 08:56:46 +01:00
Lukas Reschke 8289943a0f Do not trust casting 2015-12-08 08:50:00 +01:00
Lukas Reschke 451ba4ddaa Remove unused repair steps
These ones are not necessary anymore for the new major release.
2015-12-08 08:46:41 +01:00
Lukas Reschke 6ea7410041 Remove legacy check
This one is not required anymore as we have the RepairConfig repair step since November 2014.
2015-12-08 08:44:42 +01:00
Lukas Reschke 8903afec26 Don't write directives from CLI 2015-12-08 08:17:04 +01:00
Lukas Reschke 0a89073c47 Run .htaccess updates in any case
This is the same what we also do in updater.php and thus this aligns the code. Makes the code paths more consistent.
2015-12-08 08:16:24 +01:00
Lukas Reschke 235094ab54 Remove version check out of .htaccess
This can now be achieved using the new code signing.
2015-12-08 08:16:23 +01:00
Lukas Reschke 3bce1b20fe Add DirectorySlash to dynamic .htaccess write
When `DirectorySlash off` is set then Apache will not lookup folders anymore. This is required for example when we use the rewrite directives on an existing path such as  `/core/search`. By default Apache would load `/core/search/` instead `/core/search` so the redirect would fail here.

This leads however to the problem that URLs such as `localhost/owncloud` would not load anymore while `localhost/owncloud/` would. This has caused problems such as https://github.com/owncloud/core/pull/21015

With this change we add the `DirectorySlash off` directive only when the `.htaccess` is writable to the dynamic part of it. This would also make `localhost/owncloud` work again as it would trigger the 404 directive which triggers the redirect in base.php.
2015-12-08 08:10:55 +01:00
Thomas Müller 4100263bd6 Merge pull request #20996 from owncloud/issue-12215-remove-password-reset-when-not-possible
Issue 12215 remove password reset when not possible
2015-12-07 19:55:26 +01:00
Scrutinizer Auto-Fixer 453e1bf66e Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-07 15:43:36 +00:00
Roeland Jago Douma 780d80d7c3 The ajax code path unshares a link share when updating the password
In order to not mess up existing shares if the password gets verified we
should first fire this validation.
2015-12-07 16:38:49 +01:00
Thomas Müller 663f31b127 Merge pull request #20993 from owncloud/issue-20666-language-always-overwritten
Do not overwrite the language when it's just missing for one app
2015-12-07 16:19:21 +01:00
Joas Schilling 87bc02c6cd Allow specifying a custom reset-password-url 2015-12-07 15:41:40 +01:00
Thomas Müller a9e5faf7d0 Merge pull request #20981 from owncloud/issue-19848-multiple-emails-for-sharelink
Allow sending a share email to multiple users
2015-12-07 15:17:19 +01:00
Joas Schilling f8f3c9ecf9 Remove password reset when the user can not change the password 2015-12-07 15:14:19 +01:00
Joas Schilling c6dbe8ac63 Do not overwrite the language when it's just missing for one app 2015-12-07 14:46:53 +01:00
Thomas Müller d155c8e5fe Add unix_socket support for mysql during initial installation - fixes #20210 2015-12-07 12:00:31 +01:00
Joas Schilling 5b87413792 Allow sending a share email to multiple users 2015-12-07 10:49:34 +01:00
Thomas Müller 764b2932ff Merge pull request #20960 from owncloud/drop-OC_Util-getUrlContent
Remove OC_Util::getUrlContent and replace by proper usage of public i…
2015-12-07 10:21:16 +01:00
Thomas Müller f3d49a89fe Merge pull request #11131 from owncloud/use-phpini-wrapper
Replacing ini_get instances with inigetwrapper usages
2015-12-07 10:20:59 +01:00
Thomas Müller 0c3d97921f Merge pull request #20904 from owncloud/view-mime-filter
Fix mimetype filter in getDirectoryContent
2015-12-07 10:20:43 +01:00
Thomas Müller e1f2965e54 Merge pull request #20949 from owncloud/fix_20892
[Sharing] Properly check if a group already has access
2015-12-07 10:20:05 +01:00
Thomas Müller c1fb9fa483 Merge pull request #20957 from owncloud/use-correct-method-signature
Use correct method signature
2015-12-07 10:18:03 +01:00
Morris Jobke 4548a0aa90 Remove OC_Util::getUrlContent and replace by proper usage of public interfaces 2015-12-04 18:02:47 +01:00
Vincent Petry 316b907a13 Fixed system tags DAV and API and docs 2015-12-04 17:30:50 +01:00
Morris Jobke 46a6c6d70b remove OC_App::getActiveNavigationEntry - not unsed anymore 2015-12-04 17:26:28 +01:00
Morris Jobke e6d4496fc2 Remove unused setActiveNavigationEntry of OC_App - it's also in OCP\App 2015-12-04 17:23:51 +01:00
Lukas Reschke d522797227 Use correct method signature
This function takes only one parameter
2015-12-04 15:52:42 +01:00
Roeland Jago Douma 11d8b336e2 [Sharing] Properly check if a group already has access
The old code check was to liberal resulting in wrong matches if a user
with the same name as the group already had access.

Fixes 20892
2015-12-04 12:22:21 +01:00
Thomas Müller 6034c9142d Merge pull request #20933 from owncloud/more-OC_Config-cleanups
More cleanups of OC_Config usage
2015-12-04 09:06:47 +01:00
Thomas Müller 602b636d3e Merge pull request #20807 from owncloud/dont-append-redirect-url-if-user-is-already-logged-in
Don't append redirect URL if user is logged-in
2015-12-03 16:53:59 +01:00
Morris Jobke c60c793cf2 More cleanups of OC_Config usage 2015-12-03 16:41:23 +01:00
Vincent Petry cc72c6a30d Added dav endpoints for system tags 2015-12-03 15:23:21 +01:00
Morris Jobke aa0265bd34 Replace OC_Config in setup 2015-12-03 14:35:15 +01:00
Thomas Müller 2d1cc8aaeb Merge pull request #19461 from owncloud/reuse_code
reuse code
2015-12-03 13:55:50 +01:00
Robin Appelman 19b2fe6a3a Fix mimetype filter in getDirectoryContent 2015-12-03 13:09:13 +01:00
Thomas Müller e7239b6553 Merge pull request #20872 from owncloud/systemtags-better-not-found-exception
Systemtags better not found exception
2015-12-03 09:26:05 +01:00
Thomas Müller a5c80ba8bc Merge pull request #20894 from owncloud/post-delete-meta-view
Also add metadata for postDelete hooks triggered from the view
2015-12-03 09:24:54 +01:00
Thomas Müller 7fefd4f4d9 Merge pull request #20860 from owncloud/use-user-getEMailAddress-all-over-the-place
User IUser::getEMailAddress() all over the place
2015-12-03 09:21:53 +01:00
Thomas Müller 09600058d0 Merge pull request #20901 from owncloud/get-rid-of-more-legacy-config-stuff
Replace old config code with usage of proper APIs
2015-12-02 21:54:42 +01:00
Thomas Müller dcc7ff09ba Adding unit test for MailNotifications::sendInternalShareMail() 2015-12-02 21:42:14 +01:00
Thomas Müller eebe2b9c23 User IUser::getEMailAddress() all over the place 2015-12-02 21:25:05 +01:00
Thomas Müller df5872ec50 Merge pull request #20719 from owncloud/adding-system-addressbook-of-users
Adding system addressbook for users of this instance - a occ command …
2015-12-02 16:17:58 +01:00
Morris Jobke 37ecde065b Replace old config code with usage of proper APIs 2015-12-02 15:56:59 +01:00
Morris Jobke baecfc4080 Reduce OC_Config usage in lib/
* replaced by proper public interfaces
2015-12-02 14:49:40 +01:00
Thomas Müller 28ceab2f61 Fix endless recursion 2015-12-02 14:44:41 +01:00
Robin Appelman 0062888aaf Also add metadata for postDelete hooks triggered from the view 2015-12-02 13:51:26 +01:00
Thomas Müller 8d218bf3ef Merge pull request #20875 from owncloud/remove-changepropagator
remove old propagation logic
2015-12-02 13:03:31 +01:00
Lukas Reschke 09d9e430d8 Add a trailing slash to generated URLs 2015-12-02 11:27:07 +01:00
Thomas Müller 812a390f32 Merge pull request #20879 from owncloud/check-if-rewrite-base-is-set-if-rewrite-is-active
Check if rewrite base is set if rewrite is active
2015-12-02 10:56:44 +01:00
Thomas Müller c46ea30248 Merge pull request #20865 from owncloud/post-delete-meta
Add metadata to post delete hooks
2015-12-02 10:12:54 +01:00
Thomas Müller f840d8dee7 Merge pull request #20874 from owncloud/allow-di-mimetypedetector
Allow DI for OCP\Files\IMimeTypeDetector
2015-12-02 10:12:35 +01:00
Thomas Müller 0bd0212731 Merge pull request #20877 from owncloud/fix-empty-expirationDate
Check the expiration date for null
2015-12-02 10:12:16 +01:00
Thomas Müller 4c695e63c0 Fix comments 2015-12-02 09:20:58 +01:00
Thomas Müller 0391cc0451 Fix getCloudId 2015-12-02 09:14:41 +01:00
Thomas Müller 6abc02cb88 Proposal: add enumeration function to IUserManager which simply calls a callbask for each user in all backends 2015-12-02 09:14:41 +01:00
Thomas Müller df6fc6cc70 Add the user's cloud id to the vCard 2015-12-02 09:14:41 +01:00
Thomas Müller dad6470baa Add IUser::getAvatarImage() for easy access 2015-12-02 09:14:41 +01:00
Roeland Jago Douma b00db2c933 DI in avatar code
* DI in avatar code
* Use the node API
* More unit tests
* Unit tests no longer require DB
2015-12-01 22:15:43 +01:00
Lukas Reschke 6a067b1ec9 Set RewriteBase to / if OC::WEBROOT is not set 2015-12-01 22:03:25 +01:00
Lukas Reschke 002e719789 Set "SetEnv" within base `.htaccess` file
mod_rewrite as used by the front controller may require a `RewriteBase` in case the installation is done using an alias. Since we cannot enforce a writable `.htaccess` file this will move the `front_controller_active` environment variable into the main .htaccess file. If administrators decide to have this one not writable they can still enable this feature by setting the `front_controller_active` environment variable within the Apache config.
2015-12-01 19:06:48 +01:00
Morris Jobke 3061e5d2fc Check the expiration date for null
* null is always less than any value -> expirationDate gets null
  which is "no date set"
* ref https://github.com/owncloud/core/issues/20590#issuecomment-158393075
2015-12-01 17:43:05 +01:00
Robin Appelman 62cc316c6a remove old propagation logic 2015-12-01 16:50:20 +01:00
Joas Schilling 44852ce324 Allow DI for OCP\Files\IMimeTypeDetector 2015-12-01 16:49:20 +01:00
Lukas Reschke 2515cb17be Support pretty URLs
This changeset allows ownCloud to run with pretty URLs, they will be used if mod_rewrite and mod_env are available. This means basically that the `index.php` in the URL is not shown to the user anymore.

Also the not deprecated functions to generate URLs have been modified to support this behaviour, old functions such as `filePath` will still behave as before for compatibility reasons.

Examples:
http://localhost/owncloud/index.php/s/AIDyKbxiRZWAAjP => http://localhost/owncloud/s/AIDyKbxiRZWAAjP
http://localhost/owncloud/index.php/apps/files/ => http://localhost/owncloud/apps/files/

Due to the way our CSS and JS is structured the .htaccess uses some hacks for the final result but could be worse... And I was just annoyed by all that users crying for the removal of `index.php` ;-)
2015-12-01 16:46:07 +01:00
Thomas Müller 74e8c25a5b Merge pull request #20285 from owncloud/add-integrity-checker
Add code integrity checker foundation
2015-12-01 15:27:50 +01:00
Joas Schilling 1d0c041ac8 Add a method to get the list of tags from the TagNotFound Exception 2015-12-01 14:54:34 +01:00
Robin Appelman 0d63e95a5d Add metadata to post delete hooks 2015-12-01 13:22:58 +01:00
Joas Schilling 1761fdd9ee Fix the docs of the exceptions and remove hardcoded language from the message 2015-12-01 12:32:50 +01:00
Lukas Reschke 4971015544 Add code integrity check
This PR implements the base foundation of the code signing and integrity check. In this PR implemented is the signing and verification logic, as well as commands to sign single apps or the core repository.

Furthermore, there is a basic implementation to display problems with the code integrity on the update screen.

Code signing basically happens the following way:

- There is a ownCloud Root Certificate authority stored `resources/codesigning/root.crt` (in this PR I also ship the private key which we obviously need to change before a release 😉). This certificate is not intended to be used for signing directly and only is used to sign new certificates.
- Using the `integrity:sign-core` and `integrity:sign-app` commands developers can sign either the core release or a single app. The core release needs to be signed with a certificate that has a CN of `core`,  apps need to be signed with a certificate that either has a CN of `core` (shipped apps!)  or the AppID.
- The command generates a signature.json file of the following format:
```json
{
    "hashes": {
        "/filename.php": "2401fed2eea6f2c1027c482a633e8e25cd46701f811e2d2c10dc213fd95fa60e350bccbbebdccc73a042b1a2799f673fbabadc783284cc288e4f1a1eacb74e3d",
        "/lib/base.php": "55548cc16b457cd74241990cc9d3b72b6335f2e5f45eee95171da024087d114fcbc2effc3d5818a6d5d55f2ae960ab39fd0414d0c542b72a3b9e08eb21206dd9"
    },
    "certificate": "-----BEGIN CERTIFICATE-----MIIBvTCCASagAwIBAgIUPvawyqJwCwYazcv7iz16TWxfeUMwDQYJKoZIhvcNAQEF\nBQAwIzEhMB8GA1UECgwYb3duQ2xvdWQgQ29kZSBTaWduaW5nIENBMB4XDTE1MTAx\nNDEzMTcxMFoXDTE2MTAxNDEzMTcxMFowEzERMA8GA1UEAwwIY29udGFjdHMwgZ8w\nDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANoQesGdCW0L2L+a2xITYipixkScrIpB\nkX5Snu3fs45MscDb61xByjBSlFgR4QI6McoCipPw4SUr28EaExVvgPSvqUjYLGps\nfiv0Cvgquzbx/X3mUcdk9LcFo1uWGtrTfkuXSKX41PnJGTr6RQWGIBd1V52q1qbC\nJKkfzyeMeuQfAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvF/KIhRMQ3tYTmgHWsiM\nwDMgIDb7iaHF0fS+/Nvo4PzoTO/trev6tMyjLbJ7hgdCpz/1sNzE11Cibf6V6dsz\njCE9invP368Xv0bTRObRqeSNsGogGl5ceAvR0c9BG+NRIKHcly3At3gLkS2791bC\niG+UxI/MNcWV0uJg9S63LF8=\n-----END CERTIFICATE-----",
    "signature": "U29tZVNpZ25lZERhdGFFeGFtcGxl"
}
```
`hashes` is an array of all files in the folder with their corresponding SHA512 hashes (this is actually quite cheap to calculate), the `certificate` is the  certificate used for signing. It has to be issued by the ownCloud Root Authority and it's CN needs to be permitted to perform the required action. The `signature` is then a signature of the `hashes` which can be verified using the `certificate`.

Steps to do in other PRs, this is already a quite huge one:
- Add nag screen in case the code check fails to ensure that administrators are aware of this.
- Add code verification also to OCC upgrade and unify display code more.
- Add enforced code verification to apps shipped from the appstore with a level of "official"
- Add enfocrced code verification to apps shipped from the appstore that were already signed in a previous release
- Add some developer documentation on how devs can request their own certificate
- Check when installing ownCloud
- Add support for CRLs to allow revoking certificates

**Note:** The upgrade checks are only run when the instance has a defined release channel of `stable` (defined in `version.php`). If you want to test this, you need to change the channel thus and then generate the core signature:

```
➜  master git:(add-integrity-checker) ✗ ./occ integrity:sign-core --privateKey=resources/codesigning/core.key --certificate=resources/codesigning/core.crt
Successfully signed "core"
```

Then increase the version and you should see something like the following:

![2015-11-04_12-02-57](https://cloud.githubusercontent.com/assets/878997/10936336/6adb1d14-82ec-11e5-8f06-9a74801c9abf.png)

As you can see a failed code check will not prevent the further update. It will instead just be a notice to the admin. In a next step we will add some nag screen.

For packaging stable releases this requires the following additional steps as a last action before zipping:
1. Run `./occ integrity:sign-core` once
2. Run `./occ integrity:sign-app` _for each_ app. However, this can be simply automated using a simple foreach on the apps folder.
2015-12-01 11:55:20 +01:00
Joas Schilling 3c5a6b829e Allow DI the system tag stuff without Application class 2015-11-30 17:08:29 +01:00
Thomas Müller 08248f66ba Merge pull request #20650 from owncloud/systemtags-core
Implement systemtag managers and mapper
2015-11-30 15:38:43 +01:00
Thomas Müller 995ceeb8d9 Merge pull request #20815 from owncloud/avatar-cache-size
cache resized avatars
2015-11-30 14:27:05 +01:00
Thomas Müller fc21aa6c41 Merge pull request #20248 from owncloud/use-phpunit-groups-to-run-database-code-in-isolation
Use phpunit groups to run database code in isolation
2015-11-30 14:25:35 +01:00
Lukas Reschke f4eb15d340 Show error template
Otherwise this leads to an endless redirection in case of a CSRF exception. Also sets user expectation right.
2015-11-30 11:25:52 +01:00
Thomas Müller a94819f4a4 Merge pull request #20809 from owncloud/dont-trust-update-server-message
Don't trust update server
2015-11-30 11:20:30 +01:00
Thomas Müller f9fc254672 Add DB group to some files_external tests
Adding group Db to federation tests and ldap tests

Add group DB to Test_UrlGenerator

Adding group DB to trashbin and versions tests

Adding group DB to Test_Util_CheckServer for pg
2015-11-30 10:55:10 +01:00
Joas Schilling c4bebf66d4 Do not count the entries when we only need to know if it is at least one 2015-11-30 10:20:00 +01:00
Joas Schilling aa1a0a15ea Fix use statements 2015-11-30 10:12:15 +01:00
Thomas Müller 9c1dbaf0ad Merge pull request #20788 from owncloud/catch-missing-route
Dont die when we're missing a route
2015-11-30 10:11:12 +01:00
Joas Schilling 6816b36cdb Add backticks inside function to escape the column 2015-11-30 10:07:00 +01:00
Robin Appelman 6b7e748245 cache resized avatars 2015-11-28 17:33:16 +01:00
Lukas Reschke f3e9106864 Don't trust update server
In case the update server may deliver malicious content this would allow an adversary to inject arbitrary HTML into the response. So very bad stuff.

While signing the response would be better and something we can also do in the future (considering the code signing work), this is already a good first start.
2015-11-28 12:21:53 +01:00
Robin Appelman 4c4331982c Merge pull request #20789 from owncloud/scanner-skip-not-available
Skip unavailable storages in scanner
2015-11-27 22:57:47 +01:00
Vincent Petry b666367a79 Added system tags data structure and PHP side managers
Added SystemTagManager and SystemTagObjectMapper
2015-11-27 17:54:29 +01:00
Robin Appelman b05c8faba8 Dont die when we're missing a route 2015-11-27 14:29:06 +01:00
Robin Appelman 816cd66b4b also log exception 2015-11-27 14:28:15 +01:00
Thomas Müller bdbefe17d6 Merge pull request #20782 from mitar/better-https
Also allow empty value for no-HTTPS
2015-11-27 14:24:23 +01:00
Robin Appelman ae71f80f4a Skip unavailable storages in scanner 2015-11-27 14:02:50 +01:00
Mitar 59511d97ee Also allow empty value for no-HTTPS.
This makes it work better with old version of Nginx.
2015-11-27 01:01:56 -08:00
Morris Jobke 7aed592957 Add full interface of server container as alias 2015-11-26 18:20:25 +01:00
Thomas Müller 8fe878afe9 Merge pull request #20602 from owncloud/fix-installed-apps
Always installed apps includes the hardcoded ones from shipped.json
2015-11-26 16:50:05 +01:00
Thomas Müller 80c43ffc6c Merge pull request #20702 from owncloud/move-user-principal-into-subfolder
Users are available under it's own principal resource named 'principa…
2015-11-26 16:49:49 +01:00
Thomas Müller 19d5059109 Merge pull request #20393 from owncloud/querybuilder-select-with-alias
Add a method to select a field or value with alias
2015-11-26 16:19:20 +01:00
Morris Jobke 675417a75c Untangle the linkToDocs method in OC_Helper
* now uses the proper URLGenerator interface
* add comment about DI problems
2015-11-26 13:58:43 +01:00
Thomas Müller 3882cc8ef3 Merge pull request #20744 from owncloud/oc_helper-getMimeType-cleanup
Remove last occurences of OC_Helper::getMimeType()
2015-11-26 12:37:25 +01:00
Thomas Müller 5a33390a69 Merge pull request #20731 from owncloud/per-storage-updater
Make Cache\Updater per storage
2015-11-26 12:01:44 +01:00
Morris Jobke 0b8296a756 remove unused method 2015-11-26 10:58:30 +01:00
Morris Jobke 4fcab98694 Remove unused internal methods
* removes OC_Helper::mb_substr_replace and OC_Helper::mb_str_replace
* keeps public interface wrapper working as expected
2015-11-26 10:25:43 +01:00
Morris Jobke 9318606faf Remove last occurences of OC_Helper::getMimeType()
* ref #4774
2015-11-26 10:18:32 +01:00
Thomas Müller b799e42b4e Introduce \OCP\IUser::getEMailAddress() 2015-11-25 22:23:34 +01:00
Thomas Müller 9ec2f8886e Merge pull request #20691 from owncloud/share2.0_di_fixes
[Sharing 2.0] di fixes
2015-11-25 15:25:50 +01:00
Thomas Müller afe76840f8 Merge pull request #20705 from owncloud/fix_20648
Fix overriding function from 3rdparty warning
2015-11-25 15:24:20 +01:00
Robin Appelman b025f07fb7 Make Cache\Updater per storage 2015-11-25 14:16:00 +01:00
Thomas Müller 50f6817ce9 Merge pull request #20439 from owncloud/etag-propagate-in-storage
Take submount etag into account for folder etags
2015-11-25 12:49:54 +01:00
Thomas Müller 89b9f5518b Merge pull request #20636 from owncloud/savre-3.0
sabre/dav 3.0 and related
2015-11-24 16:20:48 +01:00
Thomas Müller 4bb346a1e6 Merge pull request #20692 from owncloud/federation_auto_add_servers
auto-add ownClouds to the list of trusted servers
2015-11-24 16:19:39 +01:00
Thomas Müller ae36c01b95 Adjust sabre changes in core 2015-11-24 15:11:54 +01:00
Roeland Jago Douma cfdf2b9976 Fix overriding function from 3rdparty warning
Fixes #20648
2015-11-24 13:25:50 +01:00
Björn Schießle 964fa1fce3 use hooks to auto add server to the list of trusted servers once a federated share was created 2015-11-24 11:34:38 +01:00
Roeland Jago Douma 85976b7293 [Sharing 2.0] Fix phpdoc etc 2015-11-24 10:26:36 +01:00
Roeland Jago Douma a2b8483779 [Sharing 2.0] Default share provider only generic DI
No injection of userfolders etc. Only generic DI components
(IRootFolder) etc should be used to make sure we can also run this from
the cli
2015-11-24 10:26:36 +01:00
Roeland Jago Douma aeae73b364 [Sharing 2.0] Removed unused DI stuff
The share manager etc should not care about filtering stuff. They should
return what is asked for them.
2015-11-24 10:26:36 +01:00
Joas Schilling 018bd3ee24 Make sure that object id can be a string 2015-11-23 14:18:15 +01:00
Morris Jobke 728648ad77 Replace new occurences of ini_get with IniWrapper methods 2015-11-23 14:12:36 +01:00
Clark Tomlinson 9caf4ffbfc Replacing ini_get instances with inigetwrapper usages 2015-11-23 14:12:31 +01:00
Thomas Müller 021137d7ae Merge pull request #20679 from owncloud/fixphpdoc
p() supports string as argument
2015-11-23 13:32:46 +01:00
Thomas Müller df906f475b Merge pull request #20617 from owncloud/fix-usage-of-lastInsertId
lastInsertId() is properly working with Oracle if the table name is p…
2015-11-23 13:29:08 +01:00
Thomas Müller 240cc1c4ea Merge pull request #20543 from owncloud/share2.0_fix_hooks
Move hook and delete children logic to share manager
2015-11-23 13:28:49 +01:00
Joas Schilling 1c7d7288c4 Add a method to select a field or value with alias 2015-11-23 13:28:31 +01:00
Roeland Jago Douma 1360e22d7c [Sharing 2.0] Move hook and delete children logic to share manager
To make sure hooks are always fired and child entries are always
cleaned. This logic is moved to the share manager.

* Updated unit tests
2015-11-23 12:28:54 +01:00
Morris Jobke 7138659080 p() supports string as argument 2015-11-23 12:11:23 +01:00
Thomas Müller aa660ec232 Throw an exception in case no table name is passed into lastInsertId of the Oracle adapter 2015-11-23 11:44:08 +01:00
Thomas Müller 9f69021691 lastInsertId() is properly working with Oracle if the table name is properly passed in 2015-11-23 11:44:08 +01:00
Joas Schilling a370c29068 Use a DateTime object instead of a timestamp 2015-11-23 11:41:48 +01:00
Individual IT Services 1835462ec4 reuse code 2015-11-23 11:02:46 +01:00
Thomas Müller 79bbda994b Merge pull request #16902 from owncloud/jsocclient
Web UI uses Webdav instead of ajax/* calls
2015-11-23 09:38:01 +01:00
Thomas Müller 2f89eef334 Merge pull request #20524 from owncloud/pgsql-version-check-error
assume pgsql >=9 if checking the version fails
2015-11-23 09:05:13 +01:00
Robin Appelman 2d7c9f0ba9 also match ie11 with Request::USER_AGENT_IE 2015-11-22 16:05:52 +01:00
Vincent Petry a05e40932c Now using IE8 workaround of davclient.js for all IE versions 2015-11-22 16:05:52 +01:00
Thomas Müller 358858c9e3 Fix undefined HTTP_USER_AGENT 2015-11-22 16:05:50 +01:00
Vincent Petry fb3d5c7856 Add evert's davclient.js + es6-promise + IE8 workaround
- Add davclient.js lib
- Add es6-promise required by that lib
- Wrote IE8 workaround lib/shim for davclient.js
2015-11-22 16:05:49 +01:00
Thomas Müller 427d107b9f Merge pull request #20614 from owncloud/use-mocks-when-testing-isSharingDisabledForUser
Use mocks when testing isSharingDisabledForUser
2015-11-20 15:22:52 +01:00
Thomas Müller c86483f3ed Adjust PHPDoc as suggested 2015-11-20 14:38:29 +01:00
Thomas Müller c565a7b042 Fix failing unit test 💀 2015-11-19 16:44:43 +01:00
Thomas Müller 9ec2850c78 Use mocks when testing isSharingDisabledForUser 2015-11-19 15:36:16 +01:00
Roeland Jago Douma ca6bd5cacd Follow the interface again 2015-11-19 14:34:59 +01:00
Robin Appelman 888df3933d take the etag of child mounts into account for the folder etag
this replaces shared etag propagation
2015-11-19 13:32:00 +01:00
Robin Appelman d006a7c723 Fix scanning of incomplete folders 2015-11-19 13:30:50 +01:00
Robin Appelman 02f847bc66 use relative path 2015-11-19 13:30:50 +01:00
Robin Appelman d5061b8139 fix fileinfo for non existing files 2015-11-19 13:30:50 +01:00
Robin Appelman 1736c70075 Some more cleanup for getFIleInfo/getDirectoryContent 2015-11-19 13:30:50 +01:00
Robin Appelman 02be8a3a12 Split getting cache entry and checking update to a seperate method 2015-11-19 13:29:12 +01:00
Morris Jobke 1189528e1f Always installed apps includes the hardcoded ones from shipped.json
* fixes #20568
2015-11-19 09:11:14 +01:00
Robin Appelman 71b86c0ed4 Handle non existing users as owner in the view 2015-11-18 17:08:18 +01:00
Thomas Müller 8d74e28af6 Merge pull request #20438 from owncloud/memcache-key-length-fix
Handle errors on memcached level
2015-11-18 14:20:57 +01:00
Thomas Müller 6efa72867a Merge pull request #20540 from owncloud/fix-format-call-in-logger
Try to fix logging errors we did observe on ci ....
2015-11-18 09:18:54 +01:00
Thomas Müller aba119951e Merge pull request #20494 from owncloud/storage-forbidden-exception
Allow storage wrappers to through a forbidden exception with retry information for clients
2015-11-18 09:13:45 +01:00
Thomas Müller 8db9c49cda Merge pull request #20551 from owncloud/notification-fix-tests
Notification - Add tests for the "return $this" and fix it on the new method
2015-11-18 09:12:27 +01:00
Thomas Müller 74ce6d29e1 Merge pull request #20544 from owncloud/move-index-to-appframework
Move index.php from files to AppFramework
2015-11-17 12:49:38 +01:00
Joas Schilling e2cfcd992c Allow storage wrappers to through a forbidden exception with retry information 2015-11-17 10:39:52 +01:00
Joas Schilling 2fde6a77d7 Add tests for the "return $this" and fix it on the new method 2015-11-17 09:26:13 +01:00
Thomas Müller 705d208a8a Merge pull request #20539 from owncloud/notification-api-adjustment
Notification api update
2015-11-17 08:39:06 +01:00
Lukas Reschke daa388ce8d Move index.php from files to AppFramework
1. Allows it to use the more secure CSP rules of the AppFramework.
2. Adds some unit tests.
2015-11-16 21:10:11 +01:00
Thomas Müller 6ffd042a64 fixes #20538 2015-11-16 16:29:21 +01:00
Joas Schilling 40d5d55124 Remove the icon for now 2015-11-16 16:17:23 +01:00
Joas Schilling 1666af89c2 Add "is primary action" to actions 2015-11-16 16:14:52 +01:00
Thomas Müller 8169e4fdc8 Merge pull request #20465 from owncloud/forms.css
Move form styles from styles.css to inputs.css
2015-11-16 15:29:02 +01:00
Roeland Jago Douma 1e9fc33212 [Share2.0] OCS Share API getShare uses new code 2015-11-16 13:32:28 +01:00
Robin Appelman cc1db4ba87 assume pgsql >=9 if checking the version fails 2015-11-16 13:11:32 +01:00
Hendrik Leppelsack 7ab56de58b move form styles from styles.css to inputs.css 2015-11-13 00:19:57 +01:00
Thomas Müller aff4aed43c Merge pull request #20472 from owncloud/switch-ch-log_with_ms_precision
enable microseconds in log timestamps
2015-11-12 17:30:32 +01:00
Christian Schnidrig d0464bf772 enable microseconds in log timestamps 2015-11-12 10:33:20 +01:00
Thomas Müller 3248db05f1 Merge pull request #17920 from andyboeh/master
Add possibility for alternative logins to force redirection of login page
2015-11-12 10:15:23 +01:00
Thomas Müller af05be1ac7 Merge pull request #20461 from owncloud/assetpipeline-on-upgrade
Do not use the asset pipeline when doing updates
2015-11-12 08:51:30 +01:00
Joas Schilling c9753655dc Do not use the asset pipeline when doing updates 2015-11-11 18:18:33 +01:00
Thomas Müller c9b671a12f Handle errors on memcached level - fixes #17397 2015-11-10 15:58:17 +01:00
Robin Appelman 331ef0e3c0 Add getOwner to FileInfo 2015-11-10 10:55:29 +01:00
Thomas Müller 422d29ae48 Merge pull request #20373 from owncloud/use-random-int-if-it-exists
Use native CSPRNG if available
2015-11-10 10:10:23 +01:00
Robin Appelman 960c8cb5bc Merge pull request #16604 from owncloud/cache-escape-like
escape like parameter in cache operations
2015-11-10 09:45:00 +01:00
Thomas Müller f8e020ff87 Merge pull request #20390 from owncloud/appcheckcode-no-duplicate-requirement
Do not allow two different version requirements
2015-11-10 00:27:05 +01:00
Roeland Jago Douma 402e0afbc5 Fix Error message when sharing outside of group
For #19788
2015-11-09 15:52:17 +01:00
Lukas Reschke 045ea4eb2b Use native CSPRNG if available
Unfortunately only PHP 7…
2015-11-09 15:04:22 +01:00
Joas Schilling fe04451cb1 Do not allow two different version requirements 2015-11-09 11:10:37 +01:00
Thomas Müller cc4f4f222d Merge pull request #20348 from owncloud/issue-20303-integer-group-names
Make sure that group names are strings not integers
2015-11-06 11:48:40 +01:00
Thomas Müller 8047597a81 Merge pull request #20288 from owncloud/fix_20234
make sure that we update the unencrypted size for the versions
2015-11-06 11:17:17 +01:00
Joas Schilling 292dc553c3 Make sure that group names are strings not integers 2015-11-06 10:40:09 +01:00
Robin Appelman d36e1bbab2 escape like parameter for move queries 2015-11-05 16:41:33 +01:00
Robin Appelman d514200b56 Add escapeLikeParameter to IDBConnection 2015-11-05 16:41:30 +01:00
Robin Appelman b05e1b6ed3 define escape character for like statements on oracle 2015-11-05 16:29:35 +01:00
Robin Appelman b394fe8709 define escape character for like statements on sqlite 2015-11-05 16:28:54 +01:00
Robin Appelman 236c3c62cc move from OC_DB to IDBConnection 2015-11-05 16:25:02 +01:00
Roeland Jago Douma 0be05fdddd Add unshare hooks 2015-11-05 15:59:09 +01:00
Roeland Jago Douma 6624fa212a The new sharing code now handles deletion
OCS -> ShareManager -> DefaultShareProvider
2015-11-05 15:59:09 +01:00
Roeland Jago Douma 9567fa1194 Initial setup of shareing 2.0 sharemanager and share
* Added sharemanager class

This is the central class where all API calls talk to (OCS/Activity).
This in turn talks to the share providers to get the actual sharing
done.

It uses all ShareObjects

* Added share class

Simple class to hold all the share properties that is passed around

* Added IShareProvider interface

Interface that providers os a share have to implement.
2015-11-05 15:59:08 +01:00
Arthur Schiwon 51ead4e59b subadmin methods should not return any null user or group 2015-11-05 11:50:57 +01:00
Thomas Müller ba02a3771b Merge pull request #20053 from owncloud/getfileinfo-locking
Don't lock if we're only reading cache metadata
2015-11-04 22:40:17 +01:00
Robin Appelman a2cfbd975a mark path as checked 2015-11-04 16:34:39 +01:00
Robin Appelman c487f0f138 when a file is locked use old cache data 2015-11-04 14:45:10 +01:00
Thomas Müller bb216feeb2 Merge pull request #18361 from owncloud/sharing_performance_improvements
improve calculation of share recipients
2015-11-04 14:44:31 +01:00
Robin Appelman 0a56313ca4 fix whitespace 2015-11-04 14:41:03 +01:00
Björn Schießle 6d0a324144 make sure that we update the unencrypted size for the versions 2015-11-04 10:59:05 +01:00
Thomas Müller c59ca9203d Merge pull request #18821 from owncloud/global-classes
Global classes in core CSS
2015-11-04 10:30:10 +01:00
Bjoern Schiessle 4719305e3b cache result from parent folders 2015-11-04 09:27:29 +01:00
Robin Appelman fc7f7e5c37 only lock in getDirectoryContent if we need to update the cache 2015-11-03 18:23:22 +01:00
Robin Appelman 4f2656993e only lock in getFileInfo if we need to update the cache 2015-11-03 18:23:22 +01:00
Robin Appelman 0397871f7e Split checkUpdate 2015-11-03 18:23:22 +01:00
Thomas Müller b2a437ffff Add a new core capability which tells the clients which url to use 2015-11-03 14:27:36 +01:00
Thomas Müller 620dc7ce22 Merge pull request #20196 from owncloud/use-actual-mimetype-detection-instead-of-oath
Use actual mimetype detection instead of extension
2015-11-02 17:36:13 +01:00
Raghu Nayyar 56b537271e Global Classes for Core.
Move up the global styles up the hierarchy.

Adds Clear Left, Right and both.

New CSS file for Global Styles.
2015-11-02 20:54:02 +05:30
Thomas Müller b6ca23afe1 Merge pull request #20189 from owncloud/use-get-http-protocol
Use getHttpProtocol instead of $_SERVER
2015-11-02 10:13:41 +01:00
Lukas Reschke 40ae54d60a Use actual mimetype detection instead of extension
We cannot rely on the extension as the file may also be a valid TAR or ZIP file without such content. Especially when getting resources from the ownCloud appstore.
2015-10-31 00:55:37 +01:00
Lukas Reschke 78cad94ff4 Add support for Redis password auth
For enhanced security it is recommended to configure Redis to only accept connections with a password. (http://redis.io/topics/security)

This is especially critical since Redis supports the LUA scripting language and thus a simple SSRF vulnerability (as proven in http://benmmurphy.github.io/blog/2015/06/04/redis-eval-lua-sandbox-escape/ for example) may lead to a remote code execution.
2015-10-30 20:19:23 +01:00
Lukas Reschke bafb86fb9f Use getHttpProtocol instead of $_SERVER 2015-10-30 18:05:30 +01:00
Morris Jobke ef76998eda Add warning for broken l10n json files
* makes it easier to spot broken l10n files
2015-10-30 09:10:16 +01:00
Thomas Müller 73d9699be9 Merge pull request #20135 from owncloud/check-if-null-subadmin
Drop OC_SubAdmin and replace usages
2015-10-29 17:07:45 +01:00
Robin Appelman c30a68e2f8 Merge pull request #20060 from owncloud/cache-move-final-update-transaction
include the final update in the transaction when moving a folder in the cache
2015-10-29 16:45:59 +01:00
Thomas Müller 1ce911d2f9 Merge pull request #19592 from owncloud/availability-root-always-exists
The root of a storage always exists
2015-10-29 14:14:56 +01:00
Robin Appelman 01d3393b7b include the final update in the transaction when moving a folder in the cache 2015-10-29 12:34:49 +01:00
Thomas Müller 530f7229e7 Merge pull request #19869 from owncloud/cache-adjustcurrentmtimeonrename
On rename, also refresh storage_mtime of the target file
2015-10-29 11:57:00 +01:00
Lukas Reschke c6f6a8758b Drop OC_SubAdmin and replace usages 2015-10-29 11:31:18 +01:00
Thomas Müller 9ab44f1f00 Merge pull request #11509 from owncloud/internal_email_template
Allow separate templates for internal and external share notifications
2015-10-29 11:27:05 +01:00
Robin Appelman 33eb13e415 The root of a storage always exists 2015-10-29 11:21:50 +01:00
Stephen Colebrook 6feb31bf96 Allow separate templates for internal and external share notifications 2015-10-29 10:24:24 +01:00
Joas Schilling e5a7e3124a Add a repair step that checks for group membership on shares 2015-10-29 09:26:26 +01:00
Thomas Müller 8ad3df9b9e Merge pull request #19182 from cweiske/support-bzip2
Fix #19181: Support .bz2 app archives
2015-10-28 14:05:11 +01:00
Roeland Jago Douma 07fe1df8c1 Make \OC\SubAdmin php-5.4 compatible
* Also close some cursors while we are at it
2015-10-28 09:09:16 +01:00
Thomas Müller 40ba8d267f Merge pull request #19837 from owncloud/always-enabled-apps
Store list of apps which cannot be disabled in shipped.json
2015-10-26 17:14:29 +01:00
Vincent Petry b900782513 Also adjust storage_mtime of target after rename
Some storages like Dropbox change their mtime on rename...
2015-10-26 15:41:23 +01:00
Lukas Reschke 8f09d5b67c Update license headers 2015-10-26 14:04:01 +01:00
Thomas Müller d4d954b2d9 Merge pull request #19982 from owncloud/fix-link-sharing-regression-master
Ensure the password is only hashed in case it's changed on the client…
2015-10-26 10:57:31 +01:00
Thomas Müller 2038b2ec34 Fail hard if shipped.json is missing 2015-10-26 09:53:04 +01:00
Thomas Müller 5a5bcccd0d Don't show apps which are always enabled in the app manager 2015-10-26 09:53:04 +01:00
Thomas Müller 6fc59f85b6 Store list of apps which cannot be disabled in shipped.json 2015-10-26 09:53:04 +01:00
Lukas Reschke 13e817e901 Throw exception on `getPath` if file does not exist
Currently the `getPath` methods returned `NULL` in case when a file with the specified ID does not exist. This however mandates that developers are checking for the `NULL` case and if they do not the door for bugs with all kind of impact is widely opened.

This is especially harmful if used in context with Views where the final result is limited based on the result of `getPath`, if `getPath` returns `NULL` PHP type juggles this to an empty string resulting in all possible kind of bugs.

While one could argue that this is a misusage of the API the fact is that it is very often misused and an exception will trigger an immediate stop of execution as well as log this behaviour and show a pretty error page.

I also adjusted some usages where I believe that we need to catch these errors, in most cases this is though simply an error that should hard-fail.
2015-10-25 17:58:21 +01:00
Robin Appelman 9d7138aa50 Dont lock /$user/files 2015-10-23 14:59:16 +02:00
Roeland Jago Douma 9071e756a1 Fix for broken ajax/share.php endpoint
Even more code mess :(
All tests pass again. But I'm really not happy with this endpoint.
2015-10-23 09:24:03 +02:00
Volker Fröhlich 711e1235ea Expose syslog tag in the configuration 2015-10-22 17:42:55 +02:00
Thomas Müller 4f5ff9c105 Ensure the password is only hashed in case it's changed on the client - fixes #19950 2015-10-22 17:32:40 +02:00
Thomas Müller e471600834 Merge pull request #19890 from owncloud/db-keep-shared-locks
Keep shared locks until the end of the request so we can reuse them
2015-10-22 10:43:00 +02:00
Lukas Reschke 8133d46620 Remove dependency on ICrypto + use XOR 2015-10-21 17:33:41 +02:00
Thomas Müller f7f2a160dd Merge pull request #19918 from owncloud/send-begin-message
Update: state which step we are going to start and warn if it might b…
2015-10-21 14:52:19 +02:00
Thomas Müller 1060be0886 Merge pull request #19927 from owncloud/install-shipped-apps-on-upgrade
Install new shipped apps on upgrade
2015-10-21 14:43:27 +02:00
Roeland Jago Douma c515628ebe Legacy OC_SubAdmin is now just a wrapper 2015-10-21 11:32:38 +02:00
Roeland Jago Douma 0e9ab13943 New \OC\SubAdmin class
* DI
* Tests
* moved OC_SubAdmin to legacy
* Added to private OC\GroupManager
2015-10-21 11:32:38 +02:00
Thomas Müller d8276af301 Install new shipped apps on upgrade -fixes #19925 2015-10-21 11:14:12 +02:00
Thomas Müller d0aeb268d6 Merge pull request #19883 from owncloud/provide-iappcontainer
Provide IAppContainer as dependency injection
2015-10-21 10:49:26 +02:00
Thomas Müller cf9b8fc182 Merge pull request #18184 from owncloud/ocs-merge-headers
Merge headers of ocs results
2015-10-21 10:36:37 +02:00
Robin Appelman f39c73c79c add phpdoc 2015-10-21 09:43:30 +02:00
Robin Appelman cc7bd53d17 Keep shared locks until the end of the request so we can reuse them 2015-10-21 09:43:30 +02:00
Joas Schilling 9200bbeaba Update: state which step we are going to start and warn if it might be slow 2015-10-21 09:17:38 +02:00
Christian Weiske a543d20958 Fix #19181: Support .bz2 app archives
At first a bz2 handling in needs to be fixed; PEAR's Archive_Tar
otherwise gives the following error:
> Unsupported compression type "bz"
> Supported types are "gz", "bz2" and "lzma2"

After that we can whitelist the application/bz2 MIME type in the installer.
2015-10-20 21:56:24 +02:00
Thomas Müller 1a84c8e9d2 Merge pull request #19884 from owncloud/locking_exception
catch all exception if table doesn't exists
2015-10-20 13:44:00 +02:00
Thomas Müller 64dc222ce5 Merge pull request #19874 from owncloud/delete-cookie-instead-of-setting-value-to-empty
Delete cookie instead of emptying value
2015-10-20 12:47:46 +02:00
Björn Schießle 168c2055ba catch all exception if table doesn't exists 2015-10-20 11:34:08 +02:00
Thomas Müller 5752e3b3c0 Merge pull request #19666 from owncloud/fix_13002
Combine OCS API getUser method code into provisioning_api app
2015-10-20 11:10:39 +02:00
Morris Jobke a0743f12c6 Provide IAppContainer as dependency injection 2015-10-20 10:33:53 +02:00
Morris Jobke 5944b33d56 [OCI setup] remove static logger/config calls
* logger/config object are already injected - this only uses it
2015-10-20 08:53:57 +02:00
Lukas Reschke 5588c5f262 Delete cookie instead of emptying value
PHP will handle session cookies with an empty values as an E_WARNING error. ([php/#68063](https://bugs.php.net/bug.php?id=68063))

ownCloud sets the cookie to an empty value in case the session expires, it however after this starts a new session. Due to potential race conditions this can in unlikely cases lead to the fact that the session never gets restarted and the user is left with an empty cookie. PHP tries then to use the empty cookie which makes the instance not usable.

To work around any race condition we now tell PHP to explicitly delete the value which can be done by using `null` as value, PHP will then send a cookie with the value "deleted". Also theepiration has been set to -1.
2015-10-19 19:54:12 +02:00
Jörn Friedrich Dreyer 2895c91291 Merge pull request #17641 from owncloud/fix_objectstore_rename
don't move files in cache twice, fixes renaming for objectstores
2015-10-19 17:18:57 +02:00
Robin Appelman 9c5337ca3e Merge pull request #19833 from owncloud/fix_view_rmdir
Removemount expects absolutePath
2015-10-19 16:22:42 +02:00
Thomas Müller 7fe7655070 The full name has to be tested if it's a dir - fixes #19854 2015-10-19 10:07:33 +02:00
Robin Appelman 0c6c36d0c5 fix objectstore files having create permissions 2015-10-16 21:41:51 +02:00
Robin Appelman e46741cf5d detect object homestorage in share code 2015-10-16 21:41:51 +02:00
Jörn Friedrich Dreyer aab226cef7 don't move files in cache twice, fixes renaming for objectstores 2015-10-16 21:41:51 +02:00
Thomas Müller 6cd1126dd1 Merge pull request #19843 from owncloud/an-app-is-identified-by-having-a-info.xml-app.php-should-not-be-mandatory
an-app-is-identified-by-having-a-info.xml-app.php-should-not-be-manda…
2015-10-16 21:28:55 +02:00
Roeland Jago Douma 8fdb12f8fb Check for error when resharing 2015-10-16 20:43:17 +02:00
Roeland Jago Douma 9e86d71cc5 When sharing with the owner show the path
The error message should contain the path that is being shared not the
numeric id.
2015-10-16 20:43:17 +02:00
Thomas Müller a2ec080427 an-app-is-identified-by-having-a-info.xml-app.php-should-not-be-mandatory 2015-10-16 17:25:22 +02:00
Roeland Jago Douma 3a14cfc295 Removemount expects absolutePath 2015-10-16 14:14:00 +02:00
Thomas Müller 2ff55560e2 Remove $ETagFunction - it was never used 2015-10-16 13:17:12 +02:00
Thomas Müller f2889dc6e4 Consolidate webdav code - move all to one app 2015-10-16 13:17:12 +02:00
Bjoern Schiessle dd6cb67030 check if fopen was successful before continue 2015-10-15 16:27:38 +02:00
Bjoern Schiessle c7883b1769 only wrap source if fopen was successful 2015-10-15 16:27:38 +02:00
Morris Jobke d392ddab70 Remove ArrayParser because it is unused 2015-10-14 16:50:56 +02:00
Thomas Müller fbccdedb5c Merge pull request #19731 from owncloud/update-list-of-deprecated-methods
Update list of deprecated methods
2015-10-14 16:34:55 +02:00
Thomas Müller ba461b0c92 Merge pull request #19760 from owncloud/adding_occ_upgrade_text_note
Adding occ upgrade text note
2015-10-14 16:33:33 +02:00
Thomas Müller db4dae527c Merge pull request #19764 from owncloud/issue-19759-app-check-code-issue
Variables don't have a class, so we can't use toString() on it
2015-10-14 14:10:25 +02:00
Morris Jobke aa10825026 update deprecation message 2015-10-14 14:08:45 +02:00
Joas Schilling e2806b0ae8 Update list of deprecated methods 2015-10-14 14:08:45 +02:00
Joas Schilling 8379611dbe Variables don't have a class, so we can't use toString() on it 2015-10-14 13:16:58 +02:00
Thomas Müller 28d6da8158 Merge pull request #19738 from owncloud/proppatch-lastmodified
Fix mtime PROPPATCH to be "lastmodified" instead of "getlastmodified"
2015-10-14 12:49:33 +02:00
Thomas Müller 757f320531 Merge pull request #19580 from owncloud/issue-19399-remote-shares-case-sensitivity
Make sure that remote shares use the correct uid casing
2015-10-14 12:39:57 +02:00
Thomas Müller 3e87560033 Merge pull request #19727 from owncloud/fix_19678
Return path instead of itemsource
2015-10-14 12:38:38 +02:00
Thomas Müller bfac6c5eb7 Merge pull request #19730 from owncloud/fix_17560
Squash collection shares
2015-10-14 12:38:16 +02:00
Martin 2c32811156 adding occ upgrade text note 2015-10-14 12:16:17 +02:00
Roeland Jago Douma 002e9c76cd Combine OCS API getUser method code into provisioning_api app
Fixes #13002

Move the cloud/users/{userid} code in total to the provisioning API.
2015-10-13 21:07:48 +02:00
Vincent Petry 02513f8d04 Fix mtime PROPPATCH to be "lastmodified" instead of "getlastmodified"
Fix regression that makes PROPPATCH of mtime work like it did in OC <=
8.0.
The PROPPATCH must be done on the "lastmodified" property.
The "getlastmodified" now return 403 again.
2015-10-13 12:51:21 +02:00
Thomas Müller 3891cd9068 Merge pull request #19677 from owncloud/silently-fail-app-upgrade-exceptions-master
Silently fail app upgrade exceptions
2015-10-13 11:04:02 +02:00
Roeland Jago Douma 06aaa059d1 Squash collection shares
If folder1 is shared to user2 and user3. And folder1/folder2 is shared
to user4 and user5 then getting all the users with access to
folder1/folder2 should only list user2 and user 3 once.

Previously this was done twice since we request the info two times.

This fix makes sure that we only append unique results to the array.

* Added test
2015-10-13 10:05:49 +02:00
Roeland Jago Douma 585e9cb0e9 Return path instead of itemsource
Fixes #19678

Errors should contain paths and not internal ids
2015-10-13 09:00:33 +02:00
Lukas Reschke e03f0542e4 Strip directory from scriptName
`\OCP\IRequest::getScriptName` will also return the directory, so if ownCloud is installed in a subfolder such as `owncloud/` it will resolve to `/owncloud/ocs/v2.php`. This made this check fail and also made it return invalid status codes.
2015-10-12 23:39:16 +02:00
Bjoern Schiessle 8185eaa6dd also detect files in a .part folder as part file 2015-10-12 13:59:16 +02:00
Thomas Müller 0036c637fc Merge pull request #19657 from owncloud/setup-transport
Setup sendmail transport
2015-10-12 13:44:26 +02:00