public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Friedrich Weber <f.weber@proxmox.com>
To: Lukas Wagner <l.wagner@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [PATCH manager] ui: ldap: fix `Parameter verification error`
Date: Wed, 15 Feb 2023 09:29:45 +0100	[thread overview]
Message-ID: <56ef8846-5387-e295-6cb8-25051c4f33a9@proxmox.com> (raw)
In-Reply-To: <20230214133508.760282-1-l.wagner@proxmox.com>

Can confirm this patch fixes the issue, so

Tested-by: Friedrich Weber <f.weber@proxmox.com>

Steps to reproduce:

1) Create LDAP realm with default sync settings
2) Edit LDAP realm, go to sync settings tab, enter values in all text 
boxes except one (e.g. all except "Group filter")
3) Click OK

On current master, this shows "Parameter verification failed. (400) / 
delete: invalid format - invalid configuration ID 
'group_filter,sync-defaults-options'".

With this patch, the error does not appear, and the settings are saved 
properly.

On 14/02/2023 14:35, Lukas Wagner wrote:
> ...when editing LDAP realm sync settings and only a single property is
> empty and thus to be deleted (e.g. values.delete = "filter").
> 
> If `delete` is a simple string and not an array,
> `PVE.Utils.delete_if_default` simply creates a comma-separated list,
> (e.g. value.delete = "filter,sync-attributes").
> 
> When the properties from the other panel are evaluated and added to the
> the `delete` property, comma-separated list format is not considered,
> leading to a final value for `delete` that could look like this:
>    value.delete = {
>      "server2",
>      "comment",
>      "filter,sync-attributes"
>    }
> 
> This commit fixes this by splitting `delete` in case it is a string.
> 
> Reported-by: Friedrich Weber <f.weber@proxmox.com>
> Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
> ---
>   Same fix as in my LDAP widget-toolkit patch series:
>   https://lists.proxmox.com/pipermail/pbs-devel/2023-February/005952.html
> 
>   www/manager6/dc/AuthEditLDAP.js | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/www/manager6/dc/AuthEditLDAP.js b/www/manager6/dc/AuthEditLDAP.js
> index 96ef77b9..2ce16e58 100644
> --- a/www/manager6/dc/AuthEditLDAP.js
> +++ b/www/manager6/dc/AuthEditLDAP.js
> @@ -139,6 +139,11 @@ Ext.define('PVE.panel.LDAPSyncInputPanel', {
>   	PVE.Utils.delete_if_default(values, 'sync-defaults-options');
>   	PVE.Utils.delete_if_default(values, 'sync_attributes');
>   
> +	// Force values.delete to be an array
> +	if (typeof values.delete === 'string') {
> +	   values.delete = values.delete.split(',');
> +	}
> +
>   	if (me.isCreate) {
>   	    delete values.delete; // on create we cannot delete values
>   	}




  reply	other threads:[~2023-02-15  8:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-14 13:35 Lukas Wagner
2023-02-15  8:29 ` Friedrich Weber [this message]
2023-02-15  9:15   ` [pve-devel] applied: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56ef8846-5387-e295-6cb8-25051c4f33a9@proxmox.com \
    --to=f.weber@proxmox.com \
    --cc=l.wagner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal