Skip to content

Do not allow invalid users to be created - #14652

Merged
nickvergessen merged 1 commit into
masterfrom
fix/invalid_usernames
Mar 14, 2019
Merged

Do not allow invalid users to be created#14652
nickvergessen merged 1 commit into
masterfrom
fix/invalid_usernames

Conversation

@rullzer

Copy link
Copy Markdown
Member

Signed-off-by: Roeland Jago Douma roeland@famdouma.nl

Comment threadlib/private/User/Manager.php Outdated
Comment threadlib/private/User/Manager.php Outdated
Comment threadlib/private/User/Manager.php Outdated
@faily-bot

faily-botBot commented Mar 13, 2019

Copy link
Copy Markdown

🤖 beep boop beep 🤖

Here are the logs for the failed build:

Status of 16946: failure

DB=sqlite, ENABLE_REDIS=false, PHP=7.3

Show full log
There was 1 failure:
1) TrashbinTest::testExpireOldFiles
Failed asserting that null is identical to 'file2.txt'.
/drone/src/github.com/nextcloud/server/apps/files_trashbin/tests/TrashbinTest.php:186
--
There was 1 risky test:
1) OCA\TwoFactorBackupCodes\Tests\Db\BackupCodeMapperTest::testInsertArgonEncryptedCodes
This test did not perform any assertions

TESTS=integration-federation_features

  • build/integration/federation_features/federated.feature:183
  • build/integration/federation_features/federated.feature:232
  • build/integration/federation_features/federated.feature:247
  • build/integration/federation_features/federated.feature:263
