manualroute as dynamic module
[exim.git] / test / confs / 5665
1 # Exim test configuration 5652
2 # OCSP stapling, server, multiple leaf-certs
3
4 .include DIR/aux-var/tls_conf_prefix
5
6 primary_hostname = server1.example.com
7
8 # ----- Main settings -----
9
10 acl_smtp_mail = check_mail
11 acl_smtp_rcpt = check_recipient
12
13 log_selector = +tls_peerdn
14
15 queue_only
16 queue_run_in_order
17
18 tls_advertise_hosts = *
19
20 CADIR = DIR/aux-fixed/exim-ca
21 DRSA = CADIR/example.com
22 DECDSA = CADIR/example_ec.com
23
24 tls_certificate = DRSA/server1.example.com/server1.example.com.pem \
25               : DECDSA/server1.example_ec.com/server1.example_ec.com.pem
26 tls_privatekey =  DRSA/server1.example.com/server1.example.com.unlocked.key \
27               : DECDSA/server1.example_ec.com/server1.example_ec.com.unlocked.key
28 tls_ocsp_file =   DRSA/server1.example.com/server1.example.com.ocsp.good.resp \
29               : DECDSA/server1.example_ec.com/server1.example_ec.com.ocsp.good.resp
30
31
32 .ifdef _HAVE_GNUTLS
33 tls_require_ciphers = NORMAL:!VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.0
34 .endif
35 .ifdef _OPT_OPENSSL_NO_TLSV1_3_X
36 openssl_options = +no_tlsv1_3
37 .endif
38
39 # ------ ACL ------
40
41 begin acl
42
43 check_mail:
44   accept   logwrite = acl_mail: ocsp in status: $tls_in_ocsp \
45     (${listextract {${eval:$tls_in_ocsp+1}} \
46                 {notreq:notresp:vfynotdone:failed:verified}})
47
48 check_recipient:
49   accept
50
51
52 # ----- Routers -----
53
54 begin routers
55
56 client:
57   driver = manualroute
58   condition = ${if !eq {SERVER}{server}}
59   route_list = * 127.0.0.1
60   self = send
61   transport = remote_delivery
62   errors_to = ""
63
64 srvr:
65   driver = accept
66   retry_use_local_part
67   transport = local_delivery
68
69
70 # ----- Transports -----
71
72 begin transports
73
74 remote_delivery:
75   driver =                      smtp
76   port =                        PORT_D
77   hosts_try_fastopen =          :
78   hosts_require_tls =           *
79 .ifdef _HAVE_GNUTLS
80   tls_require_ciphers =         NONE:\
81                                 ${if eq {SELECTOR}{auth_ecdsa} \
82                                         {+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+KX-ALL:} \
83                                         {+SIGN-RSA-SHA256:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:}}\
84                                 +CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509
85 .endif
86 .ifdef _HAVE_OPENSSL
87   tls_require_ciphers =         ${if eq {SELECTOR}{auth_ecdsa} {ECDSA:RSA:!COMPLEMENTOFDEFAULT} {RSA}}
88 .endif
89   hosts_require_ocsp =          *
90   tls_verify_certificates =     CADIR/\
91                                 ${if eq {SELECTOR}{auth_ecdsa} \
92                                         {example_ec.com/server1.example_ec.com/ca_chain.pem}\
93                                         {example.com/server1.example.com/ca_chain.pem}}
94   tls_verify_cert_hostnames =   :
95
96 local_delivery:
97   driver = appendfile
98   file = DIR/test-mail/$local_part
99   create_file = DIR/test-mail
100   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
101   user = CALLER
102
103 # End