# HG changeset patch # User Paul Boddie # Date 1414534143 -3600 # Node ID 83c46dbd0eb9ce4a89de503588ef51b0436bd84b # Parent ba35611d36e2e392ec6b32a9236ec5d8aab13702 Added sample configuration files, with LDAP details intended to be interoperable with Kolab. diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/apache/imip-agent.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/apache/imip-agent.conf Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,10 @@ +Alias /freebusy /var/www/imip-agent/static/ +ScriptAlias /imip-manager /var/www/imip-agent/imip_manager.py + + + AuthType basic + AuthName "imip-manager" + AuthBasicProvider ldap + AuthLDAPUrl "ldap://localhost/ou=People,dc=example,dc=com?mail?sub" + Require valid-user + diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/exim/30_exim4-config_people --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/exim/30_exim4-config_people Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,6 @@ +people_transport: + debug_print = "T: people_transport for $local_part@$domain" + driver = pipe + command = $imip_agent_dir/imip_person.py -l $lmtp_socket -o $pipe_addresses + user = $system_user + group = $lmtp_group diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/exim/30_exim4-config_resources --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/exim/30_exim4-config_resources Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,5 @@ +resources_transport: + debug_print = "T: resources_transport for $local_part@$domain" + driver = pipe + command = $imip_agent_dir/imip_resource.py -o $pipe_addresses + user = $system_user diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/exim/890_exim4-config_ldap_people --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/exim/890_exim4-config_ldap_people Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,12 @@ +LDAP_PERSON_QUERY = (&(|(mail=${quote_ldap:${local_part}}@${domain})(alias=${quote_ldap:${local_part}}@${domain}))(objectclass=kolabinetorgperson)) + +ldap_person: + debug_print = "R: ldap_user for $local_part@$domain" + driver = accept + condition = ${if eq {}{${lookup ldap{ \ + user="$ldap_service_bind_dn" \ + pass=$ldap_service_password \ + ldap://$ldap_host:$ldap_port/$ldap_base_dn?mail?sub?LDAP_PERSON_QUERY} \ + }}{no}{yes}} + transport = people_transport + cannot_route_message = Unknown user diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/exim/890_exim4-config_ldap_resources --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/exim/890_exim4-config_ldap_resources Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,12 @@ +LDAP_RESOURCE_QUERY = (&(|(mail=${quote_ldap:${local_part}}@${domain})(alias=${quote_ldap:${local_part}}@${domain}))(kolabFolderType=event)) + +ldap_resource: + debug_print = "R: ldap_user for $local_part@$domain" + driver = accept + condition = ${if eq {}{${lookup ldap{ \ + user="$ldap_service_bind_dn" \ + pass=$ldap_service_password \ + ldap://$ldap_host:$ldap_port/$ldap_base_dn?kolabtargetfolder?sub?LDAP_RESOURCE_QUERY} \ + }}{no}{yes}} + transport = resources_transport + cannot_route_message = Unknown user diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/postfix/main.cf.example --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/postfix/main.cf.example Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,1 @@ +virtual_alias_maps = $alias_maps, ..., ldap:/etc/postfix/ldap/virtual_alias_maps_resources.cf, ldap:/etc/postfix/ldap/virtual_alias_maps_people.cf diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/postfix/master.cf.items --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/postfix/master.cf.items Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,6 @@ +imip_resources unix - n n - - pipe + flags=FR user=$user argv=$imip_agent_dir/imip_resource.py + -o ${original_recipient} -r ${recipient} -s imip-agent@example.com +imip_people unix - n n - - pipe + flags=FR user=$user argv=$imip_agent_dir/imip_person.py + -o ${original_recipient} -r ${recipient} -s imip-agent@example.com -l $lmtp_socket diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/postfix/transport --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/postfix/transport Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,4 @@ +# iMIP content handling for example.com via the resources address: +resources@example.com imip_resources: +# iMIP content handling for example.com via the people address: +people@example.com imip_people: diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/postfix/virtual_alias_maps_people.cf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/postfix/virtual_alias_maps_people.cf Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,14 @@ +server_host = $ldap_host +server_port = $ldap_port +version = 3 +search_base = $ldap_base_dn +scope = sub + +domain = ldap:/etc/postfix/ldap/mydestination.cf + +bind_dn = $ldap_service_bind_dn +bind_pw = $ldap_service_password + +query_filter = (&(|(mail=%s)(alias=%s))(objectclass=kolabinetorgperson)) +result_attribute = mail +result_format = <$person_recipient+%s> diff -r ba35611d36e2 -r 83c46dbd0eb9 conf/postfix/virtual_alias_maps_resources.cf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conf/postfix/virtual_alias_maps_resources.cf Tue Oct 28 23:09:03 2014 +0100 @@ -0,0 +1,14 @@ +server_host = $ldap_host +server_port = $ldap_port +version = 3 +search_base = $ldap_base_dn +scope = sub + +domain = ldap:/etc/postfix/ldap/mydestination.cf + +bind_dn = $ldap_service_bind_dn +bind_pw = $ldap_service_password + +query_filter = (&(|(mail=%s)(alias=%s))(objectclass=kolabsharedfolder)(kolabFolderType=event)) +result_attribute = kolabtargetfolder +result_format = <$resource_recipient+%s>