feat(drive): fix webdav back-compat
add env variable `OXICLOUD_WEBDAV_DRIVE_LISTING_PREFIX`
which is by default:
`OXICLOUD_WEBDAV_DRIVE_LISTING_PREFIX="@drive"`
so `/webdav/` -> points to user's personal drive (**backward compatibilit**y)
`/web/dav/@drive/{uuid|drive name}/` points to the respective drive
if admins want directly `/webdav/` pointing to list of drives they need to:
`OXICLOUD_WEBDAV_DRIVE_LISTING_PREFIX=""`
+ ensure lock is per user (RFC 4918 §9.11)
fix: #554
This commit is contained in:
+24
@@ -85,6 +85,30 @@ OXICLOUD_SERVER_HOST=127.0.0.1
|
||||
# to an admin token. Default: false.
|
||||
#OXICLOUD_ENABLE_ADMIN_INTERNAL_ENDPOINTS=false
|
||||
|
||||
# Native WebDAV URL segment that returns the drive listing. Sanitized
|
||||
# by trimming leading/trailing `/` so `/@drive/`, `@drive`, and
|
||||
# `@drive/` are equivalent. Three deployment modes:
|
||||
#
|
||||
# * Default `@drive` — back-compat with pre-multi-drive clients.
|
||||
# /webdav/… → caller's default personal drive
|
||||
# /webdav/@drive/ → drive listing (per-drive virtual
|
||||
# folders)
|
||||
# /webdav/@drive/<sel>/… → specific drive by UUID or its
|
||||
# display name
|
||||
#
|
||||
# * Empty `""` — no default-drive shortcut; `/webdav/` IS the
|
||||
# drive listing. Clients must always name the drive.
|
||||
# /webdav/ → drive listing
|
||||
# /webdav/<sel>/… → specific drive
|
||||
#
|
||||
# * Any other string (e.g. `drives`) — same shape as `@drive` but
|
||||
# with your chosen segment substituted.
|
||||
#
|
||||
# Selector `<sel>` is a drive UUID or the drive's display name. Only
|
||||
# drives the caller has Read on via role_grants resolve; unknown
|
||||
# selector and permission denial both return 404 (anti-enumeration).
|
||||
#OXICLOUD_WEBDAV_DRIVE_LISTING_PREFIX=@drive
|
||||
|
||||
# How often (milliseconds) the background job drains storage.tree_etag_dirty
|
||||
# and bumps folder tree ETags (default: 500). Write paths only enqueue bump
|
||||
# requests — this is the upper bound on how stale an ancestor folder's ETag
|
||||
|
||||
Reference in New Issue
Block a user