chiark / gitweb /
exchange.m4, lists.m4: Standard routing for `service=no' domains.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 2 Apr 2015 01:35:19 +0000 (02:35 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 2 Apr 2015 01:35:19 +0000 (02:35 +0100)
Domains listed in `domains.conf' with `service = false' or similar get
the standard routing arrangements, and aren't subject to virtual-host
processing.

exchange.m4
lists.m4

index 1e82249b49f490751d6dd90eb9ec90661e4a6f39..cfdcf9ad78b00c33ad6b9a658e61bdafe1c30377 100644 (file)
@@ -70,7 +70,12 @@ SECTION(routers, remote)m4_dnl
 ## Send mail on to a host in our own network.  We must apply extra security.
 local:
        driver = dnslookup
-       domains = ! +known : CONF_master_domain : *.CONF_master_domain
+       domains = ${if bool {${LOOKUP_DOMAIN($domain,
+                              {KV(service, {$value}{true})},
+                              {false})}} \
+                      {}{ ! +public : \
+                          CONF_master_domain : \
+                          *.CONF_master_domain }}
        self = fail
        transport = smtp_local
        no_more
@@ -78,7 +83,10 @@ local:
 ## Send mail on to unknown hosts.
 remote:
        driver = dnslookup
-       domains = ! +known
+       domains = ${if bool {${LOOKUP_DOMAIN($domain,
+                              {KV(service, {$value}{true})},
+                              {false})}} \
+                      {}{ ! +public }}
        self = fail
        transport = smtp
        no_more
index 58cb9486196561f0736b2b33b5703027defdb44f..42427af70fe5e92417d531ad828dff554acbb4b1 100644 (file)
--- a/lists.m4
+++ b/lists.m4
@@ -44,10 +44,6 @@ domainlist thishost = @ : @[] : \
                           stratocaster=strat }}} \
              {$item.$qualify_domain}}
 domainlist public = +thishost : CONF_sysdomains
-domainlist known = +public : \
-       ${if exists{CONF_sysconf_dir/domains.conf} \
-            {partial0-lsearch; CONF_sysconf_dir/domains.conf} \
-            {}}
 
 ## Some magic lists used because `match_local_parts' and friends don't expand
 ## their right-hand sides.