Commit Graph

2978 Commits

Author SHA1 Message Date
Joas Schilling ad4cab130e Merge pull request #1069 from nextcloud/l10ntest_nodb
L10N tests do not require DB
2016-08-25 23:38:27 +02:00
Roeland Jago Douma c5bdb4d4e8
L10N tests do not require DB
* Makes CI a bit more efficient
* Cleanup getMock warning
2016-08-25 22:41:23 +02:00
Roeland Jago Douma 04cffe6d81
CappedMemoryCacheTest does not require DB
Makes CI a bit more efficient
2016-08-25 22:32:39 +02:00
Robin Appelman 2693ae870e cache user folders 2016-08-25 17:22:25 +02:00
Christoph Wurst 6af2efb679
prevent infinite redirect loops if the there is no 2fa provider to pass
This fixes infinite loops that are caused whenever a user is about to solve a 2FA
challenge, but the provider app is disabled at the same time. Since the session
value usually indicates that the challenge needs to be solved before we grant access
we have to remove that value instead in this special case.
2016-08-24 10:49:23 +02:00
Lukas Reschke 2f1b17d44a Merge pull request #1007 from nextcloud/shared-storage-non-recursive
Fix shared storage recursive setup
2016-08-23 22:15:38 +02:00
Robin Appelman a0c2342c20 prevent infinite recursion while getting storage from mount 2016-08-23 14:52:18 +02:00
Lukas Reschke 3ed102497e Merge pull request #995 from nextcloud/workflow-section
Workflow section + hidden empty sections
2016-08-23 11:20:43 +02:00
Arthur Schiwon 5cd3f4e4dc
add test 2016-08-22 16:56:00 +02:00
Arthur Schiwon baa91809bd
adjust test 2016-08-22 08:29:49 +02:00
Arthur Schiwon 7972fa5527
enlist only registered sections that also have settings registered to 2016-08-22 08:29:49 +02:00
Lukas Reschke d50e7ee36c
Remove reading PATH_INFO from server variable
Having two code paths for this is unreliable and can lead to bugs. Also, in some cases Apache isn't setting the PATH_INFO variable when mod_rewrite is used.

Fixes https://github.com/nextcloud/server/issues/983
2016-08-19 14:48:13 +02:00
Julius Haertl 162b153f22
Fix loading of ThemingDefaults 2016-08-19 11:26:22 +02:00
Roeland Jago Douma fe80bb1aff Merge pull request #867 from nextcloud/notification-primary-action-always-first
Make sure the primary action is always the first one
2016-08-17 19:31:14 +02:00
Vincent Petry df9b509ed3
Improve regexp to detect duplicate folders when repairing unmerged shares 2016-08-17 15:31:47 +02:00
Vincent Petry 7a2d25fab4
Fix unmerged shares repair with mixed group and direct shares
Whenever a group share is created after a direct share, the stime order
needs to be properly considered in the repair routine, considering that
the direct user share is appended to the $subShares array and breaking
its order.
2016-08-17 15:31:36 +02:00
Vincent Petry 56b94b220d
Improve file_target finding logic when repairing unmerged shares
Pick the most recent subshare that has no parenthesis from duplication
which should match whichever name the user picked last. If all
subshares have duplicate parenthesis names, use the least recent group
share's target instead.
2016-08-17 15:31:35 +02:00
Joas Schilling 027069cbae Merge pull request #846 from nextcloud/provisioning_api_ocs
Move Provisioning API to the AppFramework
2016-08-17 10:23:13 +02:00
Arthur Schiwon 4943441bde
adjust tests to latest changes 2016-08-16 18:59:45 +02:00
Arthur Schiwon 717e22267a
Merge branch 'master' into implement_712 2016-08-16 18:31:59 +02:00
Roeland Jago Douma c044aa34fa
Make the capabilities manager more error proof
If an app registers an invalid capabilty we should not crash hard.
Instead we should catch the exception. Log it (error) and carry on.

