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:
Edouard Vanbelle
2026-07-06 20:45:21 +02:00
parent 3d74bed326
commit 7e34045ff8
16 changed files with 1576 additions and 232 deletions
+9
View File
@@ -369,6 +369,15 @@ jobs:
env:
BUILD_TARGET: release
# WebDAV URL-scheme variant: `OXICLOUD_WEBDAV_DRIVE_PATH=""`
# (drive listing at `/webdav/`, no `@drive` sigil). Runs a
# separately-configured server on its own port so the default
# WebDAV suite above stays on the `"@drive"` back-compat config.
- name: Run WebDAV drive-root variant tests
run: bash tests/webdav-drive-root/run.sh
env:
BUILD_TARGET: release
# OIDC integration: drives the SPA's SSO flow end-to-end against
# the fake IdP (auto-approve login + consent, real PKCE/JWT
# round-trip) and asserts the d1bbe8ba contract — OIDC callback