SECURITY: off-by-one in smtp transport (read response)
[exim.git] / test / confs / 0900
1 # Exim test configuration 0900
2 SERVER=
3 SRV=
4 LIST=
5 ALLOW=
6
7 exim_path = EXIM_PATH
8 keep_environment =
9 add_environment = SSLKEYLOGFILE=DIR/spool/sslkeys
10 host_lookup_order = bydns
11 spool_directory = DIR/spool
12 log_file_path = DIR/spool/log/SERVER%slog
13 gecos_pattern = ""
14 gecos_name = CALLER_NAME
15 chunking_advertise_hosts = *
16 tls_advertise_hosts = ${if eq {SRV}{tls} {*}}
17 .ifdef _HAVE_REQTLS
18 tls_advertise_requiretls = :
19 .endif
20 .ifdef _HAVE_PIPE_CONNECT
21 pipelining_connect_advertise_hosts = :
22 .endif
23 .ifdef _HAVE_DMARC
24 dmarc_tld_file =
25 .endif
26 .ifdef _OPT_MAIN_LIMITS_ADVERTISE_HOSTS
27 limits_advertise_hosts = !*
28 .endif
29
30 # ----- Main settings -----
31
32 primary_hostname = testhost.test.ex
33 domainlist local_domains = @ : test.ex
34
35 acl_smtp_rcpt = check_recipient
36 acl_smtp_data_prdr = check_prdr
37 acl_smtp_data = check_data
38 trusted_users = CALLER
39 queue_only
40 smtp_receive_timeout = 2s
41
42 .ifdef _HAVE_DKIM
43 log_selector = +received_recipients +millisec +dkim_verbose
44 .else
45 log_selector = +received_recipients +millisec
46 .endif
47
48 .ifdef _OPT_MAIN_TLS_CERTIFICATE
49 tls_certificate = DIR/aux-fixed/cert1
50 .endif
51
52 ALLOW
53
54 # ----- ACL -----
55
56 begin acl
57
58 check_recipient:
59   accept hosts = :
60   accept domains = +local_domains
61   deny   message = relay not permitted
62
63 check_prdr:
64   accept local_parts = good
65   deny
66
67 check_data:
68   warn   message = X-acl-message-linecount: $message_linecount
69   accept
70
71 # ----- Routers -----
72
73 begin routers
74
75 to_server:
76   driver = accept
77   condition =   ${if !eq {SERVER}{server}}
78   transport =   remote_smtp${if eq {SRV}{dkim} {_dkim}}
79   errors_to =   ""
80
81 fail_remote_domains:
82   driver = redirect
83   domains = ! +local_domains
84   data = :fail: unrouteable mail domain "$domain"
85
86 localuser:
87   driver = accept
88   check_local_user
89   transport = local_delivery
90   headers_add = X-local-user: uid=$local_user_uid gid=$local_user_gid
91
92
93 # ----- Transports -----
94
95 begin transports
96
97 local_delivery:
98   driver = appendfile
99   delivery_date_add
100   envelope_to_add
101   file = DIR/test-mail/$local_part
102   create_file = DIR/test-mail
103   headers_add = "X-body-linecount: $body_linecount\n\
104                  X-message-linecount: $message_linecount\n\
105                  X-received-count: $received_count"
106   return_path_add
107
108 remote_smtp:
109   driver = smtp
110   hosts =       127.0.0.1
111   port =        PORT_S
112   hosts_try_fastopen = :
113   tls_verify_certificates = DIR/aux-fixed/cert1
114   tls_verify_cert_hostnames =
115   allow_localhost
116   command_timeout = 2s
117   final_timeout = 2s
118
119 remote_smtp_dkim:
120   driver = smtp
121   hosts =       127.0.0.1
122   port =        PORT_S
123   hosts_try_fastopen = :
124   tls_verify_certificates = DIR/aux-fixed/cert1
125   tls_verify_cert_hostnames =
126   allow_localhost
127   command_timeout = 2s
128   final_timeout = 2s
129
130 .ifdef _HAVE_DKIM
131 .ifdef SRV
132   dkim_domain =         test.ex
133   dkim_selector =       sel
134   dkim_private_key =    DIR/aux-fixed/dkim/dkim.private
135 .ifndef HEADERS_MAXSIZE
136   dkim_sign_headers =   LIST
137 .endif
138 .endif
139 .endif
140
141 # ----- Retry -----
142
143 begin retry
144 * * F,30m,5m;
145 # End