Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2018-01-11 17:17:18 +0300
committerArthur Schiwon <blizzz@arthur-schiwon.de>2018-01-11 17:17:18 +0300
commitf84ec9256367758b65f37db5f0bc81a9ed2b8d13 (patch)
treebfbaa8be929cb47d1b16f2de7b5c2ecb467c0603
parent9031ae02816d5cf357fce714909ea8ca8d3b8066 (diff)
revert resolving of recursion (3628d4d65d67d12afc93d969de61cb06a33179fd)
without recursion we have issues with internal states. paged search status are set to false, cookies are not being set. In the end we have endless requests which pile up enormously with a high initial offset. Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r--apps/user_ldap/lib/Access.php7
1 files changed, 2 insertions, 5 deletions
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php
index d07a8a030a3..b84f5a38b31 100644
--- a/apps/user_ldap/lib/Access.php
+++ b/apps/user_ldap/lib/Access.php
@@ -1914,11 +1914,8 @@ class Access extends LDAPUtility implements IUserTools {
// no cookie known from a potential previous search. We need
// to start from 0 to come to the desired page. cookie value
// of '0' is valid, because 389ds
- $reOffset = 0;
- while($reOffset < $offset) {
- $this->search($filter, array($base), $attr, $limit, $reOffset, true);
- $reOffset += $limit;
- }
+ $reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit;
+ $this->search($filter, array($base), $attr, $limit, $reOffset, true);
$cookie = $this->getPagedResultCookie($base, $filter, $limit, $offset);
//still no cookie? obviously, the server does not like us. Let's skip paging efforts.
// '0' is valid, because 389ds