]> git.proxmox.com Git - pve-access-control.git/commitdiff
api: domains: fix setting only the realm authentication password
authorChristoph Heiss <c.heiss@proxmox.com>
Thu, 20 Jul 2023 14:48:47 +0000 (16:48 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 21 Jul 2023 11:20:15 +0000 (13:20 +0200)
Previously, if one tried to only update e.g. the bind password for an
LDAP realm, it would fail with an rather unhelpful error message:

  # pveum realm modify ldap -password foo
  update auth server failed: no options specified

The root cause was that the `password` parameter was removed early from
the parameter object, which than would fail the check whether it is
empty or not.

Thus, additionally check if only `password` was specified and if so,
allow it.

Reported-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
src/PVE/API2/Domains.pm

index aa8e716a70d38d7fbe2e133144d417f1ec4333ef..9332aa7d7d94ab08bad223afedcbbd69789957f2 100644 (file)
@@ -203,7 +203,8 @@ __PACKAGE__->register_method ({
                    if !$ids->{$realm};
 
                my $delete_str = extract_param($param, 'delete');
-               die "no options specified\n" if !$delete_str && !scalar(keys %$param);
+               die "no options specified\n"
+                   if !$delete_str && !scalar(keys %$param) && !defined($password);
 
                my $delete_pw = 0;
                foreach my $opt (PVE::Tools::split_list($delete_str)) {