Bug #17233

some keep-web requests using c= don't work

Added by Peter Amstutz 4 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

This request is generated by Cyberduck, it seems like it should work but it doesn't.

{"RequestID":"req-1bz38ijso63i716a35qy",
"level":"info",
"msg":"response",
"remoteAddr":"127.0.0.1:41152",
"reqBytes":0,
"reqForwardedFor":"3.89.228.49",
"reqHost":"collections.ce8i5.arvadosapi.com",
"reqMethod":"HEAD",
"reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm/",
"reqQuery":"",
"respBody":"404 Not found\r\n\r\nThe requested path was not found, or you do not have permission to access it.\r\n",
"respBytes":96,
"respStatus":"Not Found",
"respStatusCode":404,
"time":"2021-01-05T17:07:22.219050006Z",
"timeToStatus":0.026523,
"timeTotal":0.026557,
"timeWriteBody":0.000034}

This request is generated by Windows:

{"RequestID":"reqtzwx0pocsev2hmhstspb",
"level":"info",
"msg":"response",
"remoteAddr":"127.0.0.1:42598",
"reqBytes":0,
"reqForwardedFor":"3.89.228.49",
"reqHost":"collections.ce8i5.arvadosapi.com",
"reqMethod":"OPTIONS",
"reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm",
"reqQuery":"",
"respBody":"404 Not found\r\n\r\nThe requested path was not found, or you do not have permission to accessit.\r\n",
"respBytes":96,
"respStatus":"Not Found",
"respStatusCode":404,
"time":"2021-01-05T17:16:24.142407917Z",
"timeToStatus":0.021505,
"timeTotal":0.021510,
"timeWriteBody":0.000005}

GNOME is broken too???

{"RequestID":"req-18iwgg2lmca4twzhsw3v",
"level":"info",
"msg":"response",
"remoteAddr":"127.0.0.1:43266",
"reqBytes":0,
"reqForwardedFor":"108.7.59.164",
"reqHost":"collections.ce8i5.arvadosapi.com",
"reqMethod":"OPTIONS",
"reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm",
"reqQuery":"",
"respBody":"404 Not found\r\n\r\nThe requested path was not found, or you do not have permission to access it.\r\n",
"respBytes":96,
"respStatus":"Not Found",
"respStatusCode":404,
"time":"2021-01-05T17:20:30.643741632Z",
"timeToStatus":0.019790,
"timeTotal":0.019795,
"timeWriteBody":0.000005}

History

#1 Updated by Peter Amstutz 4 months ago

  • Description updated (diff)
  • Subject changed from Request for mountain duck doesn't work to some keep-web requests using c= don't work

#2 Updated by Peter Amstutz 4 months ago

  • Description updated (diff)

#3 Updated by Peter Amstutz 4 months ago

This works (generated by workbench2):

{"RequestID":"req-1fwo59s6jasxp1vj0grk",
"level":"info",
"msg":"request",
"remoteAddr":"127.0.0.1:43928",
"reqBytes":0,
"reqForwardedFor":"108.7.59.164",
"reqHost":"download.ce8i5.arvadosapi.com",
"reqMethod":"OPTIONS",
"reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm",
"reqQuery":"",
"time":"2021-01-05T17:24:39.071499532Z"}

#4 Updated by Peter Amstutz 4 months ago

Adding a "/_" to the end doesn't work either. Also, Windows won't accept a trailing slash.

{"RequestID":"req-se467u94nzdn1qybgymw","level":"info","msg":"response","remoteAddr":"127.0.0.1:45192","reqBytes":0,"reqForwardedFor":"3.89.228.49","reqHost":"collections.ce8i5.arvadosapi.com","reqMethod":"OPTIONS","reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm/_","reqQuery":"","respBody":"404 Not found\r\n\r\nThe requested path was not found, or you do not have permission to access it.\r\n","respBytes":96,"respStatus":"Not Found","respStatusCode":404,"time":"2021-01-05T17:32:34.503138003Z","timeToStatus":0.025640,"timeTotal":0.025651,"timeWriteBody":0.000010}

Cyberduck allows a trailing slash but also doesn't work.

{"RequestID":"req-1an89334q51nzkbstz4u","level":"info","msg":"response","remoteAddr":"127.0.0.1:46062","reqBytes":297,"reqForwardedFor":"3.89.228.49","reqHost":"collections.ce8i5.arvadosapi.com","reqMethod":"PROPFIND","reqPath":"c=ce8i5-4zz18-pzhhgc044vbuoxm/_/","reqQuery":"","respBody":"404 Not found\r\n\r\nThe requested path was not found, or you do not have permission to access it.\r\n","respBytes":96,"respStatus":"Not Found","respStatusCode":404,"time":"2021-01-05T17:38:02.162975901Z","timeToStatus":0.011779,"timeTotal":0.011789,"timeWriteBody":0.000010}

#5 Updated by Peter Amstutz 4 months ago

  • Status changed from New to Closed

Two findings:

1)

Accessing "/c=uuid" without an authorization header it returns 404. Windows and Cyberduck try accessing the resource without an authorization header first so they get an error and give up. GNOME does something else.

If you go to "/by_uuid/uuid" then keep-web returns 401, which informs the webdav client to present the user with the username/password dialog.

2)

Using collections.xxxxx.arvadosapi.com will deliberately not accept valid credentials unless "trust all content" flag is on.

We need to use either

uuid.collections.xxxxx.arvadosapi.com

or

download.xxxxx.arvadosapi.com

#6 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2021-01-20 Sprint to 2021-01-06 Sprint

Also available in: Atom PDF