summaryrefslogtreecommitdiffstats
path: root/roles/mx/files/etc/postfix/virtual
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2013-12-01 23:51:28 +0100
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:51:03 +0200
commitd363522c15b1d1ce61b2780a539dd09e2e679d34 (patch)
tree6dcabada360ac52e05ec02eb2ff595626e0dc62f /roles/mx/files/etc/postfix/virtual
parent0c99d9d1600c0fe2c494f9c59ba8ea7966dcd65f (diff)
Configure the MX:es.
Diffstat (limited to 'roles/mx/files/etc/postfix/virtual')
-rw-r--r--roles/mx/files/etc/postfix/virtual/alias_catchall_maps.cf8
-rw-r--r--roles/mx/files/etc/postfix/virtual/alias_maps.cf7
-rw-r--r--roles/mx/files/etc/postfix/virtual/lists_maps.cf8
-rw-r--r--roles/mx/files/etc/postfix/virtual/mailbox_domains.cf9
-rw-r--r--roles/mx/files/etc/postfix/virtual/mailbox_maps.cf9
-rw-r--r--roles/mx/files/etc/postfix/virtual/reserved_maps.pcre5
-rw-r--r--roles/mx/files/etc/postfix/virtual/reserved_transport_maps2
-rw-r--r--roles/mx/files/etc/postfix/virtual/transport_lists_maps.cf12
8 files changed, 60 insertions, 0 deletions
diff --git a/roles/mx/files/etc/postfix/virtual/alias_catchall_maps.cf b/roles/mx/files/etc/postfix/virtual/alias_catchall_maps.cf
new file mode 100644
index 0000000..2de4667
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/alias_catchall_maps.cf
@@ -0,0 +1,8 @@
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = fvd=%d,ou=virtual,o=mailHosting,dc=fripost,dc=org
+scope = base
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(ObjectClass=FripostVirtualDomain)(fvd=%d)(fripostOptionalMaildrop=*))
+result_attribute = fripostOptionalMaildrop
diff --git a/roles/mx/files/etc/postfix/virtual/alias_maps.cf b/roles/mx/files/etc/postfix/virtual/alias_maps.cf
new file mode 100644
index 0000000..aa26e18
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/alias_maps.cf
@@ -0,0 +1,7 @@
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = fvl=%u,fvd=%d,ou=virtual,o=mailHosting,dc=fripost,dc=org
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(ObjectClass=FripostVirtualAlias)(fvl=%u))
+result_attribute = fripostMaildrop
diff --git a/roles/mx/files/etc/postfix/virtual/lists_maps.cf b/roles/mx/files/etc/postfix/virtual/lists_maps.cf
new file mode 100644
index 0000000..a4657ec
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/lists_maps.cf
@@ -0,0 +1,8 @@
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = fvl=%u,fvd=%d,ou=virtual,o=mailHosting,dc=fripost,dc=org
+scope = base
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(|(ObjectClass=FripostVirtualList)(ObjectClass=FripostVirtualListCommand))(fvl=%u)(fripostLocalAlias=%u#%d))
+result_attribute = fripostLocalAlias
diff --git a/roles/mx/files/etc/postfix/virtual/mailbox_domains.cf b/roles/mx/files/etc/postfix/virtual/mailbox_domains.cf
new file mode 100644
index 0000000..d580cb9
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/mailbox_domains.cf
@@ -0,0 +1,9 @@
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = fvd=%s,ou=virtual,o=mailHosting,dc=fripost,dc=org
+scope = base
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(ObjectClass=FripostVirtualDomain)(fvd=%s))
+result_attribute = fvd
+result_format = OK
diff --git a/roles/mx/files/etc/postfix/virtual/mailbox_maps.cf b/roles/mx/files/etc/postfix/virtual/mailbox_maps.cf
new file mode 100644
index 0000000..0f0e0e4
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/mailbox_maps.cf
@@ -0,0 +1,9 @@
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = fvl=%u,fvd=%d,ou=virtual,o=mailHosting,dc=fripost,dc=org
+scope = base
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(ObjectClass=FripostVirtualUser)(fvl=%u))
+result_attribute = fvl
+result_format = OK
diff --git a/roles/mx/files/etc/postfix/virtual/reserved_maps.pcre b/roles/mx/files/etc/postfix/virtual/reserved_maps.pcre
new file mode 100644
index 0000000..58572d1
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/reserved_maps.pcre
@@ -0,0 +1,5 @@
+# These reserved aliases will always be redirected to us and the domain
+# owner.
+# TODO: check 'postmaster+test@fripost.org'
+/^(?:postmaster|abuse)(?:\+.*)?@fripost\.org$/ admin@fripost.org
+/^((?:postmaster|abuse)(?:\+.*)?)@/ $1
diff --git a/roles/mx/files/etc/postfix/virtual/reserved_transport_maps b/roles/mx/files/etc/postfix/virtual/reserved_transport_maps
new file mode 100644
index 0000000..dce8710
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/reserved_transport_maps
@@ -0,0 +1,2 @@
+abuse reserved-alias:
+postmaster reserved-alias:
diff --git a/roles/mx/files/etc/postfix/virtual/transport_lists_maps.cf b/roles/mx/files/etc/postfix/virtual/transport_lists_maps.cf
new file mode 100644
index 0000000..3cca999
--- /dev/null
+++ b/roles/mx/files/etc/postfix/virtual/transport_lists_maps.cf
@@ -0,0 +1,12 @@
+# Despite the index on 'fripostLocalAlias' it's a bit more inefficient,
+# but more precise, than the alternative of using regexes here, and a
+# plain hash on the list managers' side.
+server_host = ldapi://%2Fprivate%2Fldapi/
+version = 3
+search_base = ou=virtual,o=mailHosting,dc=fripost,dc=org
+scope = sub
+bind = sasl
+sasl_mechs = EXTERNAL
+query_filter = (&(|(ObjectClass=FripostVirtualList)(ObjectClass=FripostVirtualListCommand))(fripostLocalAlias=%s))
+result_attribute = fripostLocalAlias
+result_format = smtp:[127.0.0.1]:2345