all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] ldap: surround user filter expression in parenthesis if not already
@ 2023-05-24  8:41 Lukas Wagner
  2023-05-25  7:18 ` Lukas Wagner
  0 siblings, 1 reply; 2+ messages in thread
From: Lukas Wagner @ 2023-05-24  8:41 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 incosistency, so I decieded 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>
---
 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.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup] ldap: surround user filter expression in parenthesis if not already
  2023-05-24  8:41 [pbs-devel] [PATCH proxmox-backup] ldap: surround user filter expression in parenthesis if not already Lukas Wagner
@ 2023-05-25  7:18 ` Lukas Wagner
  0 siblings, 0 replies; 2+ messages in thread
From: Lukas Wagner @ 2023-05-25  7:18 UTC (permalink / raw)
  To: pbs-devel



On 5/24/23 10:41, 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 incosistency, so I decieded 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>
> ---
>   proxmox-ldap/src/lib.rs | 10 +++++++++-

      ^
Sorry, wrong repo in subject, should of course be `proxmox`! :)

-- 
- Lukas




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-05-25  7:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-24  8:41 [pbs-devel] [PATCH proxmox-backup] ldap: surround user filter expression in parenthesis if not already Lukas Wagner
2023-05-25  7:18 ` Lukas Wagner

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