fix: require delete permission for WebDAV overwrite

This commit is contained in:
OpenClaw Agent
2026-09-21 22:13:33 +08:00
parent 003244059f
commit 05b96f1831
+2 -2
View File
@@ -1372,9 +1372,9 @@ func (f *webdavAuthFS) Create(ctx context.Context, name string, body io.ReadClos
return nil, false, err
}
// CHFS permits PUT to overwrite an existing file only when the target
// itself is writable. A writable parent alone is enough for creation.
// itself is deletable. A writable parent alone is enough for creation.
if _, err := f.inner.Stat(ctx, name); err == nil {
if err := f.allow(name, auth.Write); err != nil {
if err := f.allow(name, auth.Delete); err != nil {
return nil, false, err
}
} else if !os.IsNotExist(err) {