diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2020-05-26 11:54:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-26 11:54:20 +0200 |
commit | 69e2aa029b70539ce7739114a978797c170e4d5c (patch) | |
tree | cd462775d738f37bf84f96466bc483290ac138cd /apps/user_ldap | |
parent | fda71a99794da0abfe119cc6e45dff7f02e2e25e (diff) | |
parent | 15008a17984c99cbf94d13b39e8f501bbe6b5698 (diff) | |
download | nextcloud-server-69e2aa029b70539ce7739114a978797c170e4d5c.tar.gz nextcloud-server-69e2aa029b70539ce7739114a978797c170e4d5c.zip |
Merge pull request #21108 from nextcloud/fix/20745/eor-old-php-api
fixes infinitely repeating LDPA search results with PHP <= 7.2
Diffstat (limited to 'apps/user_ldap')
-rw-r--r-- | apps/user_ldap/lib/Access.php | 6 |
1 files changed, 6 insertions, 0 deletions
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. |