* [pbs-devel] [PATCH v2 proxmox] ldap: surround user filter expression in parenthesis if not already
@ 2023-06-23 8:16 Lukas Wagner
2023-06-23 9:20 ` [pbs-devel] applied: " Wolfgang Bumiller
0 siblings, 1 reply; 2+ messages in thread
From: Lukas Wagner @ 2023-06-23 8:16 UTC (permalink / raw)
To: pbs-devel
In PVE, the `filter` attribute is surrounded in () if it is not already,
allowing "uid=test" as well as "(uid=test)" [1].
A forum user [2] just ran into this inconsistency, so I decided to adjust
the behavior.
[1] https://git.proxmox.com/?p=pve-common.git;a=blob;f=src/PVE/LDAP.pm;h=ff98e367e63265bf76c0f302847c3749eea095a6;hb=HEAD#l115
[2] https://forum.proxmox.com/threads/ldap-query-for-security-group-members.127882/
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
Notes:
Wanted to ping the patch, noticed 2 small typos in the commit message,
so I sent a v2. No changes in the code.
proxmox-ldap/src/lib.rs | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/proxmox-ldap/src/lib.rs b/proxmox-ldap/src/lib.rs
index ea210b3e..4fa866d8 100644
--- a/proxmox-ldap/src/lib.rs
+++ b/proxmox-ldap/src/lib.rs
@@ -351,7 +351,14 @@ impl<'a> Display for FilterElement<'a> {
FilterElement::Condition(attr, value) => {
write!(f, "({attr}={value})")?;
}
- FilterElement::Verbatim(verbatim) => write!(f, "{verbatim}")?,
+ FilterElement::Verbatim(verbatim) => {
+
+ if !verbatim.starts_with('(') && !verbatim.ends_with(')') {
+ write!(f, "({verbatim})")?
+ } else {
+ write!(f, "{verbatim}")?
+ }
+ },
}
Ok(())
@@ -371,6 +378,7 @@ mod tests {
);
assert_eq!("(foo=bar)", &Verbatim("(foo=bar)").to_string());
+ assert_eq!("(foo=bar)", &Verbatim("foo=bar").to_string());
let filter_string = And(vec![
Condition("givenname", "john"),
--
2.39.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pbs-devel] applied: [PATCH v2 proxmox] ldap: surround user filter expression in parenthesis if not already
2023-06-23 8:16 [pbs-devel] [PATCH v2 proxmox] ldap: surround user filter expression in parenthesis if not already Lukas Wagner
@ 2023-06-23 9:20 ` Wolfgang Bumiller
0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Bumiller @ 2023-06-23 9:20 UTC (permalink / raw)
To: Lukas Wagner; +Cc: pbs-devel
applied (and added a rustfmt fixup commit)
On Fri, Jun 23, 2023 at 10:16:37AM +0200, Lukas Wagner wrote:
> In PVE, the `filter` attribute is surrounded in () if it is not already,
> allowing "uid=test" as well as "(uid=test)" [1].
>
> A forum user [2] just ran into this inconsistency, so I decided to adjust
> the behavior.
>
> [1] https://git.proxmox.com/?p=pve-common.git;a=blob;f=src/PVE/LDAP.pm;h=ff98e367e63265bf76c0f302847c3749eea095a6;hb=HEAD#l115
> [2] https://forum.proxmox.com/threads/ldap-query-for-security-group-members.127882/
>
> Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
> ---
>
> Notes:
> Wanted to ping the patch, noticed 2 small typos in the commit message,
> so I sent a v2. No changes in the code.
>
> proxmox-ldap/src/lib.rs | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/proxmox-ldap/src/lib.rs b/proxmox-ldap/src/lib.rs
> index ea210b3e..4fa866d8 100644
> --- a/proxmox-ldap/src/lib.rs
> +++ b/proxmox-ldap/src/lib.rs
> @@ -351,7 +351,14 @@ impl<'a> Display for FilterElement<'a> {
> FilterElement::Condition(attr, value) => {
> write!(f, "({attr}={value})")?;
> }
> - FilterElement::Verbatim(verbatim) => write!(f, "{verbatim}")?,
> + FilterElement::Verbatim(verbatim) => {
> +
> + if !verbatim.starts_with('(') && !verbatim.ends_with(')') {
> + write!(f, "({verbatim})")?
> + } else {
> + write!(f, "{verbatim}")?
> + }
> + },
> }
>
> Ok(())
> @@ -371,6 +378,7 @@ mod tests {
> );
>
> assert_eq!("(foo=bar)", &Verbatim("(foo=bar)").to_string());
> + assert_eq!("(foo=bar)", &Verbatim("foo=bar").to_string());
>
> let filter_string = And(vec![
> Condition("givenname", "john"),
> --
> 2.39.2
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-06-23 9:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-23 8:16 [pbs-devel] [PATCH v2 proxmox] ldap: surround user filter expression in parenthesis if not already Lukas Wagner
2023-06-23 9:20 ` [pbs-devel] applied: " Wolfgang Bumiller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal