From: Dominik Csapak Date: Fri, 13 Mar 2020 12:18:42 +0000 (+0100) Subject: ldap: optionally save group name by attribute X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=3c775763dc1a7d4a17d0192da4c0e7b7f058ef7a ldap: optionally save group name by attribute Signed-off-by: Dominik Csapak --- diff --git a/src/PVE/LDAP.pm b/src/PVE/LDAP.pm index 3288146..3294c51 100644 --- a/src/PVE/LDAP.pm +++ b/src/PVE/LDAP.pm @@ -176,7 +176,7 @@ sub query_users { } sub query_groups { - my ($ldap, $base_dn, $classes, $filter) = @_; + my ($ldap, $base_dn, $classes, $filter, $group_name_attr) = @_; my $tmp = "(|"; for my $class (@$classes) { @@ -193,12 +193,14 @@ sub query_groups { my $page = Net::LDAP::Control::Paged->new(size => 100); + my $attrs = [ 'member', 'uniqueMember' ]; + push @$attrs, $group_name_attr if $group_name_attr; my @args = ( base => $base_dn, scope => "subtree", filter => $filter, control => [ $page ], - attrs => [ 'member', 'uniqueMember' ], + attrs => $attrs, ); my $cookie; @@ -225,6 +227,9 @@ sub query_groups { $members = [$entry->get_value('uniqueMember')]; } $group->{members} = $members; + if ($group_name_attr && (my $name = $entry->get_value($group_name_attr))) { + $group->{name} = $name; + } push @$groups, $group; }