Commit graph

1978 commits

Author SHA1 Message Date
Thomas Müller
afa8872955 Merge pull request #14857 from owncloud/preview-provider-registration-in-manager
Preview provider registration in manager
2015-03-20 16:34:22 +01:00
Vincent Petry
e44ab2dcfe Merge pull request #11884 from owncloud/ext-appframework
Cleanup ext storage CRUD code, introduce storage config id
2015-03-20 14:17:32 +01:00
Thomas Müller
a87cc90d1e Merge pull request #14993 from owncloud/stop-on-missing-deps
Stop executing, when 3rdparty is missing or apps directory is invalid
2015-03-20 11:36:02 +01:00
Vincent Petry
eef5851a67 Fix share permission related unit tests 2015-03-20 11:30:51 +01:00
Morris Jobke
1de6fa19de Merge pull request #15035 from owncloud/assocmapper
If the execute method on the mapper receives an assoc array, it binds by...
2015-03-20 08:53:14 +01:00
Morris Jobke
2a8c3798a8 Merge pull request #14947 from oparoz/repairmimetypes-sql
Make repairmimetypes compatible with case sensitive SQL backends
2015-03-19 17:22:25 +01:00
Bernhard Posselt
df24a014b8 If the execute method on the mapper receives an assoc array, it binds by value instead of index 2015-03-19 17:08:46 +01:00
Thomas Müller
857b22c61b Merge pull request #15025 from rullzer/ocs_respect_enforced_date
Ocs respect enforced date
2015-03-19 17:06:04 +01:00
Robin Appelman
73874ca27f Merge pull request #14704 from owncloud/storage-wrapper-mount
pass mountpoint to storage wrapper callback
2015-03-19 16:20:38 +01:00
Olivier Paroz
f890c3ffb1 Make the method compatible with all types of extensions
Fix existing tests
2015-03-19 16:09:16 +01:00
Thomas Müller
0868e49663 Merge pull request #14980 from owncloud/fix-fileglobalgc
Fix fileglobalgc unlink parameter warnings
2015-03-19 14:17:20 +01:00
Roeland Jago Douma
dd3307dd19 Added unit test
Tests added to make sure that removing an expire date when this is
enforced is not allowed.
2015-03-19 10:47:09 +01:00
Joas Schilling
4a13a84cab Do not add apps2/ directory if it does not exist 2015-03-19 09:07:29 +01:00
Vincent Petry
fe8002a7db Merge pull request #14995 from owncloud/remove-unrequired-backtick-removal
Remove unrequired backtick removal
2015-03-18 19:34:49 +01:00
Robin McCorkell
693ca9a92f Add unit tests for gc() for \OC\Cache\FileGlobalGC 2015-03-18 16:19:04 +00:00
Joas Schilling
f2f7f178a5 Add test for backticks in path and etag 2015-03-18 13:29:39 +01:00
Vincent Petry
50194c31b4 Soft fail in custom properties backend
This makes it possible for clients to still receive a file list (minus
the broken files) instead of getting no list at all
2015-03-18 12:36:37 +01:00
Thomas Müller
c69cd28a73 Merge pull request #14968 from owncloud/files-reallowsinglequote
Reallow single quote in file names
2015-03-17 23:50:16 +01:00
Vincent Petry
e50f13d46b Add positive test for path verification 2015-03-17 18:17:30 +01:00
Morris Jobke
fbea83d4eb fix failing unit test 2015-03-17 17:26:03 +01:00
Olivier Paroz
bd91546db8 Adding test cases where the extension is using capital letters 2015-03-17 13:25:39 +01:00
Lukas Reschke
9e2ebf2dce Cache \OC\URLGenerator::imagePath
\OC\URLGenerator::imagePath is a really expensive operation due to all the I/O handling and can really benefit from caching.
2015-03-17 12:35:47 +01:00
Thomas Müller
98a42dbccc Merge pull request #14927 from oparoz/raw-mimetypes
Introducing the Raw media types
2015-03-17 11:32:09 +01:00
Lukas Reschke
e4c6b0abf5 Merge pull request #14931 from owncloud/issue/14881-closures-for-navigation-entries
Issue/14881 closures for navigation entries
2015-03-17 11:28:27 +01:00
Lukas Reschke
b1c19f74a1 Merge pull request #12085 from owncloud/add-swift-mailer
Migrate OC_Mail to SwiftMailer
2015-03-17 11:15:39 +01:00
Joas Schilling
ec1d5011b6 Add tests for the navigation manager (closure) behaviour 2015-03-16 16:46:17 +01:00
Olivier Paroz
bef12488c3 Introducing the Raw mimetypes 2015-03-16 16:25:04 +01:00
Robin Appelman
7ab919256b fix test 2015-03-16 14:13:56 +01:00
Lukas Reschke
d7c7808a5e Add debug log message back 2015-03-16 13:01:17 +01:00
Lukas Reschke
e32f1582c7 Show more detailed error message 2015-03-16 12:47:06 +01:00
Lukas Reschke
dfd70337d6 Adjust unit test 2015-03-16 12:47:05 +01:00
Lukas Reschke
f92f3a1a6e Incorporate review changes 2015-03-16 12:47:05 +01:00
Lukas Reschke
283476a2f7 Use new IMailer and add unit-tests for lostcontroller 2015-03-16 12:47:05 +01:00
Lukas Reschke
13486a5ada Migrate to SwiftMail
Replaces the OC_Mail and phpmailer with SwiftMail allowing us to mock it properly.

Fixes the unit test execution on master on local machines and https://github.com/owncloud/core/issues/12014

Conflicts:
	3rdparty
	lib/private/server.php
	lib/public/iservercontainer.php
	tests/lib/mail.php
	tests/settings/controller/mailsettingscontrollertest.php

Conflicts:
	3rdparty
	lib/private/mail.php
	lib/private/server.php
	lib/public/iservercontainer.php
	settings/ajax/lostpassword.php
	settings/application.php
