SECURITY: Leave a clean smtp_out input buffer even in case of read error
[exim.git] / test / confs / 5890
1 # Exim test configuration 5890
2
3 SERVER =
4 OPTION = NORMAL
5
6 .include DIR/aux-var/tls_conf_prefix
7
8 primary_hostname = myhost.test.ex
9
10 # ----- Main settings -----
11
12 domainlist local_domains = test.ex : *.test.ex
13
14 acl_smtp_helo = check_helo
15 acl_smtp_rcpt = check_recipient
16 log_selector = +received_recipients +tls_resumption +tls_peerdn
17
18 tls_advertise_hosts = *
19
20 # Set certificate only if server
21
22 CDIR=DIR/aux-fixed/exim-ca/example.com
23
24 tls_certificate = CDIR/server1.example.com/server1.example.com.chain.pem
25 tls_privatekey =  CDIR/server1.example.com/server1.example.com.unlocked.key
26
27 tls_require_ciphers = OPTION
28 tls_resumption_hosts = 127.0.0.1
29
30
31 # ------ ACL ------
32
33 begin acl
34
35 check_helo:
36   accept  condition =   ${if def:tls_in_cipher}
37           logwrite =    tls_in_resumption\t${listextract {$tls_in_resumption} {_RESUME_DECODE}}
38           logwrite =    our cert subject\t${certextract {subject}{$tls_in_ourcert}}
39           logwrite =    peer cert subject\t${certextract {subject}{$tls_in_peercert}}
40           logwrite =    peer cert verified\t${tls_in_certificate_verified}
41           logwrite =    peer dn\t${tls_in_peerdn}
42           logwrite =    cipher\t${tls_in_cipher}
43           logwrite =    bits\t${tls_in_bits}
44   accept
45
46 check_recipient:
47   accept  domains =     +local_domains
48   deny    message =     relay not permitted
49
50 log_resumption:
51   accept condition =    ${if def:tls_out_cipher}
52          condition =    ${if eq {$event_name}{tcp:close}}
53          logwrite =     tls_out_resumption ${listextract {$tls_out_resumption} {_RESUME_DECODE}}
54           logwrite =    our cert subject\t${certextract {subject}{$tls_out_ourcert}}
55           logwrite =    peer cert subject\t${certextract {subject}{$tls_out_peercert}}
56           logwrite =    peer cert verified\t${tls_out_certificate_verified}
57           logwrite =    peer dn\t${tls_out_peerdn}
58           logwrite =    cipher\t${tls_out_cipher}
59           logwrite =    bits\t${tls_out_bits}
60
61
62 # ----- Routers -----
63
64 begin routers
65
66 client:
67   driver =      accept
68   condition =   ${if eq {SERVER}{server}{no}{yes}}
69   transport =   send_to_server${if eq{$local_part}{abcd}{2}{1}}
70
71 server:
72   driver = redirect
73   data = :blackhole:
74
75 # ----- Transports -----
76
77 begin transports
78
79 send_to_server1:
80   driver =                      smtp
81   allow_localhost
82   hosts =                       127.0.0.1
83   port =                        PORT_D
84   helo_data =                   helo.data.changed
85 .ifdef VALUE
86   tls_resumption_hosts =        *
87 .else
88   tls_resumption_hosts =        :
89 .endif
90   tls_verify_certificates =     CDIR/CA/CA.pem
91   tls_verify_cert_hostnames =   ${if match {$local_part}{^noverify} {*}{:}}
92   tls_try_verify_hosts =        *
93   event_action =                ${acl {log_resumption}}
94
95 send_to_server2:
96   driver = smtp
97   allow_localhost
98   hosts = HOSTIPV4
99   port = PORT_D
100   hosts_try_fastopen =  :
101   tls_verify_certificates =     CDIR/CA/CA.pem
102   tls_verify_cert_hostnames =   :
103   event_action =                ${acl {log_resumption}}
104
105
106 # ----- Retry -----
107
108
109 begin retry
110
111 * * F,5d,10s
112
113
114 # End