Core: Owncloud 9.0 and user_ldap regression (ldap server crash)

Created on 29 Mar 2016  路  7Comments  路  Source: owncloud/core

Hi,

we upgraded our Owncloud 8.2 server recently to Owncloud 9.0 and noticed a regression regarding the user_ldap app.

Our current setup:
We currently have a Novell Open Enterprise Server which (OES 2015) handles the LDAP requests. Once the LDAP settings are set, we get after the test-configuration more than 1000 entries back. This was working fine in version 8.2 and we could see all the users and groups and scroll through the list of users.

Now we upgraded to version 9.0. Users and groups were still available but when we scrolled through the list of users, Owncloud made our LDAP service on the OES server crash. After some investigation we noticed that it has something to do with paged results settings, if the app finds more than 1000 entries. Less entries, will NOT generate this crash. It looks like version 9.0 generates LDAP-queries that will clash with certain servers.
If we completely disabled paged results on the OES server, the error does no longer appear. Is there a way to disable paged results queries on the Owncloud server (setting to 0 does not work!) ?

greetings,

Tom De Sloovere

Steps to reproduce

  1. get an OES LDAP server and configure it in Owncloud 9.0
  2. configure the user_ldap settings and make sure you get more than 1000 entries in the test configuration
  3. go the all your users in Owncloud and scroll through the list

    Expected behaviour

In version 8.2 we could scroll happily through the list of users with paged results enabled on all servers.

Actual behaviour

In version 9.0 we can see the first page of users but after we scroll down through the list, our LDAP server crashes and Owncloud loses the LDAP connection.

Server configuration

Owncloud 9.0.0-1.1 - Ubuntu 14.04, PHP 5.5.9, Apache 2.4.7
Owncloud 8.2.3-2.1 - Ubuntu 14.04, PHP 5.5.9, Apache 2.4.7

Server configuration

+-------------------------------+-------------------------------------------------------------+
| Configuration | |
+-------------------------------+-------------------------------------------------------------+
| hasMemberOfFilterSupport | |
| hasPagedResultSupport | |
| homeFolderNamingRule | |
| lastJpegPhotoLookup | 0 |
| ldapAgentName | cn=readonly,ou=EXAMPLE,o=COM |
| ldapAgentPassword | ****** |
| ldapAttributesForGroupSearch | |
| ldapAttributesForUserSearch | sn;givenName |
| ldapBackupHost | |
| ldapBackupPort | |
| ldapBase | o=COM |
| ldapBaseGroups | ou=EXAMPLE,o=COM |
| ldapBaseUsers | ou=EXAMPLE,o=COM |
| ldapCacheTTL | 600 |
| ldapConfigurationActive | 1 |
| ldapDynamicGroupMemberURL | |
| ldapEmailAttribute | mail |
| ldapExperiencedAdmin | 0 |
| ldapExpertUUIDGroupAttr | |
| ldapExpertUUIDUserAttr | |
| ldapExpertUsernameAttr | |
| ldapGroupDisplayName | cn |
| ldapGroupFilter | (&(|(objectclass=groupOfNames))) |
| ldapGroupFilterGroups | |
| ldapGroupFilterMode | 0 |
| ldapGroupFilterObjectclass | groupOfNames |
| ldapGroupMemberAssocAttr | uniqueMember |
| ldapHost | server9999.example.com |
| ldapIgnoreNamingRules | |
| ldapLoginFilter | (&(&(objectClass=person)(mail=_))(|(uid=%uid)(|(cn=%uid)))) |
| ldapLoginFilterAttributes | |
| ldapLoginFilterEmail | 0 |
| ldapLoginFilterMode | 1 |
| ldapLoginFilterUsername | 1 |
| ldapNestedGroups | 0 |
| ldapOverrideMainServer | |
| ldapPagingSize | 500 |
| ldapPort | 389 |
| ldapQuotaAttribute | |
| ldapQuotaDefault | |
| ldapTLS | 0 |
| ldapUserDisplayName | cn |
| ldapUserDisplayName2 | |
| ldapUserFilter | (&(objectclass=user)(mail=_)) |
| ldapUserFilterGroups | |
| ldapUserFilterMode | 1 |
| ldapUserFilterObjectclass | person |
| ldapUuidGroupAttribute | auto |
| ldapUuidUserAttribute | auto |
| turnOffCertCheck | 0 |
| useMemberOfToDetectMembership | 1 |
+-------------------------------+-------------------------------------------------------------+

Bug

All 7 comments

cc @owncloud/ldap

In version 9.0 we can see the first page of users but after we scroll down through the list, our LDAP server crashes and Owncloud loses the LDAP connection.

Isn't that more of a bug of the LDAP server?

Is there a way to disable paged results queries on the Owncloud server (setting to 0 does not work!) ?

No, not at the moment.

I am guessing both. Indeed, the LDAP service on the OES server should not crash on a basic query. We already reported this bug to Novell. They already answered that this behaviour has something to do with the paged result queries that Owncloud does.

But in my opinion, it is at least a regression in the functionality of Owncloud. As version 8.2 was working without a hitch on the _exact_ same Novell LDAP server. Two considerations:

First, I think scrolling through lots of users in the web interface should not result in a disruptive query and should be considered a bug. Because if we do NOT scroll through the users in the web interface, all is fine and no faulty behaviour is to be seen.

Second, we performed some tests with smaller LDAP directories (less than 1000 entries found). We cannot reproduce this behaviour with smaller directories. Playing around with paging chunk size (setting it higher than 500 or even disabling it with 0) does not result in correct behaviour.

Is this still an issue with 9.0.5 or 9.1.1 ?

CC @jvillafanez

This is likely an issue on those versions.

I'm closing this and moving the issue to the new repo -> https://github.com/owncloud/user_ldap/issues/4

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

patrickjahns picture patrickjahns  路  4Comments

PVince81 picture PVince81  路  4Comments

j-holub picture j-holub  路  3Comments

tommis picture tommis  路  5Comments

photodude picture photodude  路  3Comments