You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I checked the RFCs RFC4918 and RFC2068 but couldn't find any defintive answer how this should be handled. But there isn't really an answer to this, beyond "Treat GET and HEAD identical". The overall internet also seems undecided how to handle directory requests in webdav. (Here one of the samples I found).
I think the correct way to check for directories would be the usage of PROPFIND with a depth of 0. That would certainly be in line with the RFC4918 section 9.1.
I think I found conflict between how the seedvault implementation expects directories to work and how golang handles it:
In this function, you test that directories exist using the HEAD function:
seedvault/core/src/main/java/org/calyxos/seedvault/core/backends/webdav/WebDavHelper.kt
Lines 84 to 103 in 156ffbd
golang doesn't support HEAD requests on directory listings:
https://github.com/golang/net/blob/dfc720dfe0cfc125116068c20efcdcb5e4eab464/webdav/webdav.go#L212
I checked the RFCs RFC4918 and RFC2068 but couldn't find any defintive answer how this should be handled. But there isn't really an answer to this, beyond "Treat GET and HEAD identical". The overall internet also seems undecided how to handle directory requests in webdav. (Here one of the samples I found).
I think the correct way to check for directories would be the usage of
PROPFIND
with a depth of 0. That would certainly be in line with the RFC4918 section 9.1.This is an upstream issue for downstream issue GrapheneOS/os-issue-tracker#4558
The text was updated successfully, but these errors were encountered: