Commit graph

2908 commits

Author SHA1 Message Date
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