From: Dominik Csapak Date: Tue, 6 Dec 2022 11:06:30 +0000 (+0100) Subject: realm: sync: allow explicit 'none' for 'remove-vanished' option X-Git-Url: https://git.proxmox.com/?p=pve-access-control.git;a=commitdiff_plain;h=982db92922688dea7be4953d46dc9263451ca016 realm: sync: allow explicit 'none' for 'remove-vanished' option with that, the api call can now override the default option that is set on the realm (if any) by providing 'none' it was not possible previously to override the realm default when one wanted no properties to delete no other code changes are necessary since we only extract the known values 'acl' etc. and 'none' has no meaning there Signed-off-by: Dominik Csapak --- diff --git a/src/PVE/Auth/Plugin.pm b/src/PVE/Auth/Plugin.pm index 03d3342..bae9fb9 100755 --- a/src/PVE/Auth/Plugin.pm +++ b/src/PVE/Auth/Plugin.pm @@ -63,10 +63,12 @@ my $realm_sync_options_desc = { ." vanishes during a sync. The following values are possible: 'entry' removes the" ." user/group when not returned from the sync. 'properties' removes the set" ." properties on existing user/group that do not appear in the source (even custom ones)." - ." 'acl' removes acls when the user/group is not returned from the sync.", + ." 'acl' removes acls when the user/group is not returned from the sync." + ." Instead of a list it also can be 'none' (the default).", type => 'string', - typetext => "[acl];[properties];[entry]", - pattern => "(?:$remove_options\;)*$remove_options", + default => 'none', + typetext => "([acl];[properties];[entry])|none", + pattern => "(?:(?:$remove_options\;)*$remove_options)|none", optional => '1', }, # TODO check/rewrite in pve7to8, and remove with 8.0