Merge pull request #21108 from nextcloud/fix/20745/eor-old-php-api

fixes infinitely repeating LDPA search results with PHP <= 7.2
This commit is contained in:
Roeland Jago Douma 2020-05-26 11:54:20 +02:00 committed by GitHub
commit 69e2aa029b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 0 deletions

View File

@ -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.