2015-03-16 12:47:05 +01:00
Joas Schilling
8ed27d2ce0 Create an interface for OC_Image and OCP\Image for the public API 2015-03-16 12:45:15 +01:00
Thomas Müller
1075914f8a Merge pull request #14883 from owncloud/imagepng_expects_resource_issue
validate resource's integrity before using it
2015-03-16 12:22:27 +01:00
Georg Ehrke
09b05373ed validate resource's integrity before using it 2015-03-16 10:57:01 +01:00
Morris Jobke
997a7a2668 Merge pull request #14766 from owncloud/fix-insertifnotexists-poc
Allow specifying the compare-array for insertIfNotExists()
2015-03-16 10:31:36 +01:00
Thomas Müller
bbaf97ca43 Merge pull request #14644 from owncloud/trash-expire-command
Expire files from the trash in the background
2015-03-16 10:04:05 +01:00
Thomas Müller
6927773648 Merge pull request #14776 from owncloud/fix-14629-master
verify the file name length not to exceed 255 characters + verify path d...
2015-03-16 09:58:41 +01:00
Thomas Müller
b159c7f274 Merge pull request #14848 from owncloud/kill-curl-fallback-master
drop any fallback code related to curl
2015-03-16 09:56:31 +01:00
Joas Schilling
30357aaac0 No user no avatar easy as that 2015-03-13 17:35:34 +01:00
Joas Schilling
61ec37431a Fix order of expected and actual on assertEquals() calls 2015-03-13 15:29:52 +01:00
Joas Schilling
8304f5f508 Fix getting the avatar of a non-existing user 2015-03-13 15:29:52 +01:00
Thomas Müller
5855108e9b drop any fallback code related to curl - refs https://github.com/owncloud/core/pull/14838#issuecomment-78586447 2015-03-12 21:43:41 +01:00
Vincent Petry
ce94a998dd Use storage id + appframework for ext storage CRUD
- Added StorageConfig class to replace ugly arrays
- Implemented StorageService and StorageController for Global and User
  storages
- Async status checking for storages (from Xenopathic)
- Auto-generate id for external storage configs (not the same as
  storage_id)
- Refactor JS classes for external storage settings, this mostly
  moves/encapsulated existing global event handlers into the
  MountConfigListView class.
- Added some JS unit tests for the external storage UI
2015-03-12 18:51:02 +01:00
Thomas Müller
80ef53eff0 verify the file name length not to exceed 255 characters + verify path during rename 2015-03-12 10:47:47 +01:00
Roeland Jago Douma
3560b32dfc Fix the avatarcontroller cache needing the cache dir
This was removed in 82254ad5ef and
unfortunatly missed by jenkins before mering into master.
2015-03-11 18:18:33 +01:00
Lukas Reschke
f9fd1629da Merge pull request #14705 from rullzer/avatarcontroller
Move AvatarController to AppFramework
2015-03-11 17:15:42 +01:00
Roeland Jago Douma
1a0f9c375b Avatar controller moved to AppFrameWork
* Original avatarcontroller migrated to the appframework
* Added DataDisplayResponse that show data inline in the browser (used
  to retrun the image)
* Removed some unneeded code
* Added unit tests for the avatarcontroller
2015-03-11 16:37:42 +01:00
Robin Appelman
169031d1c5 fix factory test 2015-03-11 15:07:59 +01:00
Robin Appelman
e1f2a6df94 Allow setting the watcher policy as mount option 2015-03-11 15:07:23 +01:00
Robin Appelman
7adda88786 Copy mount options to the storage 2015-03-11 15:06:48 +01:00
Robin Appelman
82a62fd249 Add test for storage factory 2015-03-11 15:06:12 +01:00
Morris Jobke
dbade19362 Merge pull request #13839 from owncloud/issue/13678-improve-remote-domain-detection-in-sharedropdown
Better finding the remote URL from user input in share dropdown
2015-03-11 14:38:41 +01:00
Morris Jobke
ad97ceb787 Merge pull request #13513 from owncloud/repair-legacystoragenofatalfail
Do not abort when meeting unfixable legacy storages
2015-03-11 13:32:33 +01:00
Lukas Reschke
8154ed4d2c Merge pull request #14791 from owncloud/fix-14516
Adding a more meaningful message for sabre dav exception
2015-03-11 12:52:18 +01:00
Thomas Müller
0f3e36fdfd Adding a more meaningful message for sabre dav exception - fixes #14516 2015-03-11 11:53:31 +01:00
Thomas Müller
6c1a1234f8 Properly handle available databases at runtime and respect setup checks in command line as well 2015-03-11 09:27:12 +01:00
Lukas Reschke
6dc59019af Merge pull request #14346 from owncloud/storage-based-path-validation
adding storage specific filename verification
2015-03-10 11:02:47 +01:00
Thomas Müller
214fa44400 Merge pull request #14534 from owncloud/add-child-src
Add support for 'child-src' directive
2015-03-10 10:30:44 +01:00
Joas Schilling
87431605b8 Add test for UniqueConstraintViolationException on wrong key 2015-03-10 09:26:45 +01:00
Thomas Müller
c8ed88f4d6 Merge pull request #14689 from owncloud/better-missing-resource-handling
Log errors and create 404 in network list when a css or js is missing
2015-03-09 23:33:25 +01:00
Thomas Müller
89be55a672 let insertIfNotExist() throw the native DBALException - no need to hide the real exception 2015-03-09 22:37:49 +01:00
Thomas Müller
b966a4eb17 Adding unit test which shows insertIfNotExists to fall apart in certain situations 2015-03-09 22:37:49 +01:00
Morris Jobke
d34662122d Merge pull request #14429 from owncloud/issue/14176-validate-timezone-before-using
Etc timezones don't exist for .5 and .75 offsets
2015-03-09 16:16:16 +01:00
Thomas Müller
3623f14e73 no translation service in common storage class 2015-03-09 10:38:38 +01:00
Thomas Müller
49e1a81eba fixing namespaces and PHPDoc 2015-03-09 10:38:37 +01:00
Thomas Müller
4bac595068 adding storage specific filename verification - refs #13640 2015-03-09 10:38:37 +01:00
Lukas Reschke
9f5433c0c3 Merge pull request #13368 from owncloud/memcache_lowlatency
Refactor \OC\Memcache\Factory
2015-03-05 13:05:17 +01:00
Robin McCorkell
0e4933e6d2 Refactor \OC\Memcache\Factory
Caches divided up into two groups: distributed and local. 'Low latency' is an
alias for local caches, while the standard `create()` call tries to get
distributed caches first, then local caches.

