better build for dyn modules
[exim.git] / test / confs / 5710
1 # Exim test configuration 5710 (dup of 5720)
2 # $tls_out_peercert - GnuTLS
3
4 SERVER=
5
6 .include DIR/aux-var/tls_conf_prefix
7
8 primary_hostname = myhost.test.ex
9 timezone = UTC
10
11 # ----- Main settings -----
12
13 acl_smtp_rcpt = accept
14
15 log_selector =  +tls_peerdn
16
17 queue_only
18 queue_run_in_order
19
20 tls_advertise_hosts = *
21
22 tls_certificate = DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.pem
23 tls_privatekey = DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.unlocked.key
24
25 tls_verify_hosts = *
26 tls_verify_certificates = DIR/aux-fixed/exim-ca/example.com/server2.example.com/ca_chain.pem
27
28 event_action = ${acl {server_cert_log}}
29
30 #
31
32 begin acl
33
34 server_cert_log:
35   accept condition = ${if eq {tls:cert}{$event_name}}
36          logwrite =  [$sender_host_address] \
37                         depth=$event_data \
38                         ${certextract{subject}{$tls_in_peercert}}
39   accept
40
41 ev_tls:
42   accept logwrite =  $event_name depth=$event_data \
43                         <${certextract {subject} {$tls_out_peercert}}>
44 #        message = noooo
45
46 ev_msg:
47   warn   logwrite =  $acl_arg1 $local_part
48   warn   logwrite =  ${if !def:tls_out_ourcert \
49                 {NO CLIENT CERT presented} \
50                 {Our cert SN: ${certextract{subject}{$tls_out_ourcert}}}}
51   accept condition = ${if !def:tls_out_peercert}
52          logwrite =  No Peer cert
53   accept logwrite = Peer cert:
54          logwrite =  ver <${certextract {version}       {$tls_out_peercert}}>
55          logwrite =  SN  <${certextract {subject}       {$tls_out_peercert}}>
56          logwrite =  SN; <${certextract {subject,>;}    {$tls_out_peercert}}>
57          logwrite =  SNCN<${certextract {subject,CN}    {$tls_out_peercert}}>
58          logwrite =  IN  <${certextract {issuer}        {$tls_out_peercert}}>
59          logwrite =  NB  <${certextract {notbefore}     {$tls_out_peercert}}>
60          logwrite =  NA  <${certextract {notafter}      {$tls_out_peercert}}>
61          logwrite =  SA  <${certextract {sig_algorithm} {$tls_out_peercert}}>
62          logwrite =  SG  <${certextract {signature}     {$tls_out_peercert}}>
63          logwrite =       ${certextract {subj_altname}  {$tls_out_peercert}{SAN <$value>}{(no SAN)}}
64 #        logwrite =       ${certextract {ocsp_uri}      {$tls_out_peercert} {OCU <$value>}{(no OCU)}}
65          logwrite =       ${certextract {crl_uri}       {$tls_out_peercert} {CRU <$value>}{(no CRU)}}
66          logwrite =
67          # output list separator changes
68          logwrite =       ${certextract {subj_altname,>:,dns}  {$tls_out_peercert}{SAN <$value>}{(no SAN)}}
69          logwrite =       ${certextract {subj_altname,dns,>:}  {$tls_out_peercert}{SAN <$value>}{(no SAN)}}
70
71 logger:
72   accept condition = ${if eq {msg} {${listextract{1}{$event_name}}}}
73          acl = ev_msg $event_name $acl_arg2
74   accept condition = ${if eq {tls} {${listextract{1}{$event_name}}}}
75          message =   ${acl {ev_tls}}
76   accept condition = ${if eq {smtp:ehlo}{$event_name}}
77          logwrite =  $tls_out_cipher smtp:ehlo $event_data
78          logwrite =  cipher_ $tls_out_cipher_std
79          logwrite =  ver:    $tls_out_ver
80   accept
81
82 # ----- Routers -----
83
84 begin routers
85
86 client:
87   driver = accept
88   condition = ${if eq {SERVER}{server}{no}{yes}}
89   retry_use_local_part
90   transport = send_to_server
91
92
93 # ----- Transports -----
94
95 begin transports
96
97 send_to_server:
98   driver = smtp
99   allow_localhost
100   hosts = 127.0.0.1
101   port = PORT_D
102   hosts_try_fastopen =  :
103
104   tls_certificate = DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.pem
105   tls_privatekey = DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.unlocked.key
106
107   tls_verify_certificates = DIR/aux-fixed/exim-ca/\
108        ${if eq {$local_part}{good}\
109 {example.com/server1.example.com/ca_chain.pem}\
110 {example.net/server1.example.net/ca_chain.pem}}
111   tls_try_verify_hosts =
112   tls_verify_cert_hostnames =
113
114   event_action =   ${acl {logger} {$event_name} {$domain} }
115
116 # ----- Retry -----
117
118
119 begin retry
120
121 * * F,5d,10s
122
123
124 # End