From 15008a17984c99cbf94d13b39e8f501bbe6b5698 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 26 May 2020 00:33:21 +0200 Subject: [PATCH] fixes infinitely repeating LDPA search results with PHP <= 7.2 Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Access.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php index 16013555d4e..d58106707ef 100644 --- a/apps/user_ldap/lib/Access.php +++ b/apps/user_ldap/lib/Access.php @@ -2049,6 +2049,12 @@ class Access extends LDAPUtility { // of '0' is valid, because 389ds $reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit; $this->search($filter, $base, $attr, $limit, $reOffset, true); + if (!$this->hasMoreResults()) { + // when the cookie is reset with != 0 offset, there are no further + // results, so stop. This if block is not necessary with new API + // and can be removed with dropping PHP 7.2 + return false; + } } if ($this->lastCookie !== '' && $offset === 0) { //since offset = 0, this is a new search. We abandon other searches that might be ongoing.