Memcache backend is set in `config.php`, with the keys `memcache.local` and
`memcache.distributed`. If not set, `memcache.distributed` defaults to the value
of `memcache.local`.
2015-03-05 11:36:34 +00:00
Joas Schilling
716ba49a82 Log errors and create 404 in network list when a css or js is missing 2015-03-04 17:56:33 +01:00
Joas Schilling
294724b5da Add a test for ObjectStore\NoopScanner 2015-03-04 11:48:31 +01:00
Morris Jobke
f1d74e8803 Merge pull request #14651 from owncloud/add-some-headers-to-htaccess-for-my-best-friend-jenkins
Let users configure security headers in their Webserver
2015-03-04 09:36:01 +01:00
Joas Schilling
e12c83e3dc Merge pull request #14674 from owncloud/fix-l10n-getlanguagecode-2
Jenkins #14650
2015-03-03 18:33:08 +01:00
Joas Schilling
5fc004f8ea Add a test of what everyone thinks should be the result of this method 2015-03-03 16:47:31 +01:00
Thomas Müller
be27188649 Merge pull request #14574 from owncloud/fix-irequest-for-older-php-versions
Read from IRequest instead of reading twice
2015-03-03 14:22:56 +01:00
Thomas Müller
e30ca8198f Merge pull request #14638 from owncloud/issue/14538-repairstep-drop-old-tables
Add a repair step to delete old tables
2015-03-03 13:37:54 +01:00
Joas Schilling
8df4077dd7 Add a test for dropping the tables 2015-03-03 11:27:06 +01:00
Joas Schilling
276d678080 Etc timezones don't exist for .5 and .75 offsets 2015-03-03 09:08:47 +01:00
Lukas Reschke
d620fc8798 Merge pull request #14615 from kampka/cron-command
Allow configuring background job mode from the console
2015-03-02 21:35:57 +01:00
Christian Kampka
83e0f84fef Allow configuring background job mode from the console 2015-03-02 20:51:40 +01:00
Lukas Reschke
bbd5f28415 Let users configure security headers in their Webserver
Doing this in the PHP code is not the right approach for multiple reasons:

1. A bug in the PHP code prevents them from being added to the response.
2. They are only added when something is served via PHP and not in other cases (that makes for example the newest IE UXSS which is not yet patched by Microsoft exploitable on ownCloud)
3. Some headers such as the Strict-Transport-Security might require custom modifications by administrators. This was not possible before and lead to buggy situations.

This pull request moves those headers out of the PHP code and adds a security check to the admin settings performed via JS.
2015-03-02 19:07:46 +01:00
Robin Appelman
00568af74d Allow running the async commands from unit tests 2015-03-02 15:25:31 +01:00
Vincent Petry
e61aa3723e Merge pull request #14573 from owncloud/enc-migrate-disable-updater
Disable the cache updater when doing the encryption migration
2015-03-02 14:53:29 +01:00
Lukas Reschke
b29940d956 Add support for 'child-src' directive
This is required when working with stuff such as PDF.js in the files_pdfviewer application. Opt-in only.

Master change only because the stable CSP policies has a failback that allows nearly anything 🙈
2015-02-28 12:27:46 +01:00
Lukas Reschke
d0c6af2cb5 Disable bootstrap.php checks when HHVM is used 2015-02-28 10:11:12 +01:00
Robin Appelman
89735ab22b add some tests for disabled updater 2015-02-27 17:14:17 +01:00
Morris Jobke
b4dfd043d7 Merge pull request #14575 from owncloud/cache-rename-overwrite
Fix cache update when doing a rename that overwrites the target
2015-02-27 17:11:37 +01:00
Robin Appelman
fc027bceb7 Fix cache update when doing a rename that overwrites the target 2015-02-27 16:39:58 +01:00
Bernhard Posselt
970b14d297 Merge pull request #13616 from owncloud/streamresponse
AppFramework StreamResponse
2015-02-27 15:43:01 +01:00
Bernhard Posselt
95239ad21e AppFramework StreamResponse
First stab at the StreamResponse, see #12988

