1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?php
\$c->pg_connect[] = 'dbname=${davical_dbname} user=${davical_username} host=${davical_dbhost}';
\$c->admin_email = '${davical_admin_email}';
\$c->restrict_setup_to_admin = true;
\$c->home_calendar_name = 'calendar';
\$c->home_addressbook_name = 'addressbook';
\$c->default_privileges = array('read-free-busy', 'schedule-deliver');
\$c->external_refresh = 60;
\$c->default_locale = 'en';
\$c->allow_get_email_visibility = true;
\$c->trust_x_forwarded = true;
\$c->authenticate_hook['call'] = 'LDAP_check';
\$c->authenticate_hook['config'] = array(
'uri' => '${ldap_uri}',
'host' => '${ldap_hosts}',
'port' => '389',
'sasl' => 'yes',
'sasl_mech' => 'GSSAPI',
'baseDNUsers' => '${people_basedn}',
'baseDNGroups' => '${groups_basedn}',
/* Must use scope=onelevel here because if davical picks up a user and group
* with the same name, then the group takes precedence and the user is lost.
* Sad for us because we store user private groups in LDAP.
*/
'scope' => 'onelevel',
'protocolVersion' => 3,
'optReferrals' => 0,
'filterUsers' => '(memberOf=cn=${davical_access_role},${roles_basedn})',
'filterGroups' => '(objectclass=groupOfMembers)',
'mapping_field' => array('username' => 'uid',
'modified' => 'modifyTimestamp',
'fullname' => 'cn',
'email' => 'mailAddress'),
'group_mapping_field' => array('name' => 'cn',
'fullname' => 'cn',
'modified' => 'modifyTimestamp',
'email' => 'mailAddress',
'members' => 'member'),
'group_member_dnfix' => true,
'default_value' => array('date_format_type' => 'I','locale' => 'en'),
'format_updated' => array('Y' => array(0,4),
'm' => array(4,2),
'd' => array(6,2),
'H' => array(8,2),
'M' => array(10,2),
'S' => array(12,2)),
'i_use_mode_kerberos' => 'allow_fallback_to_ldap_auth',
);
include_once('drivers_ldap.php');
|