From bd1c408d7d78b55adc74d132e23374555b65742d Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Thu, 9 Apr 2026 20:41:35 +0200 Subject: [PATCH] sharing/propfind+proppatch: fix permission check for properties overlay --- radicale/app/propfind.py | 2 +- radicale/app/proppatch.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/radicale/app/propfind.py b/radicale/app/propfind.py index 41ba6ef9..45f5e18d 100644 --- a/radicale/app/propfind.py +++ b/radicale/app/propfind.py @@ -313,7 +313,7 @@ def xml_propfind_response( ) and not ( "p" in share['Permissions'] or ("p" in raw_permissions and "P" not in share['Permissions']) or - (self._sharing.permit_properties_overlay and "P" not in raw_permissions and "P" not in share['Permissions'])): + (not self._sharing.permit_properties_overlay and "P" not in raw_permissions and "P" not in share['Permissions'])): logger.trace("PROPFIND/xml_propfind_response/current-user-privilege-set: add D:write-properties") privileges.append("D:write-properties") elif write: diff --git a/radicale/app/proppatch.py b/radicale/app/proppatch.py index 462f3a0e..0f60dc97 100644 --- a/radicale/app/proppatch.py +++ b/radicale/app/proppatch.py @@ -124,7 +124,7 @@ class ApplicationPartProppatch(ApplicationBase): ) and not ( "p" in share['Permissions'] or ("p" in raw_permissions and "P" not in share['Permissions']) or - (self._sharing.permit_properties_overlay and "P" not in raw_permissions and "P" not in share['Permissions'])): + (not self._sharing.permit_properties_overlay and "P" not in raw_permissions and "P" not in share['Permissions'])): logger.info("PROPPATCH request on shared %r: write-access", path_orig) if permissions_filter is not None and "e" in permissions_filter: logger.info("PROPPATCH request on shared %r: write-access, overlay enforced, but disabled by share permission 'e'", path_orig)