The idea is to use an interface ICallbackResponse (I'm not 100% happy with the name yet, suggestions?) that allow the response to output things in its own way, for instance stream the file using readfile

Unittests are atm lacking, plan is to

check if a mock of ICallbackResponse will be used by calling its callback (also unhappy with this name) method
Usage is:

$response = new StreamResponse('path/to/file');

rename io to output, add additional methods and handle error and not modified cases when using StreamResponse

fix indention and uppercasing, also handle forbidden cases

fix indention

fix indention

no forbidden, figuring out if a file is really readable is too complicated to get to work across OSes and streams

remove useless import

remove useless import

fix intendation
2015-02-27 15:42:33 +01:00
Lukas Reschke
5c2fafa05f Read from IRequest instead of reading twice
Potentially fixes https://github.com/owncloud/core/issues/14541 and https://github.com/owncloud/core/issues/14506
2015-02-27 14:22:35 +01:00
Vincent Petry
1750e7b76d Fixed expected warning count on repair fail 2015-02-27 13:32:46 +01:00
Vincent Petry
32c9139ac2 Detect that the done flag was not set after repair fail 2015-02-27 13:16:38 +01:00
Vincent Petry
e6abe96374 Do not abort when meeting unfixable legacy storages 2015-02-27 12:03:22 +01:00
Thomas Müller
7fe07e93fe Merge pull request #14437 from owncloud/node-check-fileinfo
Check if we have a proper fileinfo
2015-02-27 02:56:13 -08:00
Thomas Müller
1c6857d92c Merge pull request #14529 from owncloud/intuitive-version-check
Make version check work on the lowest common version denominator
2015-02-27 02:16:23 -08:00
Lukas Reschke
9baf758150 Merge pull request #14503 from owncloud/quota-preventdatalossforfailedmove
Fix file move/copy when storage space is not enough
2015-02-26 16:35:13 +01:00
Vincent Petry
232de3bdc0 Delete target file for unsuccessful copy/rename 2015-02-26 15:11:37 +01:00
Morris Jobke
0c1e6fad6c Merge pull request #14300 from owncloud/commandbus
Add async command system to handle asynchronous operations
2015-02-26 15:10:13 +01:00
Robin Appelman
541c8c092d Add unit test 2015-02-26 12:20:20 +01:00
Bernhard Posselt
2987d4aec8 make version check work on the lowest common version denominator 2015-02-26 11:42:08 +01:00
Thomas Müller
adc986f3e4 Merge pull request #14502 from owncloud/failing-mysql-master-tests
Failing mysql master tests
2015-02-26 01:48:37 -08:00
Bernhard Posselt
59bbf27253 remove IDb interface from core class usage 2015-02-25 22:21:24 +01:00
Bernhard Posselt
f993ed823e fix tabs and spaces 2015-02-25 22:21:24 +01:00
Bernhard Posselt
aaf753bc9a fix mappertestutility 2015-02-25 22:21:24 +01:00
Bernhard Posselt
7b2fdbfb0b use IDBConnection and close cursors after insert/update/delete 2015-02-25 22:21:24 +01:00
Vincent Petry
9ee37169a6 Return null when requesting tags for null user
The TagManager->load() now returns null if the user is not authenticated
instead of failing with an error.
2015-02-25 17:20:26 +01:00
Vincent Petry
20738d287e Properly detect streamCopy errors
Now checking whether the written bytes match the number of read bytes.
2015-02-25 16:03:15 +01:00
Joas Schilling
993d89b3cc Extend the class so the Filesystem is cleaned up 2015-02-25 16:03:10 +01:00
Robin Appelman
9873ab20af prevent phpunit from messing with the bound $this 2015-02-25 15:09:41 +01:00
Robin Appelman
a39c7bf464 Add FileAccess trait for commands 2015-02-25 15:09:41 +01:00
Robin Appelman
74ae7b8929 Add async command system to handle asynchronous operations 2015-02-25 15:08:40 +01:00
Robin Appelman
a848a6b1dd Cleanup garbage collection for global file cache 2015-02-25 14:13:58 +01:00
Thomas Müller
bcf3704645 Merge pull request #14458 from owncloud/revive/11157
Get the real protocol behind several proxies
2015-02-25 02:51:46 -08:00
Thomas Müller
799e144b04 Merge pull request #14151 from owncloud/update-sabre2.1
Sabre Update to 2.1
2015-02-25 02:21:55 -08:00
Vincent Petry
fb87b746f0 Merge pull request #14213 from AW-UC/naturalsort_defaultcollator-patch-file-sorting
Update naturalsort_defaultcollator.php. Fixes #13982
2015-02-25 10:30:14 +01:00
AW-UC
0066c6f001 Add PHPunit test for DefaultCollator
This extends Test_NaturalSort to include a basic test for
\OC\NaturalSort_DefaultCollator()
2015-02-24 23:51:08 +01:00
Lukas Reschke
d43d34c93f Merge pull request #14195 from owncloud/activity-manager-performance-improvements
Activity manager performance improvements
2015-02-24 15:19:15 +01:00
Lukas Reschke
1c6eae9017 Get the real protocol behind several proxies
X-Forwarded-Proto contains a list of protocols if ownCloud is behind multiple reverse proxies.

This is a revival of https://github.com/owncloud/core/pull/11157 using the new IRequest public API.
2015-02-24 12:24:55 +01:00
Thomas Müller
bbf7f56f94 3rd-party apps are disabled on upgrade - refs #14026 2015-02-24 12:02:36 +01:00
Thomas Müller
e87ada86d1 Merge pull request #14416 from owncloud/setup-command
Setup command
2015-02-23 22:41:10 +01:00
Vincent Petry
9f6dcb9d3e Sabre Update to 2.1
- VObject fixes for Sabre\VObject 3.3
- Remove VObject property workarounds
- Added prefetching for tags in sabre tags plugin
- Moved oc_properties logic to separate PropertyStorage backend (WIP)
- Fixed Sabre connector namespaces
- Improved files plugin to handle props on-demand
- Moved allowed props from server class to files plugin
- Fixed tags caching for files that are known to have no tags
  (less queries)
- Added/fixed unit tests for Sabre FilesPlugin, TagsPlugin
- Replace OC\Connector\Sabre\Request with direct call to
  httpRequest->setUrl()
- Fix exception detection in DAV client when using Sabre\DAV\Client
- Added setETag() on Node instead of using the static FileSystem
- Also preload tags/props when depth is infinity
2015-02-23 22:27:23 +01:00
Thomas Müller
66e3211fd8 Merge pull request #13439 from owncloud/app-filter
Make the search box filter apps
2015-02-23 21:51:53 +01:00
Thomas Müller
1fd1b355e4 Fix namespace of OC_Setup -> \OC\Setup 2015-02-23 16:44:40 +01:00
Vincent Petry
4290e1990e Merge pull request #13829 from owncloud/appmanager-list
Better caching for enabled apps
2015-02-23 16:03:32 +01:00
Vincent Petry
e144d3aa49 Added unit test for app filter 2015-02-23 15:29:25 +01:00
Joas Schilling
b180724cd0 Extract the remote host from user input in share dropdown
Fix #13678
2015-02-23 11:28:41 +01:00
Thomas Müller
9aeeb2605b Check for PHP configuration before executing unit tests 2015-02-21 11:51:52 +01:00
Lukas Reschke
fcc5f5a4f4 Merge pull request #13777 from owncloud/close-cursor
Close cursor for appframework and manipulation queries if applicable
2015-02-20 20:15:22 +01:00
Joas Schilling
ae60108692 Revert "Correctly fallback to english, if the plural case is not translated"
This reverts commit cbad5c998b.
2015-02-20 11:51:36 +01:00
Lukas Reschke
41e5850450 Prevent directory traversals in ctr of \OC\Files\View
This prevents a misusage of \OC\Files\View by calling it with user-supplied input. In such cases an exception is now thrown.
2015-02-18 18:17:33 +01:00
Clark Tomlinson
8d09cc3b91 Merge pull request #13989 from owncloud/enhancment/security/11857
Allow AppFramework applications to specify a custom CSP header
2015-02-18 10:27:29 -05:00
Robin Appelman
5542fafd36 allow overwriting the appmanager in oc_util by subclassing 2015-02-18 14:24:50 +01:00
Morris Jobke
5d7d2adcbf Merge pull request #14207 from owncloud/propfind-optimize
Optimize quota calculation for propfind
2015-02-18 00:18:47 +01:00
Robin Appelman
04628cf368 better name for getAppsEnabledForUser 2015-02-17 15:05:29 +01:00
Robin Appelman
4d805b52cc Test improvements 2015-02-17 15:05:29 +01:00
Lukas Reschke
886bda5f81 Refactor OC_Request into TrustedDomainHelper and IRequest
This changeset removes the static class `OC_Request` and moves the functions either into `IRequest` which is accessible via `\OC::$server::->getRequest()` or into a separated `TrustedDomainHelper` class for some helper methods which should not be publicly exposed.

This changes only internal methods and nothing on the public API. Some public functions in `util.php` have been deprecated though in favour of the new non-static functions.

Unfortunately some part of this code uses things like `__DIR__` and thus is not completely unit-testable. Where tests where possible they ahve been added though.

Fixes https://github.com/owncloud/core/issues/13976 which was requested in https://github.com/owncloud/core/pull/13973#issuecomment-73492969
2015-02-16 22:13:00 +01:00
Thomas Müller
4910f3e202 fixing unit tests in UsersControllerTest 2015-02-16 19:45:40 +01:00
Thomas Müller
9271059195 Merge pull request #13750 from owncloud/enhanced-code-checker
Implement php code checker to detect usage of not allowed private ...
2015-02-16 16:55:57 +01:00
Joas Schilling
8eb804b1f6 Merge pull request #13269 from owncloud/issue/13211-cache-array-implementation
Add an array implementation of cache and use it if we are not debugging
2015-02-16 15:35:20 +01:00
Robin Appelman
23ab25e93a Use the app manager from oc_app 2015-02-16 15:16:13 +01:00
Robin Appelman
2b58e8489f Add getInstalledApps and getAppsForUser to the app manager 2015-02-16 15:15:35 +01:00
Joas Schilling
8848b5f067 Add an array implementation of cache and use it if we are not debugging 2015-02-16 14:55:50 +01:00
Lukas Reschke
a9d1a01440 Rename to allowEval 2015-02-16 12:30:21 +01:00
Lukas Reschke
b20174bdad Allow AppFramework applications to specify a custom CSP header
This change allows AppFramework applications to specify a custom CSP header for example when the default policy is too strict. Furthermore this allows us to partially migrate away from CSS and allowed eval() in our JavaScript components.

Legacy ownCloud components will still use the previous policy. Application developers can use this as following in their controllers:
```php
$response = new TemplateResponse('activity', 'list', []);
$cspHelper = new ContentSecurityPolicyHelper();
$cspHelper->addAllowedScriptDomain('www.owncloud.org');
$response->addHeader('Content-Security-Policy', $cspHelper->getPolicy());
return $response;
```

Fixes https://github.com/owncloud/core/issues/11857 which is a pre-requisite for https://github.com/owncloud/core/issues/13458 and https://github.com/owncloud/core/issues/11925
2015-02-16 11:00:41 +01:00
Robin Appelman
7bfe476030 add unit test for webdav quota 2015-02-13 18:00:01 +01:00
Robin Appelman
6ecfcde954 update test 2015-02-13 15:01:05 +01:00
Robin Appelman
134243d3e5 Dont lower the mtime of a folder when propagating changes 2015-02-13 14:30:05 +01:00
Joas Schilling
12fc625885 Fix test with the invalid filter check being added 2015-02-13 13:08:57 +01:00
Lukas Reschke
bd5440a8a3 Merge pull request #13780 from owncloud/cmreflector-inheritance
Additional controllermethodreflector inheritance tests
2015-02-12 18:34:07 +01:00
Vincent Petry
fbbb9fe0fd Merge pull request #13979 from owncloud/group-share-collition-wrong-type-in-post-hook
Do not overwrite the shareType so the post hook is still correct
2015-02-11 15:23:13 +01:00
Thomas Müller
d74662df7d implement php code checker to detect usage of not allowed private APIs - including console command to check local code to be used by developers 2015-02-10 11:51:24 +01:00
Thomas Müller
c60dabd11b Request requires a second parameter 2015-02-09 23:06:55 +01:00
Vincent Petry
5296767393 Merge pull request #13921 from owncloud/ocs-af
Add a controller and reponse for ocs
2015-02-09 18:11:47 +01:00
Joas Schilling
c17b236c19 Add a test for the post_shared hook shareType 2015-02-09 13:12:34 +01:00
Lukas Reschke
770fa761b8 Respect mod_unique_id and refactor OC_Request::getRequestId
When `mod_unique_id` is enabled the ID generated by it will be used for logging. This allows for correlation of the Apache logs and the ownCloud logs.

Testplan:

- [ ] When `mod_unique_id` is enabled the request ID equals the one generated by `mod_unique_id`.
- [ ] When `mod_unique_id` is not available the request ID is a 20 character long random string
- [ ] The generated Id is stable over the lifespan of one request

Changeset looks a little bit larger since I had to adjust every unit test using the HTTP\Request class for proper DI.

Fixes https://github.com/owncloud/core/issues/13366
2015-02-09 11:53:11 +01:00
Morris Jobke
90556cb70b Merge pull request #12283 from oparoz/sfnt-fonts
Updated the media type of some font types
2015-02-07 13:33:49 +01:00
Morris Jobke
485e2a282b Merge pull request #13753 from owncloud/use-403-instead-of-200
Use 403 instead of 200 response
2015-02-07 13:25:15 +01:00
Lukas Reschke
4d91fa4c93 Normalize before processing 2015-02-06 15:03:29 +01:00
Bernhard Posselt
9873aa3d9e fix license email 2015-02-05 14:10:16 +01:00
Bernhard Posselt
b89ddcfe41 fix license email 2015-02-05 14:09:01 +01:00
Bernhard Posselt
fdc64e370c add a controller and reponse for ocs 2015-02-05 14:02:17 +01:00
Bjoern Schiessle
21c45925fe detect root of mountpoint also if the trailing slash is missed 2015-02-04 12:47:04 +01:00
Lukas Reschke
2426bd1b9d Merge pull request #13811 from owncloud/default-to-null
Default to `null` for lostpassword
2015-02-02 11:41:14 +01:00
Lukas Reschke
944dc127b8 Mock l10n in the setup 2015-02-01 17:46:48 +01:00
Lukas Reschke
ba29ea178f Add unit tests for empty token 2015-02-01 17:34:03 +01:00
Lukas Reschke
0f7634eadc Switch to a factory and add unit tests 2015-01-30 17:24:42 +01:00
Lukas Reschke
7e7dd92f6b Add unit tests 2015-01-30 14:29:46 +01:00
Bernhard Posselt
81836ccc7e another test for overriding the docblock 2015-01-29 20:35:07 +01:00
Bernhard Posselt
72d2b6f723 additional inheritance tests 2015-01-29 20:33:05 +01:00
Bernhard Posselt
84a47645b9 fix indention 2015-01-29 20:10:29 +01:00
Bernhard Posselt
983563d7d9 add tests for closing the cursor 2015-01-29 19:23:57 +01:00
Bernhard Posselt
37e8969d34 ignore cursorclosing 2015-01-29 19:16:28 +01:00
Robin Appelman
2124540d1d Dont remove a file from cache if the delete operation failed 2015-01-29 15:39:56 +01:00
Robin Appelman
05035ef4af Fix webdav put for single file webdav shares 2015-01-29 12:47:12 +01:00
Robin Appelman
ddee63fa00 Fix resolving paths for views rooted in a file 2015-01-29 12:47:11 +01:00
Lukas Reschke
b9f180e001 Use 403 instead of 200 response
A forbidden should throw a 403 and this makes it easier for me to do some automated testing.
2015-01-29 12:04:54 +01:00
Robin Appelman
cec43df0f0 Add unit test 2015-01-28 13:44:39 +01:00
Morris Jobke
752b94d363 Merge pull request #13717 from owncloud/storage-donotwrapnullstorage
Prevent wrapping null storage
2015-01-28 01:00:20 +01:00
Vincent Petry
6d8985b671 Prevent wrapping null storage
Can happen when trying to instantiate external storages that have
incomplete config, where the constructor throws an exception (the
exception is caught in createStorage())
2015-01-27 17:40:08 +01:00
Vincent Petry
acec40fe5a Merge pull request #13561 from owncloud/trash-finaldeletewhencrossstoragefix
Call final unlink in trash wrapper's storage
2015-01-27 17:05:38 +01:00
Lukas Reschke
a870dbe70b Merge pull request #13636 from owncloud/add-warning-if-restore-of-data-is-not-possible
Add value if restore of data is possible for a user
2015-01-27 14:12:05 +01:00
Morris Jobke
9fbeaf0fd9 Add value if restore of data is possible for a user
* reason: nice to know before password change in user management
* restore is possible:
	* encryption is disabled
	* encryption is enabled, admin and user has checked the
	  restore option
* if not possible:
	* highlight users row in red once the admin wants to change the password
	* show also a little tipsy
2015-01-27 13:23:19 +01:00
Bjoern Schiessle
5ba19ba7fc certificate manager should always use a \OC\Files\View otherwise we will get problems for different primary storages 2015-01-26 16:58:52 +01:00
Bjoern Schiessle
67da1f7e5a certificate manager only needs the user-id, no need to pass on the complete user object 2015-01-26 16:58:52 +01:00
Thomas Müller
5da4071c45 Merge pull request #13621 from owncloud/system-config-multiset
Add a method to set/unset multiple config values with one write
2015-01-26 13:36:22 +01:00
Olivier Paroz
7fbf1a20d7 Updated the media type of some font types
TTF and TTF have now the same media type
Official since 2013 and supported by Firefox and Chrome
https://www.iana.org/assignments/media-types/application/font-sfnt

Introducing support for Type1 fonts
2015-01-24 01:49:13 +01:00
Robin Appelman
87a1b2bdc4 Preserve mtime when doing cross storage move 2015-01-23 15:11:27 +01:00
Vincent Petry
8fa3e7a6bf Do not retrieve shares through group if user has no group 2015-01-23 15:11:06 +01:00
Joas Schilling
039397bd31 Use setConfigs() instead of calling setConfig() multiple times 2015-01-23 14:52:21 +01:00
Joas Schilling
c61e9f3912 Add a method to set/unset multiple config values in one call
This reduces the number of file writes we do for config.php and therefor
hopefully helps lowering the chances for empty config.php files
2015-01-23 11:00:53 +01:00
Morris Jobke
3d42ecea37 Fix undefined offset 1 for wrong user mail address
* fixes Undefined offset: 1 at lib/private/mail.php#143
2015-01-22 16:23:50 +01:00
Morris Jobke
b5b491d1bb Merge pull request #13509 from owncloud/share-deletechildrenwhenunsharefromgroup
Fix reshare permission change to not impair other deletion code
2015-01-22 10:40:29 +01:00
Vincent Petry
9f137ac259 Fix reshare permission change to not impair other deletion code
A recent change that prevents reshare permission changes to delete group
share children had the side-effect of also preventing group share
children deletion when it needed to be done.

This fix adds an extra flag to isolate the "reshare permission change"
deletion case and keep the other ones as they were before, not only to
fix the regression but also fix other potential regressions in code that
uses this method.

Also updated the comment because now Helper::delete() is no longer
limited to reshares but also applies to group share children.
2015-01-22 10:12:47 +01:00
Thomas Müller
c13bf8d820 Merge pull request #13552 from owncloud/request-uri-double-slash
Remove duplicated slashes from the requested url
2015-01-21 21:56:09 +01:00
Robin Appelman
0b9f7642a6 Add unit test 2015-01-21 17:18:47 +01:00
Vincent Petry
f3d696599a Add unit test for external share JS dialog
Moved external share JS code into a small plugin to make it testable.

Added unit test for the external share dialog logic + ajax calls.
2015-01-21 11:26:54 +01:00
Joas Schilling
7eb8404040 Add a test case for memcaches to store an array 2015-01-20 10:51:04 +01:00
Vincent Petry
ef8d38ca27 Fix chunked query for tags + unit test 2015-01-19 17:05:44 +01:00
Thomas Müller
d2d6472e39 Merge pull request #13423 from owncloud/share-fixfindshareforuserwithmultiplegroups
Fix getItemSharedWithUser for groups
2015-01-19 12:34:28 +01:00
Lukas Reschke
2272bcedeb Fix filtering for users when $gid is empty
Previously when $gid was empty the users were not filtered at all. Rendering the search function in the user management pretty useless.

Fixes itself
2015-01-18 18:31:03 +01:00
Lukas Reschke
744cf713f7 Merge pull request #13319 from owncloud/replace-line-breaks-in-app-description
replace line breaks in the app description by spaces - fixes #13315
2015-01-17 01:03:41 +01:00
Vincent Petry
40931a8b0d Fix getItemSharedWithUser for groups
Fixed SQL query for whenever a user has more than one group.
Added missing $owner where clause for group lookup.
Added unit tests for the group cases.
2015-01-16 18:11:13 +01:00
Thomas Müller
051f626617 Merge pull request #13389 from owncloud/issue/13372-failing-oracle-tests-jenkins
Mask table and column names with backticks and add lastInsertID() workar...
2015-01-15 22:41:57 +01:00
Robin Appelman
0a3e0a1665 Additional unit test for recursive remove 2015-01-15 18:47:05 +01:00
Bernhard Posselt
bb0c88a577 always set url parameters when they are available in the app dispatch
prefer url parameters passed into the main method. If they are not present, use the containers urlParameters

add space
2015-01-15 15:22:52 +01:00
Joas Schilling
6769adcd0d Mask table and column names with backticks and add lastInsertID() workaround 2015-01-15 14:43:06 +01:00
Morris Jobke
925a680a24 Merge pull request #13354 from owncloud/hhvm-redis
HHVM: Prevent E_WARNING messages by Redis test in console output.
2015-01-15 00:23:12 +01:00
Thomas Müller
337c43ce92 Merge pull request #13317 from owncloud/partfile-fileinfo
Return valid fileinfo objects for part files
2015-01-14 22:39:19 +01:00
Morris Jobke
64d7463ca3 Merge pull request #13344 from owncloud/issue/13334-cleanup-tags-repairstep
Add a repair step to clean up orphan tags and tag entries
2015-01-14 20:43:23 +01:00
Joas Schilling
a22068cce3 Add a repair step to clean up orphan tags and tag entries 2015-01-14 16:49:25 +01:00
Andreas Fischer
567c246094 HHVM: Prevent E_WARNING messages by Redis test in console output. 2015-01-14 14:46:22 +01:00
Morris Jobke
520d8ec53b OC_App::parseAppInfo
* replace line breaks (on non empty lines) in the app description by spaces
* fixes #13315
* includes unit tests
2015-01-14 13:58:31 +01:00
Joas Schilling
4b3a3dc0bb Check new and old ways of required oC version for app compatibility 2015-01-14 13:02:02 +01:00
Robin Appelman
96dff341e2 Return valid fileinfo objects for part files 2015-01-13 13:59:28 +01:00
Vincent Petry
fcc3b3d5f7 Fix searchCommon to properly match path name
The internal path was matched without the last "/" which caused
"files_trashbin" to also match when the internal path was "files".

This adds the missing slash for the comparison.
2015-01-12 19:33:00 +01:00
Lukas Reschke
05615bfd47 Simplify isValidPath and add unit tests
The check for invalid paths is actually over-complicated and performed twice resulting in a performance penalty. Additionally, I decided to add unit-tests to that function.

Part of https://github.com/owncloud/core/issues/13221
2015-01-10 00:40:21 +01:00
Thomas Müller
9fb61b42f6 Merge pull request #13208 from owncloud/hhvm-streamwrapper-exception
HHVM Workaround: Do not use Exception from Stream.
2015-01-09 18:02:28 +01:00
Andreas Fischer
df849bb69a HHVM Workaround: Do not use Exception from Stream.
Works around https://github.com/facebook/hhvm/issues/2436#issuecomment-69351373
2015-01-09 17:01:17 +01:00
Robin McCorkell
631d6571fd Merge pull request #13181 from owncloud/filecache-preventleadingslash
Trim leading or trailing slashes in file cache paths
2015-01-09 13:54:17 +00:00
Thomas Müller
1f1643b35f Merge pull request #12995 from owncloud/tbelau666-master
Use Doctrines filter by table name
2015-01-09 14:17:14 +01:00
Morris Jobke
6a5f12beca Merge pull request #12988 from owncloud/logfile_download
Logfile download
2015-01-09 00:33:22 +01:00
Vincent Petry
aa821ecc00 Trim leading or trailing slashes in file cache paths 2015-01-08 19:43:02 +01:00
Lukas Reschke
7fbb7f4dc4 Add version to .htaccess
Currently if a user does not replace the .htaccess file with the new update this can lead to serious problems in case Apache is used as webserver.

This commit adds the version to the .htaccess file and the update routine fails in case not the newest version is specified in there. This obviously means that every release has to update the version specified in .htaccess as well. But I see no better solution for it.

Conflicts:
	lib/private/updater.php
2015-01-08 12:49:02 +01:00
Georg Ehrke
f579f2bd94 add Download logfile button to admin settings
add logSettingsController

add download logfile button

move getEntries to LogSettingsController

move set log level to logsettingscontroller.php

add warning if logfile is bigger than 100MB

add unit test for set log level

fix typecasting, add new line at EoF

show log and logfile download only if log_type is set to owncloud

add unit test for getFilenameForDownload
2015-01-07 14:55:53 +01:00
Lukas Reschke
3e324f87d0 Use proper test name 2015-01-05 09:54:14 +01:00
Lukas Reschke
7b3f736300 Use proper namespace 2015-01-05 09:54:14 +01:00
Lukas Reschke
0ed00bca43 Use namespace 2015-01-05 09:54:14 +01:00
Lukas Reschke
556c9b6f46 Write unit-tests and use DI 2015-01-05 09:54:12 +01:00
Tom Needham
dc85c20b18 Add provisioning_api app
enable unit tests for provisioning api

fix admin docu key
2014-12-24 22:15:20 +01:00
Thomas Müller
40330bf492 Merge pull request #12830 from owncloud/intelligent-container
Intelligent container
2014-12-23 15:36:55 +01:00
Morris Jobke
6fd1a9563e add proper prefix for migration tests 2014-12-23 11:05:53 +01:00
Bernhard Posselt
f195123765 Intelligent container
* resolves dependencies by type hint or variable name
* simpler route.php
* implementation of https://github.com/owncloud/core/issues/12829

Generates and injects parameters automatically. You can now build full classes like

    $c->query('MyClassName')

without having to register it as a service. The resolved object's instance will be saved by using registerService. If a constructor parameter is not type hinted, the parameter name will be taken.

Therefore the following two implementations are identical:

    class Class1 { function __construct(MyClassName $class)
    class Class1 { function __construct($MyClassName)

This makes it possible to also inject primitive values such as strings, arrays etc.

In addition if the query could not be resolved, a `QueryException` is now thrown

Routes can now be returned as an array from `routes.php` and an `appinfo/application.php` is optional

Old commit messages:

make it possible to return the routes instead of having to intialize the application
try to get the controller by convention
add first implementation of automatic resolve
add another test just to be sure
store the resolved object
more tests
add phpdoc to public app.php method
use the same variable for the public app.php method
deprecate old methods and add services for public interfaces
deprecated getServer method
disallow private api injection for apps other than core or settings (settings should be an app goddamnit :D)
register userid because its such an often used variable
fix indention and leading slash
use test namespace
add deprecation reasons, remove private api usage checks and remove deprecation from getServer()
add additional public interfaces
add public interface for rootfolder
fix syntax error
remove deprecation from methods where no alternative is there yet
remove deprecated from method which has no alternative
add timezone public service for #12881
add another deprecation hint
move deprecation into separate branch
remove dead comment
first try to get the namespace from the info.xml, if it does not exist, just uppercase the first letter
also trim the namespace name
add an interface for timefactory
move timefactory to public and add icontrollermethodreflector
keep core interface
fix copyright date in headers
2014-12-23 09:50:42 +01:00
Andreas Fischer
4569953e5c Clean up test table in Connection Test to prevent unnecessary failures. 2014-12-23 01:01:58 +01:00
Thomas Müller
fe6f4a1404 Merge pull request #11810 from owncloud/hhvm-autotest
Adding autotest-hhvm.sh [WIP]
2014-12-22 14:12:03 +01:00
Andreas Fischer
91e03f5845 Properly call parent::tearDown() in MDB2SchemaManager::tearDown().
The early return introduced by 04c982a96e
prevents parent::tearDown() being called on Oracle.
2014-12-20 15:30:35 +01:00
Bjoern Schiessle
24993280ed Next step in server-to-server sharing next generation, see #12285
Beside some small improvements and bug fixes this will probably the final state for OC8.

To test this you need to set up two ownCloud instances. Let's say:

URL: myPC/firstOwnCloud user: user1
URL: myPC/secondOwnCloud user: user2
Now user1 can share a file with user2 by entering the username and the URL to the second ownCloud to the share-drop-down, in this case "user2@myPC/secondOwnCloud".

The next time user2 login he will get a notification that he received a server-to-server share with the option to accept/decline it. If he accept it the share will be mounted. In both cases a event will be send back to user1 and add a notification to the activity stream that the share was accepted/declined.

If user1 decides to unshare the file again from user2 the share will automatically be removed from the second ownCloud server and user2 will see a notification in his activity stream that user1@myPC/firstOwnCloud has unshared the file/folder from him.
2014-12-19 15:20:24 +01:00
Thomas Müller
2d64797320 Merge pull request #12956 from owncloud/jenkins-user-backend-names
[jenkins only] introduce names for user backends - IUserBackend
2014-12-19 13:15:50 +01:00
Morris Jobke
6da33e1ea7 introduce names for user backends - IUserBackend
* LDAP with multiple servers also proved backendName
2014-12-19 10:17:17 +01:00
Thomas Müller
995f01fa2a Merge pull request #12921 from owncloud/user-mail-user-management
Mail address of users is now changable in the user management
2014-12-19 09:51:18 +01:00
Morris Jobke
39d6ddd38a Merge pull request #12865 from owncloud/files-tags-webdav
Returns tags through WebDAV
2014-12-19 09:33:28 +01:00
Andreas Fischer
48d6724a6f HHVM sets stream meta datum wrapper_type to 'File' instead of 'user-space'. 2014-12-19 00:58:37 +01:00
Morris Jobke
114a6464e8 Merge pull request #12748 from owncloud/redis_cache
Add Redis cache implementation, prefer over memcached, tests & config sample doc
2014-12-19 00:26:25 +01:00
Morris Jobke
75e8b39826 Merge pull request #12879 from owncloud/mountconfig
Add mount specific options
2014-12-18 23:38:14 +01:00
Morris Jobke
5913af8a72 Mail address of users is now changable in the user management
* introduced new route settings/users/{id}/mailAddress
* kept old responses
* better error messages
* dropped lostpassword.php from settings/ajax
* cleaned up the UserList.add() and hand in user object instead of
  each attribute as another parameter
* check for change permission of mail address
* proper response messages
2014-12-18 22:43:09 +01:00
Thomas Müller
5327b80430 Merge pull request #12870 from owncloud/send-mail-new-user
Send mail for new users
2014-12-18 22:32:37 +01:00
Thomas Müller
0132a619e7 Merge pull request #12168 from owncloud/docker-webdav
Setup a docker container that holds a webdav instance to test files_exte...
2014-12-17 22:12:01 +01:00
Morris Jobke
7c1b9aedd5 Setup a docker container that holds a webdav instance to test files_external
document docker parameter and use random host port
fix typo
copy autotest.sh to autotest-external.sh
adds ability to add start* and stop* scripts in env in external tests
run files_external WebDAV tests against ownCloud instance
introduce executor number to be able to shut down the correct docker container
fetch docker images in advance - this also fetches latest versions of the docker images
add second argument to autotest-external.sh which can specify a single test to run
print out the explicit test run
change naming schema of files_external setup scripts
2014-12-17 21:50:35 +01:00