From 53ec32807abbde7854bcfe54b3c85797d62ec4a6 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 18 Sep 2014 17:00:51 +0200 Subject: [PATCH] abandon ongoing paged search before starting a new one --- apps/user_ldap/lib/access.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php index 392c0957d6..760d23bf44 100644 --- a/apps/user_ldap/lib/access.php +++ b/apps/user_ldap/lib/access.php @@ -1376,7 +1376,7 @@ class Access extends LDAPUtility implements user\IUserTools { * resets a running Paged Search operation */ private function abandonPagedSearch() { - if(count($this->cookies) > 0) { + if(!empty($this->lastCookie)) { $cr = $this->connection->getConnectionResource(); $this->ldap->controlPagedResult($cr, 0, false, $this->lastCookie); $this->getPagedSearchResultState(); @@ -1475,9 +1475,8 @@ class Access extends LDAPUtility implements user\IUserTools { } } if(!is_null($cookie)) { - if($offset > 0) { - \OCP\Util::writeLog('user_ldap', 'Cookie '.CRC32($cookie), \OCP\Util::INFO); - } + //since offset = 0, this is a new search. We abandon other searches that might be ongoing. + $this->abandonPagedSearch(); $pagedSearchOK = $this->ldap->controlPagedResult( $this->connection->getConnectionResource(), $limit, false, $cookie);