* Added tests
2016-08-15 20:37:19 +02:00
Lukas Reschke 7ffb7b0d84
Use MockBuilder instead of createMock
CI uses an older PHPUnit
2016-08-15 16:43:22 +02:00
Lukas Reschke 8a7a0f3287
Add unit tests 2016-08-15 16:25:34 +02:00
Joas Schilling 3ed05f8769
Make sure the primary action is always the first one 2016-08-15 11:13:54 +02:00
Roeland Jago Douma a0b22227fc
Add tests 2016-08-14 18:34:01 +02:00
Roeland Jago Douma 1f370c97ed
OCSController requires DataResponse
The OCS Controller requires a DataResponse object to be returned.
This means that all error handling will have to be done via exceptions
thrown and handling in the middleware.
2016-08-10 12:40:26 +02:00
Lukas Reschke 9fbdb0efe8 Merge pull request #529 from nextcloud/vendor-maintenance-downgrade
Allow downgrades of maintenance accross vendors
2016-08-10 00:25:53 +02:00
Lukas Reschke 5214b62d55 Merge pull request #691 from nextcloud/ocs_allow_all_old_routes
Allow ocs/v2.php/cloud/... routes
2016-08-09 20:52:49 +02:00
Lukas Reschke b53ea18ea5
Match only for actual session cookie
OVH has implemented load balancing in a very questionable way where the reverse proxy actually internally adds some cookies which would trigger a security exception. To work around this, this change only checks for the session cookie.
2016-08-09 19:23:08 +02:00
Lukas Reschke b4ed4e152e Merge pull request #746 from nextcloud/jail-root
getJailedPath expects $path to have a trailing /
2016-08-09 11:04:11 +02:00
Roeland Jago Douma 0032a5c2d1
Hanlde Core and Settings app in AppFramework
'core' and 'settings' are just apps but we treat them slightly
different. Make sure that we construct the correct namespace so we can
actually do automatic AppFramework stuff.
2016-08-08 20:48:16 +02:00
Roeland Jago Douma 63f6d2d558
Allow ocs/v2.php/cloud/... routes
One of the possibilities of the old OCS API is that you can define the
url yourself.

This PR makes this possible again by adding an optional root elemenet to
the route. Routes are thus:

.../ocs/v2.php/<root>/<url>

By default <root> = apps/<app>

