Ubuntu 14.04, SOGo 3 nightlies (currently 3.0.1.20160304-1)

When adding attendees to an event users are not returned as search results.

(output below is form live system with search/replace on domains and users - client privacy and all that)

From sogo.conf

    mydomain.com = {
      SOGoMailDomain = mydomain.com;
      SOGoUserSources = (
        {
          type = ldap;
          CNFieldName = cn;
          UIDFieldName = uid;
          IDFieldName = uid; // first field of the DN for direct binds
          baseDN = "dc=users,dc=maindomain,dc=com";
          canAuthenticate = YES;
          hostname = ldap://127.0.0.1:389;
          id = public_mydomaincom;
          isAddressBook = YES;
          filter = "(uid='*@mydomain.com')";
        }
      );
    }

From sogo.log

Mar 05 09:29:36 sogod [32540]: [WARN] <0x0x7f530dd743c0[WOxElemBuilder]> could not locate builders: WOxExtElemBuilder,WOxExtElemBuilder Mar 05 09:29:36 sogod [32540]: <0x0x7f531111c738[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://127.0.0.1:389 2016-03-05 09:29:36.076 sogod[32540] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base '' filter '(objectClass=*)' for attrs 'subschemaSubentry' 2016-03-05 09:29:36.077 sogod[32540] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'cn=Subschema' filter '(objectClass=*)' for attrs 'objectclasses' 2016-03-05 09:29:36.078 sogod[32540] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=users,dc=maindomain,dc=com' filter '(&(|(sn=*john*)(displayname=*john*)(telephonenumber=*john*)(mail=*john*)(cn=*john*))(uid=*@mydomain.com))' for attrs '*' Mar 05 09:29:36 sogod [32540]: |SOGo| request took 0.019379 seconds to execute Mar 05 09:29:36 sogod [32540]: 83.52.170.159 "GET /SOGo/so/i...@mydomain.com/Contacts/allContactSearch?search=john HTTP/1.1" 200 40/0 0.021 - - 1M

Equivalent ldap search at command line:

host1:~# ldapsearch -x -b "dc=users,dc=maindomain,dc=com" '(&(|(sn=*john*)(displayname=*john*)(telephonenumber=*john*)(mail=*john*)(cn=*john*))(uid=*@mydomain.com))'
# extended LDIF
#
# LDAPv3
# base <dc=users,dc=maindomain,dc=com> with scope subtree
# filter: (&(|(sn=*john*)(displayname=*john*)(telephonenumber=*john*)(mail=*john*)(cn=*john*))(uid=*@mydomain.com))
# requesting: ALL
#

# john.sm...@mydomain.com, Users.maindomain.com
dn: uid=john.sm...@mydomain.com,dc=Users,dc=maindomain,dc=com
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: person
homeDirectory: /home/mydomain.com/homes/john.smith
cn: John Smith
loginShell: /dev/null
uid: john.sm...@mydomain.com
gidNumber: 1015
uidNumber: 1038
sn: John Smith

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

I've not reported this as a bug as I'm not certain of the intended functionality - is the attendee field supposed to return results from the user base, or should all users that might be attendees be added manually to the address book? I would have expected SOGo to return users as attendees in the same way it returns users in search boxes for, say, sharing folders in the Web UI.

Indeed, typing "john" into the search field for and "Access Rights" dialog results in the exact same log entry above minus the trailing address book search. The result is also successfully returned in the Web UI, whereas the attendee field returns nothing.

Is the trailing contacts search somehow destroying the ldap search results? Or something else?

Peter.
--
users@sogo.nu
https://inverse.ca/sogo/lists

Reply via email to