Show full log
[Wed Mar 13 10:19:12 2019] 127.0.0.1:57148 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 10:19:12 2019] 127.0.0.1:57164 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Reshare a federated shared file # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:183
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 10:19:13 2019] 127.0.0.1:34332 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 10:19:14 2019] 127.0.0.1:34450 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:19:33 2019] 127.0.0.1:34584 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 10:19:35 2019] 127.0.0.1:35284 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:19:36 2019] 127.0.0.1:35356 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 10:19:39 2019] 127.0.0.1:35392 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:19:58 2019] 127.0.0.1:35614 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 10:19:59 2019] 127.0.0.1:36974 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 10:20:00 2019] 127.0.0.1:59916 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:20:03 2019] 127.0.0.1:59984 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:20:27 2019] 127.0.0.1:60156 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:20:29 2019] 127.0.0.1:32890 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:20:30 2019] 127.0.0.1:38388 [200]: /ocm-provider/
[Wed Mar 13 10:20:30 2019] 127.0.0.1:38390 [201]: /index.php/ocm/shares
[Wed Mar 13 10:20:30 2019] 127.0.0.1:32950 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 10:20:32 2019] 127.0.0.1:38414 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 10:20:33 2019] 127.0.0.1:33034 [200]: //ocm-provider/
[Wed Mar 13 10:20:33 2019] 127.0.0.1:33042 [201]: /index.php/ocm/notifications
[Wed Mar 13 10:20:33 2019] 127.0.0.1:33044 [200]: //ocs-provider/
[Wed Mar 13 10:20:33 2019] 127.0.0.1:33046 [200]: /ocs/v2.php/cloud/shares/8/accept?format=json
[Wed Mar 13 10:20:33 2019] 127.0.0.1:38418 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/9
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 10:20:34 2019] 127.0.0.1:33116 [200]: //ocs-provider/
[Wed Mar 13 10:20:34 2019] 127.0.0.1:33118 [200]: //status.php
[Wed Mar 13 10:20:34 2019] 127.0.0.1:33120 [200]: //status.php
[Wed Mar 13 10:20:34 2019] 127.0.0.1:33122 [200]: /index.php/apps/files_sharing/shareinfo?t=f1uLjvwA4et6Te1
[Wed Mar 13 10:20:34 2019] 127.0.0.1:38436 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
When creating a share with # FederationContext::creatingShare()
| path | /textfile0 (2).txt |
| shareType | 0 |
| shareWith | user2 |
| permissions | 19 |
Then the OCS status code should be "100" # FederationContext::theOCSStatusCodeShouldBe()
Failed asserting that SimpleXMLElement Object &00000000060fab98000000002f4b72bb (
0 => '404'
) matches expected '100'.
And the HTTP status code should be "200" # FederationContext::theHTTPStatusCodeShouldBe()
And Share fields of last share match with # FederationContext::checkShareFields()
| id | A_NUMBER |
| item_type | file |
| item_source | A_NUMBER |
| share_type | 0 |
| file_source | A_NUMBER |
| path | /textfile0 (2).txt |
| permissions | 19 |
| stime | A_NUMBER |
| storage | A_NUMBER |
| mail_send | 1 |
| uid_owner | user1 |
| file_parent | A_NUMBER |
| displayname_owner | user1 |
| share_with | user2 |
| share_with_displayname | user2 |
[Wed Mar 13 10:20:46 2019] 127.0.0.1:33124 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:20:47 2019] 127.0.0.1:33624 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:20:55 2019] 127.0.0.1:34196 [200]: //ocm-provider/
[Wed Mar 13 10:20:55 2019] 127.0.0.1:34198 [400]: /index.php/ocm/notifications
[Wed Mar 13 10:20:55 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 8"}
[Wed Mar 13 10:23:32 2019] 127.0.0.1:41238 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 10:23:32 2019] 127.0.0.1:41248 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared folder as recipient # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:232
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 10:23:33 2019] 127.0.0.1:46644 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 10:23:38 2019] 127.0.0.1:46754 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:24:06 2019] 127.0.0.1:46922 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 10:24:11 2019] 127.0.0.1:47766 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:24:12 2019] 127.0.0.1:47888 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 10:24:19 2019] 127.0.0.1:47972 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:24:35 2019] 127.0.0.1:48176 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 10:24:36 2019] 127.0.0.1:48538 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 10:24:36 2019] 127.0.0.1:43164 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:24:38 2019] 127.0.0.1:43174 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:24:53 2019] 127.0.0.1:43216 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:24:54 2019] 127.0.0.1:43720 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:24:55 2019] 127.0.0.1:49162 [200]: /ocm-provider/
[Wed Mar 13 10:24:55 2019] 127.0.0.1:49164 [201]: /index.php/ocm/shares
[Wed Mar 13 10:24:55 2019] 127.0.0.1:43752 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 10:24:56 2019] 127.0.0.1:49178 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 10:24:57 2019] 127.0.0.1:43820 [200]: //ocm-provider/
[Wed Mar 13 10:24:57 2019] 127.0.0.1:43822 [201]: /index.php/ocm/notifications
[Wed Mar 13 10:24:57 2019] 127.0.0.1:43824 [200]: //ocs-provider/
[Wed Mar 13 10:24:57 2019] 127.0.0.1:43826 [200]: /ocs/v2.php/cloud/shares/10/accept?format=json
[Wed Mar 13 10:24:57 2019] 127.0.0.1:49188 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/11
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA" # FederationContext::modifyTextOfFile()
[Wed Mar 13 10:24:58 2019] 127.0.0.1:43858 [200]: //ocs-provider/
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43864 [401]: /public.php/webdav/textfile0.txt
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43866 [404]: /public.php/webdav/textfile0.txt
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43868 [200]: //status.php
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43870 [200]: //status.php
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43878 [200]: /index.php/apps/files_sharing/shareinfo?t=a8cTCdnhamJ4szs
[Wed Mar 13 10:24:59 2019] Undefined index: size at /drone/src/github.com/nextcloud/server/lib/private/Files/View.php#1324
[Wed Mar 13 10:24:59 2019] Undefined index: storage_mtime at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#126
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43884 [207]: /public.php/webdav/
[Wed Mar 13 10:24:59 2019] Undefined index: etag at /drone/src/github.com/nextcloud/server/lib/private/Files/Storage/DAV.php#784
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43898 [200]: //status.php
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43900 [200]: //status.php
[Wed Mar 13 10:24:59 2019] 127.0.0.1:43902 [200]: /index.php/apps/files_sharing/shareinfo?t=a8cTCdnhamJ4szs
[Wed Mar 13 10:24:59 2019] Undefined index: mimetype at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#108
[Wed Mar 13 10:24:59 2019] 127.0.0.1:49232 [404]: /remote.php/webdav/PARENT%20(2)/textfile0.txt
When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsAFileTo()
Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=0-8" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "BLABLABLA" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 10:25:07 2019] 127.0.0.1:43918 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:25:08 2019] 127.0.0.1:44080 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:25:14 2019] 127.0.0.1:44288 [200]: //ocm-provider/
[Wed Mar 13 10:25:14 2019] 127.0.0.1:44290 [400]: /index.php/ocm/notifications
[Wed Mar 13 10:25:14 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 10"}
[Wed Mar 13 10:25:22 2019] 127.0.0.1:44402 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 10:25:23 2019] 127.0.0.1:44472 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared file as recipient using old chunking # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:247
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 10:25:23 2019] 127.0.0.1:49872 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 10:25:26 2019] 127.0.0.1:49890 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:25:43 2019] 127.0.0.1:49934 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 10:25:44 2019] 127.0.0.1:50268 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:25:45 2019] 127.0.0.1:50336 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 10:25:49 2019] 127.0.0.1:50372 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:26:06 2019] 127.0.0.1:50426 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 10:26:08 2019] 127.0.0.1:50804 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 10:26:08 2019] 127.0.0.1:45428 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:26:11 2019] 127.0.0.1:45484 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:26:30 2019] 127.0.0.1:45606 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:26:30 2019] 127.0.0.1:46166 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:26:32 2019] 127.0.0.1:51594 [200]: /ocm-provider/
[Wed Mar 13 10:26:32 2019] 127.0.0.1:51596 [201]: /index.php/ocm/shares
[Wed Mar 13 10:26:32 2019] 127.0.0.1:46176 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 10:26:33 2019] 127.0.0.1:51628 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 10:26:33 2019] 127.0.0.1:46262 [200]: //ocm-provider/
[Wed Mar 13 10:26:33 2019] 127.0.0.1:46264 [201]: /index.php/ocm/notifications
[Wed Mar 13 10:26:33 2019] 127.0.0.1:46266 [200]: //ocs-provider/
[Wed Mar 13 10:26:33 2019] 127.0.0.1:46268 [200]: /ocs/v2.php/cloud/shares/11/accept?format=json
[Wed Mar 13 10:26:33 2019] 127.0.0.1:51638 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/12
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 10:26:34 2019] 127.0.0.1:46276 [200]: //ocs-provider/
[Wed Mar 13 10:26:34 2019] 127.0.0.1:46282 [401]: /public.php/webdav/
[Wed Mar 13 10:26:34 2019] 127.0.0.1:46284 [207]: /public.php/webdav/
[Wed Mar 13 10:26:36 2019] 127.0.0.1:46310 [200]: //status.php
[Wed Mar 13 10:26:36 2019] 127.0.0.1:46316 [200]: //status.php
[Wed Mar 13 10:26:36 2019] 127.0.0.1:46318 [200]: /index.php/apps/files_sharing/shareinfo?t=K4OpqVJbvhGyVq9
[Wed Mar 13 10:26:36 2019] 127.0.0.1:51658 [404]: /remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0
And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
Client error: `PUT http://localhost:8180/remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
When Downloading file "/textfile0 (2).txt" with range "bytes=0-4" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "AAAAA" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 10:26:40 2019] 127.0.0.1:46328 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:26:41 2019] 127.0.0.1:46412 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:26:52 2019] 127.0.0.1:46786 [200]: //ocm-provider/
[Wed Mar 13 10:26:52 2019] 127.0.0.1:46788 [400]: /index.php/ocm/notifications
[Wed Mar 13 10:26:52 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 11"}
[Wed Mar 13 10:27:00 2019] 127.0.0.1:46942 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 10:27:00 2019] 127.0.0.1:46954 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared folder as recipient using old chunking # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:263
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 10:27:01 2019] 127.0.0.1:52354 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 10:27:03 2019] 127.0.0.1:52366 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:27:20 2019] 127.0.0.1:52494 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 10:27:21 2019] 127.0.0.1:53094 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:27:21 2019] 127.0.0.1:53134 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 10:27:22 2019] 127.0.0.1:53164 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:27:30 2019] 127.0.0.1:53204 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 10:27:30 2019] 127.0.0.1:53522 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 10:27:30 2019] 127.0.0.1:48136 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:27:31 2019] 127.0.0.1:48146 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 10:27:37 2019] 127.0.0.1:48204 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:27:38 2019] 127.0.0.1:48418 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 10:27:38 2019] 127.0.0.1:53828 [200]: /ocm-provider/
[Wed Mar 13 10:27:38 2019] 127.0.0.1:53830 [201]: /index.php/ocm/shares
[Wed Mar 13 10:27:38 2019] 127.0.0.1:48424 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 10:27:38 2019] 127.0.0.1:53832 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 10:27:39 2019] 127.0.0.1:48482 [200]: //ocm-provider/
[Wed Mar 13 10:27:39 2019] 127.0.0.1:48484 [201]: /index.php/ocm/notifications
[Wed Mar 13 10:27:39 2019] 127.0.0.1:48488 [200]: //ocs-provider/
[Wed Mar 13 10:27:39 2019] 127.0.0.1:48490 [200]: /ocs/v2.php/cloud/shares/12/accept?format=json
[Wed Mar 13 10:27:39 2019] 127.0.0.1:53838 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/13
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 10:27:40 2019] 127.0.0.1:48528 [200]: //ocs-provider/
[Wed Mar 13 10:27:40 2019] 127.0.0.1:48530 [200]: //status.php
[Wed Mar 13 10:27:40 2019] 127.0.0.1:48532 [200]: //status.php
[Wed Mar 13 10:27:40 2019] 127.0.0.1:48534 [200]: /index.php/apps/files_sharing/shareinfo?t=mHSRY2MilIKSOQY
[Wed Mar 13 10:27:40 2019] Undefined index: size at /drone/src/github.com/nextcloud/server/lib/private/Files/View.php#1324
[Wed Mar 13 10:27:40 2019] Undefined index: storage_mtime at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#126
[Wed Mar 13 10:27:41 2019] 127.0.0.1:48544 [401]: /public.php/webdav/
[Wed Mar 13 10:27:41 2019] 127.0.0.1:48550 [207]: /public.php/webdav/
[Wed Mar 13 10:27:41 2019] Undefined index: etag at /drone/src/github.com/nextcloud/server/lib/private/Files/Storage/DAV.php#784
[Wed Mar 13 10:27:41 2019] 127.0.0.1:48564 [200]: //status.php
[Wed Mar 13 10:27:41 2019] 127.0.0.1:48566 [200]: //status.php
[Wed Mar 13 10:27:41 2019] 127.0.0.1:48568 [200]: /index.php/apps/files_sharing/shareinfo?t=mHSRY2MilIKSOQY
[Wed Mar 13 10:27:41 2019] Undefined index: mimetype at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#108
[Wed Mar 13 10:27:41 2019] 127.0.0.1:53880 [404]: /remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0
And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
When Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=3-13" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "AABBBBBCCCC" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 10:27:49 2019] 127.0.0.1:48574 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 10:27:50 2019] 127.0.0.1:48896 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 10:27:57 2019] 127.0.0.1:49064 [200]: //ocm-provider/
[Wed Mar 13 10:27:57 2019] 127.0.0.1:49066 [400]: /index.php/ocm/notifications
[Wed Mar 13 10:27:57 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 12"}

TESTS=acceptance, TESTS-ACCEPTANCE=app-files

  • cancelled - typically means that the tests took longer than the drone CI allows them to run

TESTS=sqlite-php7.1-samba-non-native

Show full log
There was 1 failure:
1) OCA\Files_External\Tests\Storage\SmbTest::testNotifyGetChanges
Failed asserting that an array contains OC\Files\Notify\RenameChange Object &0000000005ccd0ce00000000486fc170 (
'targetPath' => 'renamed.txt'
'type' => 4
'path' => 'newfile.txt'
).
/drone/src/github.com/nextcloud/server/apps/files_external/tests/Storage/SmbTest.php:115

@rullzer
rullzerforce-pushed the fix/invalid_usernames branch from 19142fe to 6b56980CompareMarch 13, 2019 12:53

@MorrisJobkeMorrisJobke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good 👍

@MorrisJobkeMorrisJobke added 4. to release Ready to be released and/or waiting for tests to finish and removed 3. to review Waiting for reviews labels Mar 13, 2019
@MorrisJobke

Copy link
Copy Markdown
Member

CI fixed in #14640

Status of 16951: killed

DB=sqlite, ENABLE_REDIS=false, PHP=7.3

Show full log
There was 1 failure:
1) TrashbinTest::testExpireOldFiles
Failed asserting that null is identical to 'file2.txt'.
/drone/src/github.com/nextcloud/server/apps/files_trashbin/tests/TrashbinTest.php:186
--
There was 1 risky test:
1) OCA\TwoFactorBackupCodes\Tests\Db\BackupCodeMapperTest::testInsertArgonEncryptedCodes
This test did not perform any assertions

TESTS=integration-federation_features

  • build/integration/federation_features/federated.feature:183
  • build/integration/federation_features/federated.feature:232
  • build/integration/federation_features/federated.feature:247
  • build/integration/federation_features/federated.feature:263
Show full log
[Wed Mar 13 13:10:43 2019] 127.0.0.1:51674 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 13:10:43 2019] 127.0.0.1:51676 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Reshare a federated shared file # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:183
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 13:10:43 2019] 127.0.0.1:60038 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 13:10:43 2019] 127.0.0.1:60040 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:10:45 2019] 127.0.0.1:60044 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 13:10:45 2019] 127.0.0.1:60052 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:10:45 2019] 127.0.0.1:60054 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 13:10:45 2019] 127.0.0.1:60056 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:10:46 2019] 127.0.0.1:60060 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 13:10:46 2019] 127.0.0.1:60062 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 13:10:46 2019] 127.0.0.1:51704 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:10:46 2019] 127.0.0.1:51706 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51710 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51712 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:10:47 2019] 127.0.0.1:60076 [200]: /ocm-provider/
[Wed Mar 13 13:10:47 2019] 127.0.0.1:60078 [201]: /index.php/ocm/shares
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51714 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 13:10:47 2019] 127.0.0.1:60080 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51726 [200]: //ocm-provider/
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51728 [201]: /index.php/ocm/notifications
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51730 [200]: //ocs-provider/
[Wed Mar 13 13:10:47 2019] 127.0.0.1:51732 [200]: /ocs/v2.php/cloud/shares/8/accept?format=json
[Wed Mar 13 13:10:47 2019] 127.0.0.1:60084 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/9
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51736 [200]: //ocs-provider/
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51740 [200]: //status.php
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51742 [200]: //status.php
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51744 [200]: /index.php/apps/files_sharing/shareinfo?t=GLSzzJ9zwSKdUeo
[Wed Mar 13 13:10:48 2019] 127.0.0.1:60094 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
When creating a share with # FederationContext::creatingShare()
| path | /textfile0 (2).txt |
| shareType | 0 |
| shareWith | user2 |
| permissions | 19 |
Then the OCS status code should be "100" # FederationContext::theOCSStatusCodeShouldBe()
Failed asserting that SimpleXMLElement Object &000000000a90a2e50000000029b2e14e (
0 => '404'
) matches expected '100'.
And the HTTP status code should be "200" # FederationContext::theHTTPStatusCodeShouldBe()
And Share fields of last share match with # FederationContext::checkShareFields()
| id | A_NUMBER |
| item_type | file |
| item_source | A_NUMBER |
| share_type | 0 |
| file_source | A_NUMBER |
| path | /textfile0 (2).txt |
| permissions | 19 |
| stime | A_NUMBER |
| storage | A_NUMBER |
| mail_send | 1 |
| uid_owner | user1 |
| file_parent | A_NUMBER |
| displayname_owner | user1 |
| share_with | user2 |
| share_with_displayname | user2 |
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51746 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:10:48 2019] 127.0.0.1:51750 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:10:49 2019] 127.0.0.1:51758 [200]: //ocm-provider/
[Wed Mar 13 13:10:49 2019] 127.0.0.1:51760 [400]: /index.php/ocm/notifications
[Wed Mar 13 13:10:49 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 8"}
[Wed Mar 13 13:11:04 2019] 127.0.0.1:52302 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 13:11:04 2019] 127.0.0.1:52304 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared folder as recipient # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:232
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 13:11:04 2019] 127.0.0.1:60672 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 13:11:04 2019] 127.0.0.1:60676 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:05 2019] 127.0.0.1:60686 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 13:11:05 2019] 127.0.0.1:60706 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:05 2019] 127.0.0.1:60712 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 13:11:05 2019] 127.0.0.1:60716 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:06 2019] 127.0.0.1:60724 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 13:11:06 2019] 127.0.0.1:60754 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 13:11:06 2019] 127.0.0.1:52400 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:06 2019] 127.0.0.1:52404 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:10 2019] 127.0.0.1:52414 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:10 2019] 127.0.0.1:52506 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:10 2019] 127.0.0.1:60874 [200]: /ocm-provider/
[Wed Mar 13 13:11:10 2019] 127.0.0.1:60876 [201]: /index.php/ocm/shares
[Wed Mar 13 13:11:10 2019] 127.0.0.1:52510 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 13:11:10 2019] 127.0.0.1:60878 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52526 [200]: //ocm-provider/
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52528 [201]: /index.php/ocm/notifications
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52530 [200]: //ocs-provider/
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52532 [200]: /ocs/v2.php/cloud/shares/10/accept?format=json
[Wed Mar 13 13:11:11 2019] 127.0.0.1:60880 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/11
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA" # FederationContext::modifyTextOfFile()
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52544 [200]: //ocs-provider/
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52546 [401]: /public.php/webdav/textfile0.txt
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52548 [404]: /public.php/webdav/textfile0.txt
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52550 [200]: //status.php
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52552 [200]: //status.php
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52554 [200]: /index.php/apps/files_sharing/shareinfo?t=rRK8swwWnMT2oFh
[Wed Mar 13 13:11:11 2019] Undefined index: size at /drone/src/github.com/nextcloud/server/lib/private/Files/View.php#1324
[Wed Mar 13 13:11:11 2019] Undefined index: storage_mtime at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#126
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52558 [207]: /public.php/webdav/
[Wed Mar 13 13:11:11 2019] Undefined index: etag at /drone/src/github.com/nextcloud/server/lib/private/Files/Storage/DAV.php#784
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52560 [200]: //status.php
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52562 [200]: //status.php
[Wed Mar 13 13:11:11 2019] 127.0.0.1:52564 [200]: /index.php/apps/files_sharing/shareinfo?t=rRK8swwWnMT2oFh
[Wed Mar 13 13:11:11 2019] Undefined index: mimetype at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#108
[Wed Mar 13 13:11:11 2019] 127.0.0.1:60896 [404]: /remote.php/webdav/PARENT%20(2)/textfile0.txt
When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsAFileTo()
Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=0-8" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "BLABLABLA" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 13:11:12 2019] 127.0.0.1:52566 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:12 2019] 127.0.0.1:52574 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:13 2019] 127.0.0.1:52588 [200]: //ocm-provider/
[Wed Mar 13 13:11:13 2019] 127.0.0.1:52590 [400]: /index.php/ocm/notifications
[Wed Mar 13 13:11:13 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 10"}
[Wed Mar 13 13:11:13 2019] 127.0.0.1:52610 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 13:11:13 2019] 127.0.0.1:52618 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared file as recipient using old chunking # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:247
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 13:11:14 2019] 127.0.0.1:60980 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 13:11:14 2019] 127.0.0.1:60984 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:14 2019] 127.0.0.1:60986 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 13:11:14 2019] 127.0.0.1:60994 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:14 2019] 127.0.0.1:60996 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 13:11:15 2019] 127.0.0.1:32768 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:15 2019] 127.0.0.1:32776 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 13:11:15 2019] 127.0.0.1:32786 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 13:11:16 2019] 127.0.0.1:52662 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:16 2019] 127.0.0.1:52678 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52694 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52714 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:17 2019] 127.0.0.1:32848 [200]: /ocm-provider/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:32850 [201]: /index.php/ocm/shares
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52716 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 13:11:17 2019] 127.0.0.1:32852 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52742 [200]: //ocm-provider/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52744 [201]: /index.php/ocm/notifications
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52746 [200]: //ocs-provider/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52748 [200]: /ocs/v2.php/cloud/shares/11/accept?format=json
[Wed Mar 13 13:11:17 2019] 127.0.0.1:32864 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/12
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52756 [200]: //ocs-provider/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52758 [401]: /public.php/webdav/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52762 [207]: /public.php/webdav/
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52764 [200]: //status.php
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52766 [200]: //status.php
[Wed Mar 13 13:11:17 2019] 127.0.0.1:52768 [200]: /index.php/apps/files_sharing/shareinfo?t=IipKQ6yhhJNqAUB
[Wed Mar 13 13:11:17 2019] 127.0.0.1:32880 [404]: /remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0
And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
Client error: `PUT http://localhost:8180/remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/textfile0 (2).txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
When Downloading file "/textfile0 (2).txt" with range "bytes=0-4" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "AAAAA" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 13:11:18 2019] 127.0.0.1:52770 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:18 2019] 127.0.0.1:52784 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:19 2019] 127.0.0.1:52810 [200]: //ocm-provider/
[Wed Mar 13 13:11:19 2019] 127.0.0.1:52814 [400]: /index.php/ocm/notifications
[Wed Mar 13 13:11:19 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 11"}
[Wed Mar 13 13:11:19 2019] 127.0.0.1:52844 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/incoming_server2server_group_share_enabled
[Wed Mar 13 13:11:19 2019] 127.0.0.1:52848 [200]: /ocs/v1.php/apps/testing/api/v1/app/files_sharing/outgoing_server2server_group_share_enabled
Scenario: Overwrite a federated shared folder as recipient using old chunking # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:263
Given Using server "REMOTE" # FederationContext::usingServer()
[Wed Mar 13 13:11:20 2019] 127.0.0.1:32980 [404]: /ocs/v2.php/cloud/users/user1
[Wed Mar 13 13:11:20 2019] 127.0.0.1:32984 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:20 2019] 127.0.0.1:32994 [200]: /ocs/v1.php/cloud/users/user1
[Wed Mar 13 13:11:20 2019] 127.0.0.1:33006 [200]: /ocs/v2.php/cloud/users/user1
And user "user1" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:20 2019] 127.0.0.1:33010 [404]: /ocs/v2.php/cloud/users/user2
[Wed Mar 13 13:11:20 2019] 127.0.0.1:33016 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:21 2019] 127.0.0.1:33024 [200]: /ocs/v1.php/cloud/users/user2
[Wed Mar 13 13:11:21 2019] 127.0.0.1:33038 [200]: /ocs/v2.php/cloud/users/user2
And user "user2" exists # FederationContext::assureUserExists()
And Using server "LOCAL" # FederationContext::usingServer()
[Wed Mar 13 13:11:21 2019] 127.0.0.1:52914 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:21 2019] 127.0.0.1:52918 [200]: /ocs/v1.php/cloud/users
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52924 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52940 [200]: /ocs/v2.php/cloud/users/user0
And user "user0" exists # FederationContext::assureUserExists()
[Wed Mar 13 13:11:22 2019] 127.0.0.1:33074 [200]: /ocm-provider/
[Wed Mar 13 13:11:22 2019] 127.0.0.1:33076 [201]: /index.php/ocm/shares
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52942 [200]: /ocs/v1.php/apps/files_sharing/api/v1/shares
And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
[Wed Mar 13 13:11:22 2019] 127.0.0.1:33080 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52960 [200]: //ocm-provider/
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52962 [201]: /index.php/ocm/notifications
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52964 [200]: //ocs-provider/
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52966 [200]: /ocs/v2.php/cloud/shares/12/accept?format=json
[Wed Mar 13 13:11:22 2019] 127.0.0.1:33082 [200]: /ocs/v1.php/apps/files_sharing/api/v1/remote_shares/pending/13
And User "user1" from server "REMOTE" accepts last pending share # FederationContext::acceptLastPendingShare()
And Using server "REMOTE" # FederationContext::usingServer()
And As an "user1" # FederationContext::asAn()
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52972 [200]: //ocs-provider/
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52974 [200]: //status.php
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52976 [200]: //status.php
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52978 [200]: /index.php/apps/files_sharing/shareinfo?t=7cr2VygPAhXJyux
[Wed Mar 13 13:11:22 2019] Undefined index: size at /drone/src/github.com/nextcloud/server/lib/private/Files/View.php#1324
[Wed Mar 13 13:11:22 2019] Undefined index: storage_mtime at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#126
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52980 [401]: /public.php/webdav/
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52982 [207]: /public.php/webdav/
[Wed Mar 13 13:11:22 2019] Undefined index: etag at /drone/src/github.com/nextcloud/server/lib/private/Files/Storage/DAV.php#784
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52984 [200]: //status.php
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52986 [200]: //status.php
[Wed Mar 13 13:11:22 2019] 127.0.0.1:52988 [200]: /index.php/apps/files_sharing/shareinfo?t=7cr2VygPAhXJyux
[Wed Mar 13 13:11:22 2019] Undefined index: mimetype at /drone/src/github.com/nextcloud/server/lib/private/Files/Cache/Watcher.php#108
[Wed Mar 13 13:11:22 2019] 127.0.0.1:33096 [404]: /remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0
And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0` resulted in a `404 Not Found` response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DA (truncated...)
(GuzzleHttp\Exception\ClientException)
And user "user1" uploads chunk file "2" of "3" with "BBBBB" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
And user "user1" uploads chunk file "3" of "3" with "CCCCC" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
When Downloading file "/PARENT (2)/textfile0.txt" with range "bytes=3-13" # FederationContext::downloadFileWithRange()
Then Downloaded content should be "AABBBBBCCCC" # FederationContext::downloadedContentShouldBe()
[Wed Mar 13 13:11:23 2019] 127.0.0.1:52990 [200]: /ocs/v1.php/cloud/users/user0
[Wed Mar 13 13:11:23 2019] 127.0.0.1:53004 [404]: /ocs/v2.php/cloud/users/user0
[Wed Mar 13 13:11:25 2019] 127.0.0.1:53064 [200]: //ocm-provider/
[Wed Mar 13 13:11:25 2019] 127.0.0.1:53068 [400]: /index.php/ocm/notifications
[Wed Mar 13 13:11:25 2019] error while sending notification for federated share: Client error: `POST http://localhost:8080/index.php/ocm/notifications` resulted in a `400 Bad request` response:
{"message":"Can not find share with ID: 12"}

TESTS=integration-download

TESTS=acceptance, TESTS-ACCEPTANCE=app-files

  • tests/acceptance/features/app-files.feature:72
  • tests/acceptance/features/app-files.feature:185
Show full log
 Scenario: show recent files # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:72
Given I am logged in # LoginPageContext::iAmLoggedIn()
And I create a new folder named "Folder just created" # FileListContext::iCreateANewFolderNamed()
When I open the "Recent" section # AppNavigationContext::iOpenTheSection()
Then I see that the current section is "Recent" # AppNavigationContext::iSeeThatTheCurrentSectionIs()
Then I see that the file list contains a file named "Folder just created" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
Row for file Folder just created in file list could not be found after 100 seconds (NoSuchElementException)
Scenario: copy a selection to another folder # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:185
Given I am logged in # LoginPageContext::iAmLoggedIn()
And I create a new folder named "Folder" # FileListContext::iCreateANewFolderNamed()
And I create a new folder named "Not selected folder" # FileListContext::iCreateANewFolderNamed()
And I create a new folder named "Destination" # FileListContext::iCreateANewFolderNamed()
When I select "welcome.txt" # FileListContext::iSelect()
And I select "Folder" # FileListContext::iSelect()
And I start the move or copy operation for the selected files # FileListContext::iStartTheMoveOrCopyOperationForTheSelectedFiles()
And I select "Destination" in the file picker # FilePickerContext::iSelectInTheFilePicker()
Row for file Destination in the file picker dialog could not be found after 100 seconds (NoSuchElementException)
And I copy to the last selected folder in the file picker # FilePickerContext::iCopyToTheLastSelectedFolderInTheFilePicker()
Then I enter in the folder named "Destination" # FileListContext::iEnterInTheFolderNamed()
And I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
And I see that the file list contains a file named "Folder" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
And I see that the file list does not contain a file named "Not selected folder" # FileListContext::iSeeThatTheFileListDoesNotContainAFileNamed()
And I open the Files app # FilesAppContext::iOpenTheFilesApp()
And I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
And I see that the file list contains a file named "Folder" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
And I see that the file list contains a file named "Not selected folder" # FileListContext::iSeeThatTheFileListContainsAFileNamed()

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
@MorrisJobke
MorrisJobkeforce-pushed the fix/invalid_usernames branch from 6b56980 to 969fc45CompareMarch 14, 2019 09:22
@MorrisJobke

