From 5afbfd60715a7d1e6bfabfeae924493d05bc9fab Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <machniak@kolabsys.com> Date: Tue, 9 Apr 2019 10:46:01 +0200 Subject: [PATCH] More unified debug messages around ldap_search() --- lib/Net/LDAP3.php | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/lib/Net/LDAP3.php b/lib/Net/LDAP3.php index 9cdb48c..48bb5c7 100644 --- a/lib/Net/LDAP3.php +++ b/lib/Net/LDAP3.php @@ -2091,39 +2091,44 @@ class Net_LDAP3 return $this->_vlv_indexes_and_searches; } - $this->_debug("No VLV information available yet, refreshing"); - $search_filter = '(objectclass=vlvsearch)'; + $index_filter = '(objectclass=vlvindex)'; + + $this->_debug("C: Search base dn: [$config_root_dn] scope [sub] with filter [$search_filter]"); + $search_result = ldap_search($this->conn, $config_root_dn, $search_filter, array('*'), 0, 0, 0); if ($search_result === false) { - $this->_debug("Search for '$search_filter' on '$config_root_dn' failed:".ldap_error($this->conn)); - return; + $this->_debug("S: " . ldap_error($this->conn)); + return array(); } + $this->_debug("S: " . ldap_count_entries($this->conn, $search_result) . " record(s) found"); + $vlv_searches = new Net_LDAP3_Result($this->conn, $config_root_dn, $search_filter, 'sub', $search_result); if ($vlv_searches->count() < 1) { - $this->_debug("Empty result from search for '(objectclass=vlvsearch)' on '$config_root_dn'"); - return; + return array(); } - $index_filter = '(objectclass=vlvindex)'; - foreach ($vlv_searches->entries(true) as $vlv_search_dn => $vlv_search_attrs) { // The attributes we are interested in are as follows: $_vlv_base_dn = self::unified_dn($vlv_search_attrs['vlvbase']); $_vlv_scope = $vlv_search_attrs['vlvscope']; $_vlv_filter = $vlv_search_attrs['vlvfilter']; + $this->_debug("C: Search base dn: [$vlv_search_dn] scope [sub] with filter [$index_filter]"); + // Multiple indexes may exist $index_result = ldap_search($this->conn, $vlv_search_dn, $index_filter, array('*'), 0, 0, 0); if ($index_result === false) { - $this->_debug("Search for '$index_filter' on '$vlv_search_dn' failed:".ldap_error($this->conn)); + $this->_debug("S: " . ldap_error($this->conn)); continue; } + $this->_debug("S: " . ldap_count_entries($this->conn, $index_result) . " record(s) found"); + $vlv_indexes = new Net_LDAP3_Result($this->conn, $vlv_search_dn, $index_filter, 'sub', $index_result); $vlv_indexes = $vlv_indexes->entries(true); @@ -2135,12 +2140,12 @@ class Net_LDAP3 } $this->_vlv_indexes_and_searches[] = array( - $_vlv_base_dn => array( - 'scope' => self::scopeint2str($_vlv_scope), - 'filter' => strtolower($_vlv_filter), - 'sort' => $_vlv_sort, - ), - ); + $_vlv_base_dn => array( + 'scope' => self::scopeint2str($_vlv_scope), + 'filter' => strtolower($_vlv_filter), + 'sort' => $_vlv_sort, + ), + ); } // cache this -- GitLab