chiark / gitweb /
Initial commit.
[exim-config] / vhost.m4
CommitLineData
185b5456
MW
1### -*-m4-*-
2###
3### Virtual host support for distorted.org.uk Exim configuration
4###
5### (c) 2012 Mark Wooding
6###
7
8###----- Licensing notice ---------------------------------------------------
9###
10### This program is free software; you can redistribute it and/or modify
11### it under the terms of the GNU General Public License as published by
12### the Free Software Foundation; either version 2 of the License, or
13### (at your option) any later version.
14###
15### This program is distributed in the hope that it will be useful,
16### but WITHOUT ANY WARRANTY; without even the implied warranty of
17### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18### GNU General Public License for more details.
19###
20### You should have received a copy of the GNU General Public License
21### along with this program; if not, write to the Free Software Foundation,
22### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24m4_define(<:VHOST:>,
25 <:domains = partial0-lsearch; CONF_sysconf_dir/domains.conf
26 condition = DOMKV($1):>)
27m4_define(<:VHOST_FILTER:>,
28 <:FILTER_BASE
29 VHOST(<:$1:>)
30 $2 = ${expand:DOMKV($1, {$value} fail)}:>)
31m4_define(<:VHOST_USER:>,
32 <:user = DOMKV(owner, {$value}{CONF_filter_user})
33 errors_to = DOMKV(errors_to, {$value} fail):>)
34
35###--------------------------------------------------------------------------
36### Routers and transports for virtual hosting.
37
38SECTION(routers, route)m4_dnl
39## If we're a front-end for some other domain, or we have special information
40## about the domain, then pass stuff along as instructed.
41route:
42 driver = manualroute
43 self = fail
44 VHOST(route)
45 route_data = DOMKV(route, {$value} fail)
46 same_domain_copy_routing = true
47 transport = smtp
48 no_more
49
50SECTION(routers, virtual)m4_dnl
51## Remap recipients according to the virtual host's instructions. This must
52## be done in two passes, so that we can identify the correct user's spam
53## threshold during address verification.
54virtual_verify_data:
55 VHOST_FILTER(redirect, data)
56 FILTER_VERIFY
57virtual_verify_file:
58 VHOST_FILTER(filter, file)
59 FILTER_VERIFY
60
61virtual_filter_data:
62 VHOST_FILTER(redirect, data)
63 VHOST_USER
64virtual_filter_file:
65 VHOST_FILTER(filter, file)
66 VHOST_USER
67
68DIVERT(null)
69###----- That's all, folks --------------------------------------------------