diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-11-15 12:48:57 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-15 12:48:57 +0300 |
commit | 159d75945a57be7a391cc16a17744adfd4376473 (patch) | |
tree | 77d0a73948ef9780f6793869e0468f5732625cbd /apps/user_ldap/lib | |
parent | d70b010432292b0a6fb4ed96f504ee81fd2a352e (diff) | |
parent | deec5a70a00ac930d67c439c99a1a3fbf09af9ac (diff) |
Merge pull request #12292 from nextcloud/fix/2947/lapse-sizelimit-error
avoid logging of "Partial search results returned: Sizelimit exceeded…"
Diffstat (limited to 'apps/user_ldap/lib')
-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])) { |