Refactor common uses of list-checking
[users/jgh/exim.git] / test / confs / 3400
1 # Exim test configuration 3400
2
3 exim_path = EXIM_PATH
4 host_lookup_order = bydns
5 primary_hostname = myhost.test.ex
6 rfc1413_query_timeout = 0s
7 spool_directory = DIR/spool
8 log_file_path = DIR/spool/log/%slog
9 gecos_pattern = ""
10 gecos_name = CALLER_NAME
11
12 # ----- Main settings -----
13
14 domainlist local_domains = test.ex : *.test.ex
15
16 hostlist auth_hosts = 10.0.0.1
17 hostlist relay_hosts = 10.0.0.4
18 hostlist auth_relay_hosts = 10.0.0.3 : 10.0.0.4
19
20 acl_smtp_connect = check_connect
21 acl_smtp_etrn = check_etrn
22 acl_smtp_expn = check_expn
23 acl_smtp_rcpt = check_recipient
24 acl_smtp_vrfy = check_vrfy
25 auth_advertise_hosts = +auth_hosts : !+relay_hosts : +auth_relay_hosts : \
26                        10.0.0.5
27 smtp_accept_max_nonmail = 20
28 system_filter = DIR/aux-fixed/TESTNUM.filter
29 trusted_users = CALLER
30
31
32 # ----- ACL -----
33
34 begin acl
35
36 check_connect:
37   warn     hosts = 10.0.0.6
38            control = allow_auth_unadvertised
39   accept
40
41 check_recipient:
42   warn     hosts = 10.0.0.5
43            message = authentication-failed: $authentication_failed
44   accept   hosts = 10.0.0.5
45   accept   hosts = :
46   deny     hosts = +auth_hosts
47            message = authentication required
48           !authenticated = *
49   accept   domains = +local_domains
50   accept   hosts = +relay_hosts
51   accept   hosts = +auth_relay_hosts
52            endpass
53            message = authentication required
54            authenticated = *
55   deny     message = relay not permitted
56
57 check_etrn:
58   deny     hosts = +auth_hosts
59            message = authentication required
60           !authenticated = *
61   require  hosts = 10.0.0.0/24
62   warn     log_message = accepted ETRN $smtp_command_argument
63   accept
64
65 check_expn:
66   deny     hosts = +auth_hosts
67            message = authentication required
68           !authenticated = *
69   accept   hosts = 10.0.0.0/24
70
71 check_vrfy:
72   deny     hosts = +auth_hosts
73            message = authentication required
74           !authenticated = *
75   accept
76
77
78 # ----- Authentication -----
79
80 begin authenticators
81
82 mylogin:
83   driver = plaintext
84   public_name = mylogin
85   server_debug_print = +++MYLOGIN \$1="$1" \$2=\"$2" \$3="$3"
86   server_condition = "\
87     ${if match{$1}{^(\\\\S+)\\\\s+(\\\\S+)\\$}\
88     {${if and {{eq{$1}{userx}}{eq{$2}{secret}}}{yes}{no}}}{no}}"
89
90 plain:
91   driver = plaintext
92   public_name = PLAIN
93   server_condition = "\
94     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
95   server_set_id = $auth2
96
97 extended_plain:
98   driver = plaintext
99   public_name = EXPLAIN
100   server_prompts = :
101   server_condition = "\
102     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
103   server_set_id = $auth2
104
105 expanded_prompt_plain:
106   driver = plaintext
107   public_name = EXPANDED
108   server_prompts = $primary_hostname
109   server_condition = "\
110     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
111   server_set_id = $auth2
112
113 expanded_prompt_plain_fail:
114   driver = plaintext
115   public_name = EXPANDFAIL
116   server_prompts = $nonexistent
117   server_condition = "\
118     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
119   server_set_id = $auth2
120
121 defer:
122   driver = plaintext
123   public_name = DEFER
124   server_condition = "account suspended"
125   server_set_id = $auth2
126
127 login:
128   driver = plaintext
129   public_name = LOGIN
130   server_prompts = "User Name : Password "
131   server_condition = "\
132     ${if and {{eq{$auth1}{userx}}{eq{$auth2}{secret}}}{yes}{no}}"
133   server_set_id = $auth1
134
135
136 # ----- Routers -----
137
138 begin routers
139
140 fail_remote_domains:
141   driver = redirect
142   domains = ! +local_domains
143   data = :fail: unrouteable mail domain "$domain"
144
145 localuser:
146   driver = accept
147   local_parts = userx
148   transport = appendfile
149
150
151 # ----- Transports -----
152
153 begin transports
154
155 appendfile:
156   driver = appendfile
157   delivery_date_add
158   envelope_to_add
159   file = DIR/test-mail/$local_part
160   return_path_add
161   user = CALLER
162
163
164 # End