alist-org / alist

🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
https://alist.nn.ci
GNU Affero General Public License v3.0
42.46k stars 5.49k forks source link

关于 WebDAV PROPFIND 在出错时返回的 HTTP 状态码 #6932

Closed URenko closed 14 hours ago

URenko commented 1 month ago

Please make sure of the following things

AList Version / AList 版本

v3.36.0

Driver used / 使用的存储驱动

terabox

Describe the bug / 问题描述

注意到 8bdc67ec3d41b68eb15a0d6899e3aa0ee5415645 的更改使 handlePropfind 出错时一律返回 404.

然而以terabox为例,例如在通过 rclone 操作 alist 的 webdav 时,会先 PROPFIND 以列出需要上传的文件,如此时连接境内网络,则必然失败,rclone 会认为目录是空的,然后尝试上传,如此时切换至境外网络(PROPFIND与实际上传之间可以相差很长的时间),则可上传(并且 terabox 允许多次上传,会生成另一份文件),从而造成重复。

所以 8bdc67ec3d41b68eb15a0d6899e3aa0ee5415645 是基于何种考虑?handlePropfind 内是有能判断 404 的部分。

Reproduction / 复现链接

N/A

Config / 配置

N/A

Logs / 日志

No response

stale[bot] commented 1 week ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 14 hours ago

Hello @, this issue was closed due to inactive more than 52 days. You can reopen or recreate it if you think it should continue. Thank you for your contributions again.