Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shares created through the OC-10 GUI look invalid in the DB #4143

Open
michielbdejong opened this issue Aug 31, 2023 · 7 comments
Open

shares created through the OC-10 GUI look invalid in the DB #4143

michielbdejong opened this issue Aug 31, 2023 · 7 comments

Comments

@michielbdejong
Copy link
Contributor

>> ocm-share-list
+---+-----------+----------------+------------+----------------------+--------------------+-------------+------------------+-------------------------------+-------------------------------+
| # | OWNER.IDP | OWNER.OPAQUEID | RESOURCEID | TYPE                 | SHARETYPE          | GRANTEE.IDP | GRANTEE.OPAQUEID | CREATED                       | UPDATED                       |
+---+-----------+----------------+------------+----------------------+--------------------+-------------+------------------+-------------------------------+-------------------------------+
| 1 |           |                | <nil>      | GRANTEE_TYPE_INVALID | SHARE_TYPE_INVALID |             |                  | 1970-01-01 00:00:00 +0000 UTC | 1970-01-01 00:00:00 +0000 UTC |
+---+-----------+----------------+------------+----------------------+--------------------+-------------+------------------+-------------------------------+-------------------------------+
@michielbdejong
Copy link
Contributor Author

When deleting that share through the GUI and then creating one through Reva CLI I see:

>> ocm-share-create -idp revaowncloud2.docker -grantee marie /home/qwer
+-----+----------------------+----------------+-------------------------------------------------------+-------------------+----------------------+------------------+-------------------------------+-------------------------------+
| #   | OWNER.IDP            | OWNER.OPAQUEID | RESOURCEID                                            | TYPE              | GRANTEE.IDP          | GRANTEE.OPAQUEID | CREATED                       | UPDATED                       |
+-----+----------------------+----------------+-------------------------------------------------------+-------------------+----------------------+------------------+-------------------------------+-------------------------------+
| "2" | revaowncloud1.docker | einstein       | storage_id:"nextcloud" opaque_id:"fileid-/home/qwer"  | GRANTEE_TYPE_USER | revaowncloud2.docker | marie            | 2023-08-31 09:05:55 +0000 UTC | 2023-08-31 09:05:55 +0000 UTC |
+-----+----------------------+----------------+-------------------------------------------------------+-------------------+----------------------+------------------+-------------------------------+-------------------------------+
>> ocm-share-list
error: code=CODE_INTERNAL msg="error listing shares" support_trace="189f6a1b5aae32418edaa8d0a839cc13"
>> 

@michielbdejong
Copy link
Contributor Author

[Thu Aug 31 09:05:55.647318 2023] [php7:notice] [pid 1315] [client 172.18.0.11:60884] revaPathToEfssPath: Interpreting /home/qwer as qwer
[Thu Aug 31 09:05:55.647556 2023] [php7:notice] [pid 1315] [client 172.18.0.11:60884] calling newShare
[Thu Aug 31 09:05:55.650518 2023] [php7:notice] [pid 1315] [client 172.18.0.11:60884] SMSP: createInternal
[Thu Aug 31 09:05:55.650529 2023] [php7:notice] [pid 1315] [client 172.18.0.11:60884] shareWith [email protected]
[Thu Aug 31 09:05:55.650537 2023] [php7:notice] [pid 1315] [client 172.18.0.11:60884] checking if already shared qwer
172.18.0.11 - - [31/Aug/2023:09:06:07 +0000] "POST /index.php/apps/sciencemesh/~einstein/api/storage/ListFolder HTTP/1.1" 404 2644 "-" "Go-http-client/1.1"
[Thu Aug 31 09:06:07.931621 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] RevaController init for user 'einstein'
[Thu Aug 31 09:06:07.931951 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] checkRevadAuth
[Thu Aug 31 09:06:07.931988 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] root folder absolute path '/'
[Thu Aug 31 09:06:07.939059 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] user folder '/einstein/files'
[Thu Aug 31 09:06:07.939100 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] revaPathToEfssPath: Interpreting /home as /home
[Thu Aug 31 09:06:07.952732 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] ListFolder: /home
[Thu Aug 31 09:06:07.952755 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] ListFolder: path not found
172.18.0.11 - - [31/Aug/2023:09:06:09 +0000] "POST /index.php/apps/sciencemesh/~einstein/api/ocm/ListShares HTTP/1.1" 500 9393 "-" "Go-http-client/1.1"
{"reqId":"Q5nb1iX5zxo7hxBSoLzu","level":3,"time":"2023-08-31T09:06:09+00:00","remoteAddr":"172.18.0.11","user":"--","app":"index","method":"POST","url":"\/index.php\/apps\/sciencemesh\/~einstein\/api\/ocm\/ListShares","message":"Exception: {\"Exception\":\"OCP\\\\Files\\\\NotFoundException\",\"Message\":\"\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/html\\\/apps\\\/sciencemesh\\\/lib\\\/Controller\\\/RevaController.php(327): OC\\\\Share20\\\\Share->getNode()\\n#1 \\\/var\\\/www\\\/html\\\/apps\\\/sciencemesh\\\/lib\\\/Controller\\\/RevaController.php(1428): OCA\\\\ScienceMesh\\\\Controller\\\\RevaController->shareInfoToCs3Share()\\n#2 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(169): OCA\\\\ScienceMesh\\\\Controller\\\\RevaController->ListSentShares()\\n#3 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(89): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController()\\n#4 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/AppFramework\\\/App.php(99): OC\\\\AppFramework\\\\Http\\\\Dispatcher->dispatch()\\n#5 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/AppFramework\\\/Routing\\\/RouteActionHandler.php(47): OC\\\\AppFramework\\\\App::main()\\n#6 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/Route\\\/Router.php(344): OC\\\\AppFramework\\\\Routing\\\\RouteActionHandler->__invoke()\\n#7 \\\/var\\\/www\\\/html\\\/lib\\\/base.php(913): OC\\\\Route\\\\Router->match()\\n#8 \\\/var\\\/www\\\/html\\\/index.php(54): OC::handleRequest()\\n#9 {main}\",\"File\":\"\\\/var\\\/www\\\/html\\\/lib\\\/private\\\/Share20\\\/Share.php\",\"Line\":172}"}
[Thu Aug 31 09:06:09.576077 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] ListSentShares
[Thu Aug 31 09:06:09.577132 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] RevaController init for user 'einstein'
[Thu Aug 31 09:06:09.577151 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] checkRevadAuth
[Thu Aug 31 09:06:09.577187 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] root folder absolute path '/'
[Thu Aug 31 09:06:09.583234 2023] [php7:notice] [pid 1312] [client 172.18.0.11:37632] user folder '/einstein/files'

So here I see two lines that don't look compatible with each other:

  • revaPathToEfssPath: Interpreting /home/qwer as qwer
  • revaPathToEfssPath: Interpreting /home as /home

@MahdiBaghbani
Copy link
Contributor

MahdiBaghbani commented Aug 31, 2023

@michielbdejong
Copy link
Contributor Author

>> ls /home
error: code=CODE_NOT_FOUND msg="path not found when listing container" support_trace="73563d382bbdb815507c267782c5c106"
>> ls /home/
error: code=CODE_NOT_FOUND msg="path not found when listing container" support_trace="01d0f4b25c44dc38dfb5be07c1a0ed02"
>> ls /home/qwer
>> 

@MahdiBaghbani
Copy link
Contributor

MahdiBaghbani commented Aug 31, 2023

Would this be OK?

REVA_PREFIX = "/home"

private function revaPathToEfssPath($revaPath)
{
    $ret = $this->removePrefix($revaPath, REVA_PREFIX);
    $ret = EFSS_PREFIX . $this->removePrefix($ret, "/");
    error_log("revaPathToEfssPath: Interpreting $revaPath as $ret");
    return $ret;
}

@michielbdejong
Copy link
Contributor Author

michielbdejong commented Aug 31, 2023

That would be correct but I would prefer (for readability)

private function revaPathToEfssPath($revaPath)
{
    if ("$revaPath/" == REVA_PREFIX) {
        error_log("revaPathToEfssPath: Interpreting special case $revaPath as ''");
        return '';
    }
    $ret = $this->removePrefix($revaPath, REVA_PREFIX);
    error_log("revaPathToEfssPath: Interpreting $revaPath as $ret");
    return $ret;
}

@michielbdejong
Copy link
Contributor Author

the ls /home bug is fixed now by ec996f64e4befb0dfca875f316a931fd7a6a8b05 + 6dbbad00fdae4d3fdd91c389eff6cd2cbf731f81 + 19d0dc2cfd48fc2a7cd1451364fb89310fd2aad2:

>> ls /home/
qwer
welcome.txt
>> ls /home
qwer
welcome.txt
>> ls /home/qwer
>> 

I'll keep this ticket open to deal with the original error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants