ACL: Permit the "encrypted" condition to be used in a HELO/EHLO ACL
[exim.git] / test / confs / 5894
1 # Exim test configuration 5894
2
3 SERVER =
4
5 .include DIR/aux-var/tls_conf_prefix
6
7 primary_hostname = myhost.test.ex
8
9 # ----- Main settings -----
10
11 domainlist local_domains = test.ex : *.test.ex
12
13 acl_smtp_helo = check_helo
14 acl_smtp_rcpt = check_recipient
15 log_selector = +received_recipients +tls_resumption +tls_peerdn
16
17 openssl_options = +no_sslv2 +no_sslv3 +single_dh_use
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_resumption_hosts = 127.0.0.1
28
29
30 # ------ ACL ------
31
32 begin acl
33
34 check_helo:
35   accept  condition =   ${if def:tls_in_cipher}
36           logwrite =    tls_in_resumption\t${listextract {$tls_in_resumption} {_RESUME_DECODE}}
37           logwrite =    our cert subject\t${certextract {subject}{$tls_in_ourcert}}
38           logwrite =    peer cert subject\t${certextract {subject}{$tls_in_peercert}}
39           logwrite =    peer cert verified\t${tls_in_certificate_verified}
40           logwrite =    peer dn\t${tls_in_peerdn}
41           logwrite =    cipher\t${tls_in_cipher}
42           logwrite =    bits\t${tls_in_bits}
43   accept
44
45 check_recipient:
46   accept  domains =     +local_domains
47   deny    message =     relay not permitted
48
49 log_resumption:
50   accept condition =    ${if def:tls_out_cipher}
51          condition =    ${if eq {$event_name}{tcp:close}}
52          logwrite =     tls_out_resumption ${listextract {$tls_out_resumption} {_RESUME_DECODE}}
53           logwrite =    our cert subject\t${certextract {subject}{$tls_out_ourcert}}
54           logwrite =    peer cert subject\t${certextract {subject}{$tls_out_peercert}}
55           logwrite =    peer cert verified\t${tls_out_certificate_verified}
56           logwrite =    peer dn\t${tls_out_peerdn}
57           logwrite =    cipher\t${tls_out_cipher}
58           logwrite =    bits\t${tls_out_bits}
59
60
61 # ----- Routers -----
62
63 begin routers
64
65 client:
66   driver =      accept
67   condition =   ${if eq {SERVER}{server}{no}{yes}}
68   transport =   send_to_server${if eq{$local_part}{abcd}{2}{1}}
69
70 server:
71   driver = redirect
72   data = :blackhole:
73
74 # ----- Transports -----
75
76 begin transports
77
78 send_to_server1:
79   driver =                      smtp
80   allow_localhost
81   hosts =                       127.0.0.1
82   port =                        PORT_D
83   helo_data =                   helo.data.changed
84 .ifdef VALUE
85   tls_resumption_hosts =        *
86 .else
87   tls_resumption_hosts =        :
88 .endif
89   tls_verify_certificates =     CDIR/CA/CA.pem
90   tls_verify_cert_hostnames =   ${if match {$local_part}{^noverify} {*}{:}}
91   tls_try_verify_hosts =        *
92   event_action =                ${acl {log_resumption}}
93
94 send_to_server2:
95   driver = smtp
96   allow_localhost
97   hosts = HOSTIPV4
98   port = PORT_D
99   hosts_try_fastopen =  :
100   tls_verify_certificates =     CDIR/CA/CA.pem
101   tls_verify_cert_hostnames =   :
102   event_action =                ${acl {log_resumption}}
103
104
105 # ----- Retry -----
106
107
108 begin retry
109
110 * * F,5d,10s
111
112
113 # End