diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-11-05 18:35:50 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-11-07 13:15:55 +0100 |
commit | deec5a70a00ac930d67c439c99a1a3fbf09af9ac (patch) | |
tree | fc6c794c1fe4f262823ccd0c75a4508db29c06bf /apps/user_ldap/lib/LDAP.php | |
parent | 9ea65734162191b3222ea9f6e265380ea5175f3a (diff) | |
download | nextcloud-server-deec5a70a00ac930d67c439c99a1a3fbf09af9ac.tar.gz nextcloud-server-deec5a70a00ac930d67c439c99a1a3fbf09af9ac.zip |
avoid logging of "Partial search results returned: Sizelimit exceeded at"
LDAP servers respond with that even if a limit was passed with the
request. Having this statement logged causes a lot of confusion.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/user_ldap/lib/LDAP.php')
-rw-r--r-- | apps/user_ldap/lib/LDAP.php | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/apps/user_ldap/lib/LDAP.php b/apps/user_ldap/lib/LDAP.php index 2411b8d3438..e6039c77d12 100644 --- a/apps/user_ldap/lib/LDAP.php +++ b/apps/user_ldap/lib/LDAP.php @@ -189,9 +189,24 @@ class LDAP implements ILDAPWrapper { * @param int $attrsOnly * @param int $limit * @return mixed + * @throws \Exception */ public function search($link, $baseDN, $filter, $attr, $attrsOnly = 0, $limit = 0) { - return $this->invokeLDAPMethod('search', $link, $baseDN, $filter, $attr, $attrsOnly, $limit); + $oldHandler = set_error_handler(function($no, $message, $file, $line) use (&$oldHandler) { + if(strpos($message, 'Partial search results returned: Sizelimit exceeded') !== false) { + return true; + } + $oldHandler($no, $message, $file, $line); + return true; + }); + try { + $result = $this->invokeLDAPMethod('search', $link, $baseDN, $filter, $attr, $attrsOnly, $limit); + restore_error_handler(); + return $result; + } catch (\Exception $e) { + restore_error_handler(); + throw $e; + } } /** @@ -342,6 +357,7 @@ class LDAP implements ILDAPWrapper { /** * Called after an ldap method is run to act on LDAP error if necessary + * @throw \Exception */ private function postFunctionCall() { if($this->isResource($this->curArgs[0])) { |