Hello again:

On 09.04.2012 12:22, Andreas Dick wrote:
yes, we need the config (only the LDAP part) to be able to reproduce
or even to fix problems.

OK, here it goes (slightly redacted):

$rcmail_config['ldap_public'] = array ();

$rcmail_config['ldap_public']['public'] = array(
    'name'              => 'Private',
    'hosts'              => array('ldap.domain.tld'),
    'port'                => 389,
// this is importnat, otherwise the user specific bind_pass is not populated!
    'user_specific' => true,
  // %fu - The full username provided, assumes the username is an email
// address, uses the username_domain value if not an email address.
  // %u  - The username prior to the '@'.
  // %d  - The domain name after the '@'.
// %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com" // %dn - DN found by ldap search when search_filter/search_base_dn are used 'base_dn' => 'cn=%fu,ou=private,ou=rcabook,dc=domain,dc=tld', 'bind_dn' => 'cn=%fu,ou=private,ou=rcabook,dc=domain,dc=tld',
    'bind_pass'      => '',
    // the user login password is used
    'filter'              => '(objectClass=inetOrgPerson)',
  'writable'       => true,
  'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
'LDAP_rdn' => 'mail', 'required_fields' => array('cn', 'sn', 'mail', 'givenName'),
  // mapping of contact fields to directory attributes
  'fieldmap' => array(
    // Roundcube  => LDAP
    'name'        => 'cn',
    'surname'     => 'sn',
    'firstname'   => 'givenName',
    'email'       => 'mail',
    'phone:home'  => 'homePhone',
    'phone:work'  => 'telephoneNumber',
    'phone:mobile' => 'mobile',
    'street'      => 'street',
    'zipcode'     => 'postalCode',
    'locality'    => 'l',
    'country'     => 'c',
    'organization' => 'o',
  ),
'search_fields' => array('mail', 'cn', 'sn', 'givenName'), // fields to search in
  'sort'          => 'cn',    // The field to sort the listing by.
  'scope'         => 'sub',   // search mode: sub|base|list
  'fuzzy_search'  => true,    // server allows wildcard search
'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it) 'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting '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.
    'groups'           => array(
'base_dn' => '', // in this Howto, the same base_dn as for the contacts is used
        'filter'                 => '(objectClass=groupOfNames)',
        'object_classes' => array("top", "groupOfNames"),
  ),
)

$rcmail_config['autocomplete_addressbooks'] = array('sql','public');

$rcmail_config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{region}';

You will see that this is a "public" address book, but it is editable for all users (only testing for now): changes from iOS work fine with the exact same configuration for base_dn, bind_dn and bind_pass.

Thank you in advance, Achim

PS: If useful, I can also provide access to the underlying OpenLDAP server!
_______________________________________________
Roundcube Users mailing list
[email protected]
http://lists.roundcube.net/mailman/listinfo/users

Reply via email to