Add $auth1, $auth2, $auth3 variables.
[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_etrn = check_etrn
21 acl_smtp_expn = check_expn
22 acl_smtp_rcpt = check_recipient
23 acl_smtp_vrfy = check_vrfy
24 auth_advertise_hosts = +auth_hosts : !+relay_hosts : +auth_relay_hosts : \
25                        10.0.0.5
26 smtp_accept_max_nonmail = 20
27 system_filter = DIR/aux-fixed/TESTNUM.filter
28 trusted_users = CALLER
29
30
31 # ----- ACL -----
32
33 begin acl
34
35 check_recipient:
36   warn     hosts = 10.0.0.5
37            message = authentication-failed: $authentication_failed
38   accept   hosts = 10.0.0.5
39   accept   hosts = :
40   deny     hosts = +auth_hosts
41            message = authentication required
42           !authenticated = *
43   accept   domains = +local_domains
44   accept   hosts = +relay_hosts
45   accept   hosts = +auth_relay_hosts
46            endpass
47            message = authentication required
48            authenticated = *
49   deny     message = relay not permitted
50
51 check_etrn:
52   deny     hosts = +auth_hosts
53            message = authentication required
54           !authenticated = *
55   require  hosts = 10.0.0.0/24
56   warn     log_message = accepted ETRN $smtp_command_argument
57   accept
58
59 check_expn:
60   deny     hosts = +auth_hosts
61            message = authentication required
62           !authenticated = *
63   accept   hosts = 10.0.0.0/24
64
65 check_vrfy:
66   deny     hosts = +auth_hosts
67            message = authentication required
68           !authenticated = *
69   accept
70
71
72 # ----- Authentication -----
73
74 begin authenticators
75
76 mylogin:
77   driver = plaintext
78   public_name = mylogin
79   server_debug_print = +++MYLOGIN \$1="$1" \$2=\"$2" \$3="$3"
80   server_condition = "\
81     ${if match{$1}{^(\\\\S+)\\\\s+(\\\\S+)\\$}\
82     {${if and {{eq{$1}{userx}}{eq{$2}{secret}}}{yes}{no}}}{no}}"
83
84 plain:
85   driver = plaintext
86   public_name = PLAIN
87   server_condition = "\
88     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
89   server_set_id = $auth2
90
91 extended_plain:
92   driver = plaintext
93   public_name = EXPLAIN
94   server_prompts = :
95   server_condition = "\
96     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
97   server_set_id = $auth2
98
99 expanded_prompt_plain:
100   driver = plaintext
101   public_name = EXPANDED
102   server_prompts = $primary_hostname
103   server_condition = "\
104     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
105   server_set_id = $auth2
106
107 expanded_prompt_plain_fail:
108   driver = plaintext
109   public_name = EXPANDFAIL
110   server_prompts = $nonexistent
111   server_condition = "\
112     ${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
113   server_set_id = $auth2
114
115 defer:
116   driver = plaintext
117   public_name = DEFER
118   server_condition = "account suspended"
119   server_set_id = $auth2
120
121 login:
122   driver = plaintext
123   public_name = LOGIN
124   server_prompts = "User Name : Password "
125   server_condition = "\
126     ${if and {{eq{$auth1}{userx}}{eq{$auth2}{secret}}}{yes}{no}}"
127   server_set_id = $auth1
128
129
130 # ----- Routers -----
131
132 begin routers
133
134 fail_remote_domains:
135   driver = redirect
136   domains = ! +local_domains
137   data = :fail: unrouteable mail domain "$domain"
138
139 localuser:
140   driver = accept
141   local_parts = userx
142   transport = appendfile
143
144
145 # ----- Transports -----
146
147 begin transports
148
149 appendfile:
150   driver = appendfile
151   delivery_date_add
152   envelope_to_add
153   file = DIR/test-mail/$local_part
154   return_path_add
155   user = CALLER
156
157
158 # End