Copy link
Copy Markdown
Member

Retriggered CI.

@nickvergessen
nickvergessen merged commit 762a8bb into masterMar 14, 2019
@nickvergessen
nickvergessen deleted the fix/invalid_usernames branch March 14, 2019 11:05
private function verifyUid(string $uid): bool {
$appdata = 'appdata_' . $this->config->getSystemValueString('instanceid');

if ($uid === '.htaccess' || $uid === 'files_external' || $uid === '.ocdata' || $uid === 'owncloud.log' || $uid === 'nextcloud.log' || $uid === $appdata) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not reject all UIDs for which there exists a file or folder in the data directory? Also, you forgot index.html, owncloud.db, owncloud.db-shm, owncloud.db-wal.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not reject all UIDs for which there exists a file or folder in the data directory?

We then need to first check the existing user as well, right?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand.. What do you want to check, when?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because otherwise a valid UID is not valid anymore once the user is created and thus has a user folder in there.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the problem about having existing users with an invalid UID (which was valid before)?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, what about those additional files? And Why not reject all UIDs for which there exists a file or folder in the data directory??

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, what about those additional files? And Why not reject all UIDs for which there exists a file or folder in the data directory??

Makes sense 👍 We should additionally keep the list here to avoid future collisions for not yet created log files or something like that.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, has this been implemented already?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No - mind to open a ticket?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@blizzz

Copy link
Copy Markdown
Member

Just discussed with @nickvergessen:

  • it would be good to have the validator as a trait, because backends with external users don't go this path
  • the usual character limitations can be included, too
  • rules can be added, e.g. no name starting with a dot, no name ending on .html

@MorrisJobkeMorrisJobke mentioned this pull request Mar 20, 2019
9 tasks
@rullzer

Copy link
Copy Markdown
MemberAuthor

/backport to stable15

@rullzer

Copy link
Copy Markdown
MemberAuthor

/backport to stable14

@backportbot-nextcloud

Copy link
Copy Markdown

backport to stable15 in #15071

@backportbot-nextcloud

Copy link
Copy Markdown

backport to stable14 in #15072

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4. to releaseReady to be released and/or waiting for tests to finishenhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@rullzer@MorrisJobke@blizzz@nickvergessen@kesselb@leonklingele@leonklingele-work