summaryrefslogtreecommitdiff
path: root/test/confs/3720
blob: e82c57f03a484c68d2b0cc7699e94fd21a318f32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Exim test configuration 3720

SERVER=

.include DIR/aux-var/tls_conf_prefix

primary_hostname = myhost.test.ex
log_selector = +received_recipients +outgoing_port

# ----- Main settings -----

acl_smtp_auth = log_call
acl_smtp_mail = check_authd
acl_smtp_rcpt = check_authd
acl_smtp_data = ar_header

queue_only
queue_run_in_order
trusted_users = CALLER

tls_advertise_hosts = *
tls_certificate = DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.pem
tls_privatekey =  DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.unlocked.key

tls_verify_hosts = *
tls_verify_certificates = DIR/aux-fixed/exim-ca/example.org/server2.example.org/ca_chain.pem


# ----- ACL -----

begin acl

log_call:
  accept   logwrite = Auth ACL called, after smtp cmd "$smtp_command"

check_authd:
  deny     message = authentication required
          !authenticated = *
  accept

ar_header:
  accept  add_header = :at_start:${authresults {$primary_hostname}}

# ----- Authentication -----

begin authenticators

ext_ccert_cn:
  driver =		external
  public_name =		EXTERNAL

  server_advertise_condition = ${if eq{$tls_in_cipher}{}{no}{yes}}
  server_param2 =	${certextract {subject,CN} {$tls_in_peercert}}
  server_condition =	${if eq {$auth2}{$auth1}}
  server_set_id =	$auth1
  server_debug_print =	+++TLS \$auth1="$auth1"

  client_send =		"server2.example.org"


# ----- Routers -----

begin routers

server_r:
  driver =	accept
  condition =	${if eq {server}{SERVER}}
  transport =	file

client_r1:
  driver =	accept
  transport =	t1


# ----- Transports -----

begin transports

t1:
  driver = smtp
  hosts = 127.0.0.1
  port = PORT_D
  hosts_try_fastopen =	:
  allow_localhost
  tls_certificate =		DIR/aux-fixed/exim-ca/example.org/server2.example.org/server2.example.org.pem
  tls_privatekey =		DIR/aux-fixed/exim-ca/example.org/server2.example.org/server2.example.org.unlocked.key

  tls_verify_certificates =	DIR/aux-fixed/exim-ca/example.com/server1.example.com/ca_chain.pem
  tls_verify_cert_hostnames =	:
  hosts_try_auth =		*

file:
  driver = appendfile
  file = DIR/test-mail/$local_part
  create_file = DIR/test-mail
  user = CALLER

# End