From 14172cf3c833afec564a657195e75473d13232c6 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Sun, 15 Mar 2026 18:10:07 +0100 Subject: [PATCH] sharing/update: fix for self-owned --- radicale/sharing/__init__.py | 38 +++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/radicale/sharing/__init__.py b/radicale/sharing/__init__.py index 6a6ee954..eeb6ad24 100644 --- a/radicale/sharing/__init__.py +++ b/radicale/sharing/__init__.py @@ -1023,17 +1023,33 @@ class BaseSharing: logger.warning(api_info + ": access to %r not allowed for user %r", PathMapped, user) return httputils.NOT_ALLOWED - result = self.database_update_sharing( - ShareType=ShareType, - PathMapped=PathMapped, - Permissions=Permissions, - EnabledByOwner=Enabled, - HiddenByOwner=Hidden, - PathOrToken=PathOrToken, - OwnerOrUser=user, - User=User, - Timestamp=Timestamp, - Properties=Properties) + if user == share['User']: + # self-owned share + result = self.database_update_sharing( + ShareType=ShareType, + PathMapped=PathMapped, + Permissions=Permissions, + EnabledByOwner=Enabled, + EnabledByUser=Enabled, + HiddenByOwner=Hidden, + HiddenByUser=Hidden, + PathOrToken=PathOrToken, + OwnerOrUser=user, + User=User, + Timestamp=Timestamp, + Properties=Properties) + else: + result = self.database_update_sharing( + ShareType=ShareType, + PathMapped=PathMapped, + Permissions=Permissions, + EnabledByOwner=Enabled, + HiddenByOwner=Hidden, + PathOrToken=PathOrToken, + OwnerOrUser=user, + User=User, + Timestamp=Timestamp, + Properties=Properties) elif user == share['User']: # User is only allowed to update Properties