Context
AsterForge issue #27 fixed the encoded-request versus decoded-canonical DavPath boundary in Forge PR #28:
AsterCommunity/AsterForge#27
AsterCommunity/AsterForge#28
DavPath::new remains the parser for encoded request input. Forge now exposes canonical-native DavPath::parent and DavPath::join_child transformations so literal names such as %FF, %2F, %5C, and %2E%2E are not decoded a second time.
Follow-up
After updating the Forge dependency, replace the remaining parent_relative_path(...)+DavPath::new(...) pairs in the WebDAV mutation adapters:
src/webdav/backend/mutation/copy.rs
src/webdav/backend/mutation/delete.rs
src/webdav/backend/mutation/collection.rs
src/webdav/backend/mutation/move_node.rs (source parent)
src/webdav/backend/mutation/move_node.rs (destination parent)
Use DavPath::parent() directly and preserve the existing product-owned transaction, lock revalidation, error mapping, audit, and cache behavior. Add Drive tests covering canonical literal percent names and parent revalidation.
Out of scope
Do not change the behavior or scope of AsterDrive PR #467 beyond this mechanical path-boundary migration.
Context
AsterForge issue #27 fixed the encoded-request versus decoded-canonical
DavPathboundary in Forge PR #28:AsterCommunity/AsterForge#27
AsterCommunity/AsterForge#28
DavPath::newremains the parser for encoded request input. Forge now exposes canonical-nativeDavPath::parentandDavPath::join_childtransformations so literal names such as%FF,%2F,%5C, and%2E%2Eare not decoded a second time.Follow-up
After updating the Forge dependency, replace the remaining
parent_relative_path(...)+DavPath::new(...)pairs in the WebDAV mutation adapters:src/webdav/backend/mutation/copy.rssrc/webdav/backend/mutation/delete.rssrc/webdav/backend/mutation/collection.rssrc/webdav/backend/mutation/move_node.rs(source parent)src/webdav/backend/mutation/move_node.rs(destination parent)Use
DavPath::parent()directly and preserve the existing product-owned transaction, lock revalidation, error mapping, audit, and cache behavior. Add Drive tests covering canonical literal percent names and parent revalidation.Out of scope
Do not change the behavior or scope of AsterDrive PR #467 beyond this mechanical path-boundary migration.