-
Notifications
You must be signed in to change notification settings - Fork 26
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
Permissions error with one file prevents listing the whole directory #16
Comments
I encountered the same problem under Windows 10. My webdav using caddy works perfectly fine until it try to gain permission on a file/dir that has a high permission requirement. For exemple, I cannot point
But if I point |
Same issue with Windows 11: the "System Volume Information" folder prevents the directory listing when pointing to a drive. |
I just upgraded the webdav package and our other dependencies for the first time in a couple years; someone want to try and see if things have been fixed? |
I tried downloading Caddy with the webdav plugin again from the Caddy website and it still doesn't seem to work. |
@sillikk If the version is implicit (not specified in the URL), then the build is probably cached on an old commit. (That's a known issue that I'm not quite sure how to solve at the moment.) You can either specify the latest version (branch name like Edit: I just cleared the build cache anyway, so you could just try the download again. |
I tried entering "master" or the latest build SHA into the version field on the caddy download page, but the download file is exactly the same. So it seems it doesn't change anything. |
@sillikk Odd, that should be impossible. It worked for me. Make sure you're running the newly downloaded binary. If you run
Note the version string is a commit from yesterday. |
I have the same: So it seems the latest version doesn't fix the issue, I'm afraid. |
@sillikk The SHA of the binary should definitely be different. Can you confirm the two binaries have different checksums, and then verify you are performing the test using the binary with the new checksum? (Again, it's quite possible the upstream hasn't fixed this, but there seems to be something non-sequitur here that I want to make sure we are clear on first, so we can be precise.) |
I'm not sure how to get the checksum of the binary. But I'm definitely using the latest version I just downloaded, with the version I just showed above. |
I'm confused, you said:
how do you know that without hashing it? |
Sorry, it is exactly the same size but I didn't hash it. |
Ok. In that case I am not sure then. Still seems like this bug should be reported upstream. |
Where is upstream? On the Caddy repository? |
@sillikk With Go, since I believe the bug is in https://pkg.go.dev/golang.org/x/net/webdav. I only scanned the code very quickly, but I believe the error would be somewhere around here: https://cs.opensource.google/go/x/net/+/c7608f3a:webdav/file.go;l=791;drc=c7608f3a8462fd23f95e21be49b40c7b9c20c74a;bpv=0;bpt=1 -- or really, any of the Open/Read/Stat/Readdir operations (etc) that might return a permissions error are possible causes of this behavior. I haven't had a chance to file a bug myself, so it might be faster if you do it 😅 |
Well I couldn't find a way to file a bug on the two links you mentioned. |
Sure, but I won't have time for a while. Bug report link is here: golang/go/issues/new/choose |
There is a PR golang/net#91 but still under review, see also https://go-review.googlesource.com/c/net/+/285752/ I cherry-pick that commit to my fork. Add one line |
Ah that's great news!! Thanks for the update! |
@heimoshuiyu Well, while we wait for Go to review and merge the CL, I've gone ahead and pushed the replacement to our go.mod in the meantime. |
Fixed and merged in upstream golang.org/x/net https://go-review.googlesource.com/c/net/+/285752
Upstream bug fixed and merged in golang.org/x/net <https://go-review.googlesource.com/c/net/+/285752>
Upstream bug fixed and merged in golang.org/x/net <https://go-review.googlesource.com/c/net/+/285752>
I think this is a bug or limitation in the upstream webdav library, but I noticed that when listing the contents of a directory, the whole request returns an error if just one of the files has a permissions error. Instead, that file should not be in the list, and the request should still succeed, listing the rest of the files in the directory.
The text was updated successfully, but these errors were encountered: