fix(dav): advertise only implemented protocol methods - #1372
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by direct consolidation into the existing develop-base owner PR #1345. |
Bounded current-base reconstruction
This stacked PR preserves the still-valuable DAV capability-truthfulness work from stale PR #1296 on top of the current security predecessor #1345 without replaying already-shipped Nano ID remediation or stale workflow-governance changes.
TDD state
Current head
3d3156ed23aae7ee2f4782abb568996af597f3fdis intentionally RED and changes onlybackend/tests/test_dav_api.py. The regressions require authenticatedOPTIONSto advertise only the implemented DAV level/methods and require unimplemented verbs to be unregistered so the framework returns405 Method Not Allowedwith the same boundedAllowset. The predecessor implementation still advertises calendar/address-book and mutation capabilities and returns501from registered unsupported handlers.Scope boundary
Production work in this slice will be limited to the DAV route capability contract needed to make runtime behavior truthful while preserving #1345's single-decode, traversal, control-character, tenant, and normalized-path protections. Provider-backed DAV mutation/writeback remains out of scope until a separately reviewed implementation enforces source capability and concurrency semantics.
Keep Draft until the RED contract is satisfied by a narrow production change, exact-head CI/security/coverage passes, review findings are resolved, and the stacked predecessor relationship remains valid. Historical evidence from #1296 does not transfer.