1.1 --- a/README.txt Sun Jan 25 21:25:00 2015 +0100
1.2 +++ b/README.txt Mon Jan 26 00:29:12 2015 +0100
1.3 @@ -55,7 +55,8 @@
1.4 -----------------------
1.5
1.6 The tools/install.sh script should install the software in appropriate
1.7 -locations.
1.8 +locations. See the prerequisites below for other software that will be
1.9 +required.
1.10
1.11 Configuring Other Software
1.12 --------------------------
1.13 @@ -75,18 +76,18 @@
1.14 the integration of agent programs into the mail processing pipeline. Thus, the
1.15 following files are of particular interest:
1.16
1.17 -For Exim...
1.18 +For Exim (in conf/exim)...
1.19
1.20 - conf/exim/30_exim4-config_people Integration of agent programs
1.21 - conf/exim/30_exim4-config_people_outgoing ...
1.22 - conf/exim/30_exim4-config_resources ...
1.23 + 30_exim4-config_people Integration of agent programs
1.24 + 30_exim4-config_people_outgoing ...
1.25 + 30_exim4-config_resources ...
1.26
1.27 -For Postfix...
1.28 +For Postfix (in conf/postfix)...
1.29
1.30 - conf/postfix/master.cf.items Integration of agent programs (for
1.31 - inclusion in master.cf)
1.32 - conf/postfix/transport Configuration of agent transports
1.33 - conf/postfix/virtual Configuration of outgoing mail routing
1.34 + master.cf.items Integration of agent programs (for
1.35 + inclusion in master.cf)
1.36 + transport Configuration of agent transports
1.37 + virtual Configuration of outgoing mail routing
1.38
1.39 Such files need adjusting for the deployment environment so that, for example,
1.40 the example.com domain would be replaced with a suitable value.
1.41 @@ -102,23 +103,23 @@
1.42 routing or account querying. However, example configuration files are provided
1.43 that demonstrate the use of LDAP to identify mail recipients:
1.44
1.45 -For Exim...
1.46 +For Exim (in conf/exim)...
1.47
1.48 - conf/exim/010_exim4-config_people_outgoing Defines recipients and
1.49 - outgoing mail routing
1.50 - conf/exim/890_exim4-config_ldap_people ...
1.51 - conf/exim/890_exim4-config_ldap_resources ...
1.52 + 010_exim4-config_people_outgoing Defines recipients and outgoing
1.53 + mail routing
1.54 + 890_exim4-config_ldap_people ...
1.55 + 890_exim4-config_ldap_resources ...
1.56
1.57 -For Postfix...
1.58 +For Postfix with LDAP (in conf/postfix/ldap)...
1.59
1.60 - conf/postfix/local_recipient_maps.cf Defines local virtual
1.61 - recipients
1.62 - conf/postfix/main.cf.example Defines recipients and outgoing
1.63 - mail routing (for inclusion in
1.64 - main.cf)
1.65 - conf/postfix/virtual_alias_maps_people.cf
1.66 - conf/postfix/virtual_alias_maps_people_outgoing.cf
1.67 - conf/postfix/virtual_alias_maps_resources.cf
1.68 + main.cf.example Defines recipients and outgoing
1.69 + mail routing (for inclusion in
1.70 + main.cf)
1.71 +
1.72 + local_recipient_maps.cf Defines local virtual recipients
1.73 + virtual_alias_maps_people.cf
1.74 + virtual_alias_maps_people_outgoing.cf
1.75 + virtual_alias_maps_resources.cf
1.76
1.77 With the exception of the sender_bcc_maps setting in Postfix's main.cf, the
1.78 above recipient identification configuration examples can be disregarded in
1.79 @@ -131,11 +132,14 @@
1.80 Relevant LDAP resources for structuring recipient information include the
1.81 following:
1.82
1.83 - RFC 4524 http://tools.ietf.org/html/rfc4524 Defines the mail attribute
1.84 - RFC 2798 http://tools.ietf.org/html/rfc2798 Defines the inetOrgPerson
1.85 - object class
1.86 - RFC 2739 https://tools.ietf.org/html/rfc2739 Defines the calEntry object
1.87 - class supporting calFBURL
1.88 + RFC 4524 Defines the mail attribute
1.89 + http://tools.ietf.org/html/rfc4524
1.90 +
1.91 + RFC 2798 Defines the inetOrgPerson object
1.92 + http://tools.ietf.org/html/rfc2798 class
1.93 +
1.94 + RFC 2739 Defines the calEntry object class
1.95 + https://tools.ietf.org/html/rfc2739 supporting calFBURL
1.96
1.97 An additional draft RFC describes the mailRecipient object class:
1.98
1.99 @@ -170,6 +174,10 @@
1.100 Exim: exim4-daemon-heavy
1.101 Postfix: postfix postfix-ldap
1.102
1.103 +The software itself requires the following packages:
1.104 +
1.105 + pytz: python-tz
1.106 +
1.107 The management Web interface requires the following packages:
1.108
1.109 Babel: python-babel
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/conf/postfix/ldap/local_recipient_maps.cf Mon Jan 26 00:29:12 2015 +0100
2.3 @@ -0,0 +1,11 @@
2.4 +server_host = $ldap_host
2.5 +server_port = $ldap_port
2.6 +version = 3
2.7 +search_base = $ldap_base_dn
2.8 +scope = sub
2.9 +
2.10 +bind_dn = $ldap_service_bind_dn
2.11 +bind_pw = $ldap_service_password
2.12 +
2.13 +query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
2.14 +result_attribute = mail
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/conf/postfix/ldap/main.cf.example Mon Jan 26 00:29:12 2015 +0100
3.3 @@ -0,0 +1,5 @@
3.4 +local_recipient_maps = ldap:/etc/postfix/ldap/local_recipient_maps.cf
3.5 +virtual_alias_maps = $alias_maps, hash:/etc/postfix/virtual,
3.6 + ldap:/etc/postfix/ldap/virtual_alias_maps_resources.cf,
3.7 + ldap:/etc/postfix/ldap/virtual_alias_maps_people.cf
3.8 +sender_bcc_maps = ldap:/etc/postfix/ldap/virtual_alias_maps_people_outgoing.cf
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/conf/postfix/ldap/virtual_alias_maps_people.cf Mon Jan 26 00:29:12 2015 +0100
4.3 @@ -0,0 +1,12 @@
4.4 +server_host = $ldap_host
4.5 +server_port = $ldap_port
4.6 +version = 3
4.7 +search_base = $ldap_base_dn
4.8 +scope = sub
4.9 +
4.10 +bind_dn = $ldap_service_bind_dn
4.11 +bind_pw = $ldap_service_password
4.12 +
4.13 +query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
4.14 +result_attribute = mail
4.15 +result_format = people+%s
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/conf/postfix/ldap/virtual_alias_maps_people_outgoing.cf Mon Jan 26 00:29:12 2015 +0100
5.3 @@ -0,0 +1,12 @@
5.4 +server_host = $ldap_host
5.5 +server_port = $ldap_port
5.6 +version = 3
5.7 +search_base = $ldap_base_dn
5.8 +scope = sub
5.9 +
5.10 +bind_dn = $ldap_service_bind_dn
5.11 +bind_pw = $ldap_service_password
5.12 +
5.13 +query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
5.14 +result_attribute = mail
5.15 +result_format = people-outgoing+%s
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/conf/postfix/ldap/virtual_alias_maps_resources.cf Mon Jan 26 00:29:12 2015 +0100
6.3 @@ -0,0 +1,12 @@
6.4 +server_host = $ldap_host
6.5 +server_port = $ldap_port
6.6 +version = 3
6.7 +search_base = $ldap_base_dn
6.8 +scope = sub
6.9 +
6.10 +bind_dn = $ldap_service_bind_dn
6.11 +bind_pw = $ldap_service_password
6.12 +
6.13 +query_filter = (&(|(mail=%s)(alias=%s))(&(!(objectclass=inetOrgPerson))(objectclass=mailRecipient)))
6.14 +result_attribute = mail
6.15 +result_format = resources+%s
7.1 --- a/conf/postfix/local_recipient_maps.cf Sun Jan 25 21:25:00 2015 +0100
7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
7.3 @@ -1,13 +0,0 @@
7.4 -server_host = $ldap_host
7.5 -server_port = $ldap_port
7.6 -version = 3
7.7 -search_base = $ldap_base_dn
7.8 -scope = sub
7.9 -
7.10 -domain = ldap:/etc/postfix/ldap/mydestination.cf
7.11 -
7.12 -bind_dn = $ldap_service_bind_dn
7.13 -bind_pw = $ldap_service_password
7.14 -
7.15 -query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
7.16 -result_attribute = mail
8.1 --- a/conf/postfix/main.cf.example Sun Jan 25 21:25:00 2015 +0100
8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
8.3 @@ -1,3 +0,0 @@
8.4 -local_recipient_maps = ldap:/etc/postfix/ldap/local_recipient_maps.cf
8.5 -virtual_alias_maps = $alias_maps, hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap/virtual_alias_maps_resources.cf, ldap:/etc/postfix/ldap/virtual_alias_maps_people.cf
8.6 -sender_bcc_maps = ldap:/etc/postfix/ldap/virtual_alias_maps_people_outgoing.cf
9.1 --- a/conf/postfix/virtual_alias_maps_people.cf Sun Jan 25 21:25:00 2015 +0100
9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
9.3 @@ -1,14 +0,0 @@
9.4 -server_host = $ldap_host
9.5 -server_port = $ldap_port
9.6 -version = 3
9.7 -search_base = $ldap_base_dn
9.8 -scope = sub
9.9 -
9.10 -domain = ldap:/etc/postfix/ldap/mydestination.cf
9.11 -
9.12 -bind_dn = $ldap_service_bind_dn
9.13 -bind_pw = $ldap_service_password
9.14 -
9.15 -query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
9.16 -result_attribute = mail
9.17 -result_format = <people+%s>
10.1 --- a/conf/postfix/virtual_alias_maps_people_outgoing.cf Sun Jan 25 21:25:00 2015 +0100
10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
10.3 @@ -1,14 +0,0 @@
10.4 -server_host = $ldap_host
10.5 -server_port = $ldap_port
10.6 -version = 3
10.7 -search_base = $ldap_base_dn
10.8 -scope = sub
10.9 -
10.10 -domain = ldap:/etc/postfix/ldap/mydestination.cf
10.11 -
10.12 -bind_dn = $ldap_service_bind_dn
10.13 -bind_pw = $ldap_service_password
10.14 -
10.15 -query_filter = (&(|(mail=%s)(alias=%s))(objectclass=inetorgperson))
10.16 -result_attribute = mail
10.17 -result_format = people-outgoing+%s
11.1 --- a/conf/postfix/virtual_alias_maps_resources.cf Sun Jan 25 21:25:00 2015 +0100
11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
11.3 @@ -1,14 +0,0 @@
11.4 -server_host = $ldap_host
11.5 -server_port = $ldap_port
11.6 -version = 3
11.7 -search_base = $ldap_base_dn
11.8 -scope = sub
11.9 -
11.10 -domain = ldap:/etc/postfix/ldap/mydestination.cf
11.11 -
11.12 -bind_dn = $ldap_service_bind_dn
11.13 -bind_pw = $ldap_service_password
11.14 -
11.15 -query_filter = (&(|(mail=%s)(alias=%s))(&(!(objectclass=inetOrgPerson))(objectclass=mailRecipient)))
11.16 -result_attribute = mail
11.17 -result_format = <resources+%s>