Roundcube Community Forum

News and Announcements => General Discussion => Topic started by: mibrahim on July 25, 2011, 03:18:27 AM

Title: LDAP search problem
Post by: mibrahim on July 25, 2011, 03:18:27 AM
Hi all
I can browse all users on my 389server, but can not search. Below roundcube log :


Jul 25 10:14:15 host-sr1 roundcube: C: Connect xxxx.xxxxx.com:389]
Jul 25 10:14:15 host-sr1 roundcube: S: OK
Jul 25 10:14:15 host-sr1 roundcube: C: Bind [dn: uid=xxxx,ou=People,dc=xxxxx,dc=com] [pass: xxxxxxxxx]
Jul 25 10:14:16 host-sr1 roundcube: S: OK
Jul 25 10:14:16 host-sr1 roundcube: C: Search [(&(objectclass=person)(|(mail=ma)(cn=ma)(uid=ma)(givenname=ma)))]
Jul 25 10:14:16 host-sr1 roundcube: S: 0 record(s)
Jul 25 10:14:16 host-sr1 roundcube: C: Close



My roundecube LDAP config:






$rcmail_config['ldap_public']['Zahrang'] = array(
  'name'          => 'Zahrang.com',
  'hosts'         => array('mail.zahrang.com'),
  'port'          => 389,
  'use_tls'           => false,
  'user_specific' => true,   // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
  'base_dn'       => 'ou=People,dc=xxxxxxx,dc=com',
  'bind_dn'       => 'uid=%u,ou=People,dc=zahrang,dc=com',
#  'bind_pass'     => 'xxxxxxxxxxxxxx',
  'search_base_dn' => 'ou=People,dc=xxxxxxx,dc=com',
#  'search_filter'  => '(&(objectclass=person)(uid=%u)',   // e.g. '(&(objectClass=posixAccount)(uid=%u))'
#   'search_filter'  => '(&(mail=*)(|(&(objectClass=person))))',
  'writable'      => false,   // Indicates if we can write to the LDAP directory or not.
  // If writable is true then these fields need to be populated:
  // LDAP_Object_Classes, required_fields, LDAP_rdn
  'LDAP_Object_Classes' => array("top", "inetOrgPerson"), // To create a new contact these are the object classes to specify (or any other classes you wish to use).
#  'required_fields'     => array("cn", "sn", "mail"),     // The required fields needed to build a new contact as required by the object classes (can include additional fields not required by the object classes).
  'LDAP_rdn'      => 'mail', // The RDN field that is used for new entries, this field needs to be one of the search_fields, the base of base_dn is appended to the RDN to insert into the LDAP directory.
  'ldap_version'  => 3,       // using LDAPv3
  'search_fields' => array('mail', 'cn','uid','givenname'),  // fields to search in
  'name_field'    => 'cn',    // this field represents the contact's name
  'email_field'   => 'mail',  // this field represents the contact's e-mail
  'surname_field' => 'sn',    // this field represents the contact's last name
  'firstname_field' => 'gn',  // this field represents the contact's first name
  'sort'          => 'cn',    // The field to sort the listing by.
  'scope'         => 'list',   // search mode: sub|base|list
  'filter'        => '(objectclass=person)',      // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
  'fuzzy_search'  => true,    // server allows wildcard search
  'sizelimit'     => '0',     // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
  'timelimit'     => '0',     // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
);


Please help me.

thank you
Title: LDAP search problem
Post by: Julius Caesar on July 25, 2011, 04:53:09 AM
What happens if you experiment with the filter-option in the configuration file?

I.E.: I have the following in my config:

'filter'        => 'mail=*@*',
Title: LDAP search problem
Post by: mibrahim on July 25, 2011, 05:20:08 AM
thank you Julius for your reply

I just solved this problem by changing 'filter'   from person to Person .