Merge pull request #21111 from nextcloud/backport/21108/stable19

[stable19] fixes infinitely repeating LDPA search results with PHP <= 7.2
This commit is contained in:
Morris Jobke 2020-05-26 15:41:17 +02:00 committed by GitHub
commit 1d1a9ba5a0
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.