This will allow for example the provisioning API etc to be in
../ovs/v2/php/cloud/users
2016-08-08 15:01:26 +02:00
Joas Schilling f37fa6e45c
Move Share backends to PSR-4 instead of using class path (#24941) 2016-08-05 14:13:41 +02:00
Thomas Müller f1cd68d713 Adding test case for getPathById including a jailed cache where root is just empty 2016-08-05 14:06:05 +02:00
Vincent Petry 0c6352e095
Fix RepairUnmergedShares to not skip valid repair cases
The repair step was a bit overeager to skip repairing so it missed the
case where a group share exists without subshares but with an
additional direct user share.
2016-08-03 10:16:28 +02:00
Vincent Petry 67fa6bf9bc
Add repair step for unmerged shares (WIP) 2016-08-03 10:16:28 +02:00
Roeland Jago Douma 5c718b13b8
We should properly check for 'true' instaed of the bool 2016-08-01 08:52:50 +02:00
Roeland Jago Douma f7f5216aa3
Dark hackery to not always disable CSRF for OCS controllers 2016-07-29 15:49:27 +02:00
Morris Jobke 54ae8eede3 Merge pull request #556 from nextcloud/nextcloud-version-check
Allow apps to check for a given nextcloud version
2016-07-29 09:26:25 +02:00
Bjoern Schiessle 351cab6bce
skip shared files, if files get decrypted only for a specific user we shouldn't touch files owned by a different user. 2016-07-27 15:39:24 +02:00
Roeland Jago Douma 8bdd0adcee
Support subdir in the OCS v2 endpoint
We should check against the ending substring since people could
run their nextcloud in a subfolder.

* Added test
2016-07-27 15:28:35 +02:00
Morris Jobke 9c21067c19
fix enabled apps tests 2016-07-27 08:36:03 +02:00
Morris Jobke 6482be040b
fix unit tests 2016-07-26 16:43:58 +02:00
Joas Schilling 0fcc39cd8e
Translate the server version for nextcloud 2016-07-26 14:40:18 +02:00
Morris Jobke 2f42a3fc31
Add workflowengine 2016-07-26 11:16:34 +02:00
William Bargent 352e24e703 Merge pull request #292 from nextcloud/recent-files
Add "Recent" file listing
2016-07-25 15:25:02 +01:00
Joas Schilling 4ad0c383ad Merge pull request #523 from Faldon/master
Renamed file logging
2016-07-25 11:41:24 +02:00
Robin Appelman 81e103074e use limit instead of since when listing recent files 2016-07-22 15:20:55 +02:00
Robin Appelman a4ba3eadd0 fix test 2016-07-22 15:20:55 +02:00
Joas Schilling 5c34346479
Allow downgrades of maintenance accross vendors 2016-07-22 14:51:43 +02:00
Thomas Pulzer 61a1d56d27 Renamed test classes for file logging tests. 2016-07-22 14:47:50 +02:00
Robin Appelman e321ecd592 add recent files to node api 2016-07-22 14:39:32 +02:00
Roeland Jago Douma 72b06d250d
Add tests 2016-07-22 12:53:47 +02:00
Thomas Pulzer ba3f4f118e Changed logtype to file instead of owncloud.
- Updated the config sample to point to log_type='file'
- Renamed the Class for logfile logging to File in namespace 'OC\Log\'.
  Changed the occurrences of 'OC\Log\Owncloud' to 'OC\Log\File'.
- Renamed the Class for log:file command to File in namespace 'OC\Core\Command\Log\File'.
  Changed registration of the command to use 'OC\Core\Command\Log\File'.
- Changed default Syslog tag to Nextcloud
- Retained backwards compatibility for configs with 'logtype' => 'owncloud'

- Adjusted tests for the new file log.

Closes #490.
2016-07-22 11:44:19 +02:00
Lukas Reschke c385423d10 Merge pull request #479 from nextcloud/add-bruteforce-throttler
Implement brute force protection
2016-07-21 00:31:02 +02:00
Lukas Reschke c1589f163c
Mitigate race condition 2016-07-20 23:09:27 +02:00
Lukas Reschke ba4f12baa0
Implement brute force protection
Class Throttler implements the bruteforce protection for security actions in
Nextcloud.

It is working by logging invalid login attempts to the database and slowing
down all login attempts from the same subnet. The max delay is 30 seconds and
the starting delay are 200 milliseconds. (after the first failed login)
2016-07-20 22:08:56 +02:00
Lukas Reschke 020a2a6958 Merge pull request #476 from nextcloud/port-same-site-cookies
[master] Port Same-Site Cookies to master
2016-07-20 21:35:02 +02:00
Roeland Douma 78cad699fe Merge pull request #475 from nextcloud/ocs-middleware
Add OCS Middleware
2016-07-20 21:04:25 +02:00
Morris Jobke e08278494d Merge pull request #471 from nextcloud/storage-fopenspecialchars
Added storage tests for fopen with special chars
2016-07-20 20:56:59 +02:00
Roeland Jago Douma 5f32b57332
Add unit tests 2016-07-20 20:03:49 +02:00
Lukas Reschke a299fa38a9
[master] Port Same-Site Cookies to master
Fixes https://github.com/nextcloud/server/issues/50
2016-07-20 18:37:57 +02:00
Morris Jobke 1264e9644f Merge pull request #402 from nextcloud/smb-notifications
smb update notifications
2016-07-20 16:19:21 +02:00
Vincent Petry 631af42b3a
Added storage tests for fopen with special chars
This makes it possible to test special chars with unit tests.
There is already a test for directories but there was none for file
names.
2016-07-20 15:13:24 +02:00
Roeland Jago Douma 0bda09236e
Add route tests 2016-07-18 11:09:49 +02:00
Roeland Douma 6f9236fb3b Merge pull request #381 from nextcloud/postgres-setup
use pdo for postgres setup
2016-07-15 21:30:51 +02:00
Roeland Jago Douma a3fa0d00c3
Cleanup ManagerTest
* Fix deprecated getMock call
* No longer requires DB
2016-07-14 13:49:18 +02:00
Joas Schilling c04e7b13c3 Merge pull request #392 from nextcloud/roottest_nodb
RootTest does not require DB
2016-07-13 16:54:19 +02:00
Robin Appelman 29eeeb2273 Save the files external mount id in the mount cache table 2016-07-13 16:34:08 +02:00
Roeland Jago Douma 927be847b9
RootTest does not require DB
* Removed from DB group
* Also mock the manager
* Fixed deprecated getMock warnings
2016-07-13 14:35:34 +02:00
Robin Appelman b288c6796a fix test 2016-07-13 14:33:04 +02:00
Roeland Jago Douma f2d091a963
Fix failing tests after db split 2016-07-13 09:26:19 +02:00
Roeland Jago Douma 8d739f308b
Some UtilTests require DB
In the current setup there is no DI so no way to mock them.
2016-07-11 21:05:39 +02:00
Roeland Jago Douma 5b6f5f1a07
LegacyGroupTest need DB
Those old tests make it impossible in the current state to abstract
away.
2016-07-11 21:02:27 +02:00
Roeland Jago Douma 4ebf001b2e
Improve ManagerTest
* No DB required
* Fixed phpunit 5.4 warnings
2016-07-11 21:02:27 +02:00
Roeland Jago Douma 31018adab3
Improve GroupTest
* No longer require DB
2016-07-11 21:02:27 +02:00
Björn Schießle e8169e0d71 Merge pull request #364 from nextcloud/ca-bundle-tests
add test for needsRebundling() check
2016-07-11 17:34:31 +02:00
Bjoern Schiessle 7c64e1973f
add test for needsRebundling() check 2016-07-11 15:51:48 +02:00
Roeland Jago Douma 3b4535c3be
Improve NodeTest
* Do not use DB
* Fix phpunit-5.4 warnigns
* Moved commong stuff to setup
2016-07-11 15:41:02 +02:00
Lukas Reschke 0c1cf5f7eb Merge pull request #347 from nextcloud/drop-windows-foo
Remove unneeded checks if it runs on a Windows machine
2016-07-11 13:16:03 +02:00
Joas Schilling 6ea77abb38
Fix some more tests 2016-07-11 10:59:27 +02:00
Morris Jobke 1ace70d2c2 Merge pull request #351 from nextcloud/improve_filetest_unittest
Improve FileTest
2016-07-11 10:40:13 +02:00
Roeland Jago Douma 937c9519d6
Mock logger 2016-07-11 08:50:30 +02:00
Roeland Jago Douma 2fa9e67294
Fix phpunit-5.4 wargning
* getMock is deprecated.
* \PDOStatement mocking fails hard on phpunit 4.8
2016-07-11 08:50:07 +02:00
Roeland Jago Douma 58dd278b4e
Correction is no longer required in php7 2016-07-08 19:36:17 +02:00
Roeland Jago Douma c91aebc437
Fix phpunit Trait warning 2016-07-08 19:36:17 +02:00
Roeland Jago Douma 3a60626b77
Improve FileTest
* No longer requires DB
* Fixed phpunit 5.4 warnings
* Moved common stuff to Setup phase
2016-07-08 19:35:51 +02:00
Morris Jobke c2d88a08b7
Remove unneeded checks if it runs on a Windows machine
* the setup check is still there
2016-07-08 15:55:17 +02:00
Johannes Ernst 66a134e69e Disallow certain malformed domain names even if they match the trusted domain expression
Stricter checking for valid domain names
2016-07-06 23:51:04 +00:00
Johannes Ernst 2b4ceae620 Trusted domain wildcard checking made shorter, supporting multiple *
Added test cases
2016-07-06 23:38:30 +00:00
Thomas Pulzer 90b7f74da7 Changed name of default logfile from owncloud.log to nextcloud.log. 2016-07-04 11:50:32 +02:00
Lukas Reschke 179a355b2c Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-07-01 11:36:35 +02:00
Morris Jobke 3acdc1339d Merge pull request #206 from nextcloud/ci-mysql
Add mysql job to CI
2016-06-30 09:06:19 +02:00
Morris Jobke 01829e8d7c mysql only works with 3 byte UTF-8 2016-06-29 15:53:23 +02:00
Thomas Müller b55ab6d22a Various database migration fixes (#25209)
* String columns with a length higher then 4000 are converted into a CLOB columns automagically - we have to respect this when migrating

* Adding schema migration tests to prevent unnecessary and non-sense migration steps
Fix Oracle autoincrement and unsigned handling

* Fix sqlite integer type for autoincrement

* Use lower case table names - fixes pg

* Fix postgres with default -1 - this only affect pg 9.4 servers - 9.5 seems to work fine
2016-06-29 14:54:41 +02:00
Christoph Wurst 1710de8afb Login hooks (#25260)
* fix login hooks

* adjust user session tests

* fix login return value of successful token logins

* trigger preLogin hook earlier; extract method 'loginWithPassword'

* call postLogin hook earlier; add PHPDoc
2016-06-27 22:16:22 +02:00
Lukas Reschke 6670d37658 Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-06-27 18:23:00 +02:00
Bjoern Schiessle 2a990a0db5
verify user password on change 2016-06-27 14:08:11 +02:00
Bjoern Schiessle d4989c8037
remove old hook, no longer needed 2016-06-27 14:05:27 +02:00
Bjoern Schiessle 630e4b1b46
check password for link shares 2016-06-27 14:05:27 +02:00
Vincent Petry 199c8e304c Merge pull request #25250 from owncloud/linkshare-includedeletewithuploadperms
Add explicit delete permission to link shares
2016-06-27 12:14:05 +02:00
Lukas Reschke 7a9d60d87e
Merge remote-tracking branch 'upstream/master' into master-upstream-sync 2016-06-26 12:55:05 +02:00
Christoph Wurst 89198e62e8 check login name when authenticating with client token 2016-06-24 13:57:09 +02:00
Vincent Petry 0ad065cb8d Repair step to adjust link share delete permissions 2016-06-24 09:48:48 +02:00
Vincent Petry 955635c7aa Add explicit delete permission to link shares
Link shares always allowed deletion, however internally the permissions
were stored as 7 which lacked delete permissions. This created an
inconsistency in the Webdav permissions.

This fix makes sure we include delete permissions in the share
permissions, which now become 15.

In case a client is still passing 7 for legacy reasons, it gets
converted automatically to 15.
2016-06-24 09:48:48 +02:00
Vincent Petry 3db5de95bd Merge pull request #25172 from owncloud/token-login-validation
Token login validation
2016-06-22 13:58:56 +02:00
Lukas Reschke 2b493e2f9d
Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-06-21 11:18:22 +02:00
Christoph Wurst b805908dca
update session token password on user password change 2016-06-21 10:24:25 +02:00
Morris Jobke 62e6de5df3
fix unit tests 2016-06-20 13:52:51 +02:00
Christoph Wurst 56199eba37
fix unit test warning/errors 2016-06-20 10:41:23 +02:00
Christoph Wurst fb36fd495b
fix DefaultTokenMapperTest 2016-06-20 09:25:15 +02:00
Christoph Wurst 5c68084823
fix default token provider tests 2016-06-20 09:17:19 +02:00
Christoph Wurst 8ef5431e7a
fix user session tests 2016-06-20 09:10:11 +02:00
Christoph Wurst c4149c59c2
use token last_activity instead of session value 2016-06-17 15:42:28 +02:00
Christoph Wurst 82b50d126c
add PasswordLoginForbiddenException 2016-06-17 11:02:07 +02:00
Christoph Wurst 3521f974db
assert app is loaded in unit tests 2016-06-16 11:08:43 +02:00
Christoph Wurst a40d64ff7f
load 2FA provider apps before querying classes 2016-06-16 10:12:16 +02:00
Vincent Petry 9c328de4ab Merge pull request #24415 from owncloud/optimize_sharingdisabled_for_user
Optimize isSharingDisabledForUser
2016-06-16 09:27:48 +02:00
Vincent Petry 1251df3e17 Merge pull request #25075 from owncloud/fix_23265
Remove shares of the root folder
2016-06-16 09:27:06 +02:00
Vincent Petry 05967a6904 Merge pull request #25093 from owncloud/issue-12816-clean-tags-from-deleted-users
Clean up tags of deleted users
2016-06-15 12:20:29 +02:00
Roeland Jago Douma ea4c5e6e0a
Fix unit tests 2016-06-14 13:24:48 +02:00
Joas Schilling 123bf78ca8
Clean up tags of deleted users 2016-06-14 12:38:09 +02:00
Arthur Schiwon ae02685e6f
Merge branch 'master' of https://github.com/owncloud/core into downstream-160614 2016-06-14 01:06:25 +02:00
Christoph Wurst 465807490d
create session token only for clients that support cookies 2016-06-13 19:44:05 +02:00
Roeland Jago Douma 64471b5d4a
Remove shares of the root folder
Fixes #23265

(A possibly costly) repair job to remove cyclic shares.
2016-06-13 15:07:41 +02:00
Christoph Wurst 5daa9a5417 fail hard if 2fa provider can not be loaded (#25061) 2016-06-13 12:46:45 +02:00
Arthur Schiwon 42c66efea5
Merge branch 'master' of https://github.com/owncloud/core into downstream-160611 2016-06-11 15:34:43 +02:00
Lukas Reschke 842cc2a788 Merge pull request #19 from nextcloud/files-drop
add "hide file list" option
2016-06-10 18:29:09 +02:00
Vincent Petry 52a0c939ab Merge pull request #24863 from owncloud/propagator-batching
Propagator batching for the file scanner
2016-06-10 17:45:52 +02:00
Joas Schilling 60225284f3
Add not-null columns for oracle 2016-06-10 12:44:49 +02:00
Roeland Jago Douma 1b66db72d9
Repair job to fix permissions for avatars
Fixes #22978

On some older installations the permissions for the userRoot and the
avatars are not correct. This breaks since we now use the Node API in
the avatar code.

This repair job makes sure that the permissions are set correctly.

* Unit tests added
2016-06-10 12:44:49 +02:00
Arthur Schiwon a636e4ff28
Downstream 2016-06-09
Merge branch 'master' of https://github.com/owncloud/core into downstream-160609
2016-06-09 18:45:12 +02:00
blizzz 51fd2602a7 Revert "Downstream 2016-06-08" 2016-06-09 17:41:57 +02:00
Roeland Jago Douma 7d51fd0310
Add repair step to clean old calendar/contact shares
fixes #21889
2016-06-09 15:48:45 +02:00
Bjoern Schiessle bb54ab0db8
add hide file list option 2016-06-09 15:15:17 +02:00
Robin Appelman bee918693a
dissalow symlinks in local storages that point outside the datadir 2016-06-09 14:00:01 +02:00
Joas Schilling 4f27c2c433
Allow to decrypt user '0' files only 2016-06-09 14:00:00 +02:00
Joas Schilling 0041d89dc2
Do not allow to store boolean configs, they behave unexpected on postgres 2016-06-09 13:59:58 +02:00
Robin Appelman 67c2c85b05
allow deleting "ghost files" trough the View and Node api 2016-06-09 13:59:58 +02:00
Vincent Petry 826e276a79 Merge pull request #24973 from owncloud/token-password-session-token
When creating a session token, make sure it's the login password and …
2016-06-09 11:58:04 +02:00
Vincent Petry aca4ea12c1 Merge pull request #24826 from owncloud/cors-client-login
use client login method on CORS routes
2016-06-09 10:31:14 +02:00
Joas Schilling e49307014c Do not log token or challenge with exception stacktrace (#25026)
* Make the filtering better readable

* Add some more methods to the sensitive list
2016-06-08 16:32:58 +02:00
Christoph Wurst 9997c431c3
use client login method on CORS routes 2016-06-08 15:18:53 +02:00
Christoph Wurst ec929f07f2
When creating a session token, make sure it's the login password and not a device token 2016-06-08 13:31:55 +02:00
Vincent Petry 8d0948977e Merge pull request #24899 from owncloud/local-storage-symlinks
dissalow symlinks in local storages that point outside the datadir
2016-06-08 10:19:24 +02:00
Vincent Petry ed92f4c427 Merge pull request #24983 from owncloud/issue-23776-do-not-allow-boolean-user-config
Do not allow to store boolean configs, they behave unexpected on postgres
2016-06-08 10:14:08 +02:00
Vincent Petry b7935dcebd Merge pull request #24998 from owncloud/issue-24994-allow-decrypting-user-0-only
Allow to decrypt user '0' files only
2016-06-08 10:12:28 +02:00
Morris Jobke 38451c85f1
skip failing tests 2016-06-07 17:54:40 +02:00
Robin Appelman 7b1b723e5b dissalow symlinks in local storages that point outside the datadir 2016-06-07 14:01:53 +02:00
Joas Schilling d4ba982131
Allow to decrypt user '0' files only 2016-06-07 09:13:11 +02:00