From 19940bae8654b0a476d7725024fab1f8d1543574 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 27 Jul 2024 14:26:25 -0700 Subject: [PATCH] Base may have a sub-entry for users and groups --- ldap-useradmin/ldap-useradmin-lib.pl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ldap-useradmin/ldap-useradmin-lib.pl b/ldap-useradmin/ldap-useradmin-lib.pl index d2bbfb628..ca6684f74 100755 --- a/ldap-useradmin/ldap-useradmin-lib.pl +++ b/ldap-useradmin/ldap-useradmin-lib.pl @@ -92,8 +92,15 @@ else { &error($ldap); } sub get_user_base { local $conf = &ldap_client::get_config(); +local $passwd_base; +foreach my $b (&ldap_client::find_value("base", $conf)) { + if ($b =~ /^passwd\s+(\S+)/) { + $passwd_base = $1; + } + } local $base = $config{'user_base'} || &ldap_client::find_svalue("nss_base_passwd", $conf) || + $passwd_base || &ldap_client::find_svalue("base", $conf); $base =~ s/\?.*$//; return $base; @@ -103,8 +110,15 @@ return $base; sub get_group_base { local $conf = &ldap_client::get_config(); +local $group_base; +foreach my $b (&ldap_client::find_value("base", $conf)) { + if ($b =~ /^group\s+(\S+)/) { + $group_base = $1; + } + } local $base = $config{'group_base'} || &ldap_client::find_svalue("nss_base_group", $conf) || + $group_base || &ldap_client::find_svalue("base", $conf); $base =~ s/\?.*$//; return $base;