Fix CVE-2016-1531
[exim.git] / test / confs / 0001
1 # Exim test configuration 0001
2
3 # This configuration sets every option that is not dependent on optional code
4 # in the binary, except for exim_user and exim_group, because setting them can
5 # mess up the creation of the spool directory etc.
6
7 exim_path = EXIM_PATH
8 keep_environment =
9 host_lookup_order = bydns
10 rfc1413_query_timeout = 0s
11 spool_directory = DIR/spool
12 log_file_path = DIR/spool/log/%slog
13 gecos_pattern = ""
14 gecos_name = CALLER_NAME
15
16
17 no_accept_8bitmime
18 acl_not_smtp = check_local_message
19 acl_smtp_auth = check_auth
20 acl_smtp_connect = check_connect
21 acl_smtp_data = check_message
22 acl_smtp_etrn = check_etrn
23 acl_smtp_expn = check_expn
24 acl_smtp_helo = check_helo
25 acl_smtp_mail = check_mail
26 acl_smtp_mailauth = check_mailauth
27 acl_smtp_quit = check_quit
28 acl_smtp_predata = check_predata
29 acl_smtp_rcpt = check_recipient
30 acl_smtp_vrfy = check_vrfy
31 admin_groups = 1234
32 allow_mx_to_ip
33 allow_utf8_domains
34 auth_advertise_hosts = a.a.h
35 auto_thaw = 1d
36 bi_command =
37 bounce_message_file =
38 bounce_message_text =
39 bounce_return_body = false
40 no_bounce_return_message
41 return_size_limit = 12K
42 bounce_return_size_limit = 10K
43 callout_domain_negative_expire = 1h
44 callout_domain_positive_expire = 1d
45 callout_negative_expire = 5h
46 callout_positive_expire = 1w
47 callout_random_local_part = xxx\
48                             xx
49 check_log_inodes = 0
50 check_log_space = 0
51 check_spool_inodes = 0
52 check_spool_space = 0
53 daemon_smtp_port =
54 daemon_smtp_ports =
55 daemon_startup_retries = 3
56 daemon_startup_sleep = 8s
57 delay_warning = 1d
58 delay_warning_condition = ${if match{$h_precedence:}{(?i)bulk|list}{no}{yes}}
59 deliver_drop_privilege
60 deliver_queue_load_max = 6.2
61 delivery_date_remove
62 dns_again_means_nonexist = *.esri.com:jeni.com
63 dns_check_names_pattern = ^.*$
64 dns_ipv4_lookup = *
65 dns_retrans = 0s
66 dns_retry = 0
67 drop_cr
68 envelope_to_remove
69 errors_copy =
70 errors_reply_to = postmaster@cam.ac.uk
71 extra_local_interfaces = 1.2.3.4
72 no_extract_addresses_remove_arguments
73 finduser_retries = 0
74 allow_domain_literals
75 freeze_tell = postmaster
76 headers_charset = UTF-8
77 header_maxsize = 2M
78 header_line_maxsize = 2K
79 helo_accept_junk_hosts =
80 helo_allow_chars = _
81 helo_lookup_domains =
82 helo_verify_hosts = localhost
83 helo_try_verify_hosts = 1.2.3.4
84 hold_domains =
85 host_lookup = a.b.c.d
86 host_reject_connection = 10.9.8.7
87 hosts_connection_nolog = 127.0.0.1
88 hosts_treat_as_local =
89 ignore_bounce_errors_after = 2m
90 ignore_fromline_hosts = a.b.c.d
91 ignore_fromline_local
92 keep_malformed = 4d
93 no_local_from_check
94 local_from_prefix = *-
95 local_from_suffix = =*
96 local_interfaces =
97 local_scan_timeout = 10s
98 local_sender_retain
99 localhost_number = "3 "
100 log_selector =  \
101               +address_rewrite \
102               -all \
103               +all_parents \
104               +arguments \
105               -connection_reject \
106               -delay_delivery \
107               +incoming_interface \
108               +incoming_port \
109               +lost_incoming_connection \
110               -queue_run \
111               +received_recipients \
112               +received_sender \
113               -retry_defer \
114               +return_path_on_delivery \
115               +sender_on_delivery \
116               +size_reject \
117               -skip_delivery \
118               +smtp_confirmation \
119               +smtp_connection \
120               +smtp_syntax_error \
121               +subject \
122               +tls_cipher \
123               +tls_peerdn
124 log_timezone
125 lookup_open_max = 16
126 max_username_length = 8
127 message_body_visible = 500
128 message_id_header_domain = a.b.c
129 message_id_header_text = x.y.z
130 no_message_logs
131 message_size_limit = 500K
132 mua_wrapper
133 never_users = root:0
134 percent_hack_domains =
135 pipelining_advertise_hosts = *.b.c
136 pid_file_path = /some/thing
137 no_preserve_message_logs
138 primary_hostname = some.host.name
139 no_print_topbitchars
140 process_log_path = /a/b/c/d
141 prod_requires_admin
142 qualify_domain = some.dom.ain
143 qualify_recipient = some.dom.ain
144 queue_domains = a.b.c
145 queue_list_requires_admin
146 no_queue_only
147 no_queue_only_override
148 queue_only_file = /var/spool/exim/queue_only
149 queue_only_load = 8.2
150 no_queue_run_in_order
151 queue_run_max = 5
152 queue_smtp_domains = x.y.z
153 receive_timeout = 0s
154 received_header_text = Received: ${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}{${if def:sender_ident {from ${sender_ident} }}${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}by ${primary_hostname} ${if def:received_protocol {with ${received_protocol}}} (Exim ${version_number} #${compile_number})\n\tid ${message_id}${if def:received_for {\n\tfor $received_for}}
155 received_headers_max = 30
156 recipient_unqualified_hosts = localhost:some.host.name
157 recipients_max = 0
158 no_recipients_max_reject
159 remote_max_parallel = 1
160 remote_sort_domains =
161 retry_data_expire = 24h
162 retry_interval_max = 3d
163 return_path_remove
164 rfc1413_hosts =
165 sender_unqualified_hosts = localhost:some.host.name
166 smtp_accept_keepalive
167 smtp_accept_max = 20
168 smtp_accept_max_nonmail = 40
169 smtp_accept_max_nonmail_hosts = !       *.b.c
170 smtp_accept_max_per_connection = 20
171 smtp_accept_max_per_host = 4
172 smtp_accept_queue = 0
173 smtp_accept_queue_per_connection = 10
174 smtp_active_hostname = x.y.z
175 no_smtp_enforce_sync
176 smtp_max_synprot_errors = 11
177 smtp_max_unknown_commands = 10
178 smtp_ratelimit_hosts = *
179 smtp_ratelimit_mail = 1, 1s, 2, 10s
180 smtp_ratelimit_rcpt = 10, 2s, 5, 5m
181 smtp_accept_reserve = 0
182 smtp_banner = ${primary_hostname} ESMTP Exim ${version_number} #${compile_number} ${tod_full}
183 smtp_check_spool_space
184 smtp_connect_backlog = 5
185 smtp_etrn_command =
186 smtp_etrn_serialize
187 smtp_load_reserve = 2
188 smtp_receive_timeout = 1m
189 smtp_reserve_hosts =
190 smtp_return_error_details
191 no_split_spool_directory
192 no_strip_excess_angle_brackets
193 no_strip_trailing_dot
194 no_syslog_duplication
195 syslog_facility = uucp
196 syslog_processname = mta-exim
197 no_syslog_timestamp
198 system_filter = /home/exim/test/filter
199 system_filter_directory_transport =
200 system_filter_file_transport =
201 system_filter_group = mail
202 system_filter_pipe_transport =
203 system_filter_reply_transport =
204 system_filter_user = 99
205 tcp_nodelay = false
206 timeout_frozen_after = 7d
207 timezone = EDT
208 trusted_groups = 42
209 trusted_users = ${readfile{DIR/aux-fixed/TESTNUM.trusted}{:}}
210 unknown_login = unknownlogin
211 unknown_username = Exim Testing
212 untrusted_set_sender = *
213 uucp_from_pattern = ^From\s+(\S+)\s+(?:[a-zA-Z]{3},?\s+)?(?:[a-zA-Z]{3}\s+\d?\d|\d?\d\s+[a-zA-Z]{3}\s+\d\d(?:\d\d)?)\s+\d\d?:\d\d?
214 uucp_from_sender = $1
215 warn_message_file = /home/exim/test/warnmsg_file
216 write_rejectlog = false
217
218
219 # ----- Routers -----
220
221 begin routers
222
223 # The manualroute router
224
225 manualroute:
226   driver = manualroute
227   address_data = domainlist address data
228   cannot_route_message = can't route this address
229   caseful_local_part
230   condition =
231   debug_print =
232   disable_logging
233   domains =
234   errors_to =
235   no_fail_verify_recipient
236   no_fail_verify_sender
237   fallback_hosts = localhost
238   group = mail
239   headers_add =
240   headers_remove =
241   host_find_failed = freeze
242   hosts_randomize
243   no_initgroups
244   local_parts =
245   more
246   no_pass_on_timeout
247   pass_router = manualroute2
248   redirect_router = manualroute2
249   require_files =
250   route_data = ${lookup{$local_part}lsearch{/}}
251   router_home_directory = /usr
252   self = freeze
253   senders =
254   transport = smtp
255   no_unseen
256   user = root
257   no_verify_only
258   verify_recipient
259   verify_sender
260
261 # Manualroute2 router, for mutually exclusive options
262
263 manualroute2:
264   driver = manualroute
265   domains = ! +local_domains
266   route_list = ^fax(\.cl(\.cam(\.ac\.uk)?)?)?$ cl.cam.ac.uk; \
267                *.uucp  britain.eu.net
268
269 # The redirect router, in "alias" mode
270
271 alias:
272   driver = redirect
273   address_data = aliasfile address data
274   allow_fail
275   allow_freeze
276   caseful_local_part
277   no_check_ancestor
278   condition =
279   data = ${lookup{$local_part}lsearch{/etc/aliases}}
280   debug_print =
281   directory_transport = dummy
282   domains =
283   errors_to =
284   expn
285   no_fail_verify_recipient
286   no_fail_verify_sender
287   fallback_hosts =
288   file_transport = dummy
289   forbid_blackhole
290   no_forbid_file
291   forbid_include
292   no_forbid_pipe
293   group = 100
294   headers_add =
295   headers_remove =
296   hide_child_in_errmsg
297   include_directory = /i/n/c
298   no_initgroups
299   local_part_prefix =
300   no_local_part_prefix_optional
301   local_part_suffix =
302   no_local_part_suffix_optional
303   local_parts =
304   more
305   no_one_time
306   pipe_transport = dummy
307   no_qualify_preserve_domain
308   no_repeat_use
309   qualify_domain = xxxx
310   redirect_router = aliasfile2
311   require_files =
312   retry_use_local_part
313   no_rewrite
314   senders =
315   sieve_vacation_directory = /thing/thong
316   sieve_subaddress = rhubarb
317   sieve_useraddress = custard
318   no_skip_syntax_errors
319   syntax_errors_to =
320   transport_current_directory =
321   transport_home_directory =
322   no_unseen
323   user = 100
324   no_verify_only
325   verify_recipient
326   verify_sender
327
328 # Aliasfile2 for mutually exclusive options
329
330 aliasfile2:
331   driver = redirect
332   allow_defer
333   caseful_local_part
334   check_group
335   check_owner
336   file = /some/file
337   retry_use_local_part
338
339 # The redirect router in "forward" mode
340
341 forward:
342   driver = redirect
343   allow_filter
344   forbid_exim_filter
345   forbid_sieve_filter
346   caseful_local_part
347   check_ancestor
348   check_local_user
349   condition =
350   debug_print =
351   directory_transport = dummy
352   domains =
353   errors_to =
354   expn
355   no_fail_verify_recipient
356   no_fail_verify_sender
357   fallback_hosts =
358   file = //.forward2
359   file_transport = dummy
360   no_forbid_file
361   forbid_blackhole
362   forbid_filter_existstest
363   no_forbid_filter_logwrite
364   forbid_filter_dlfunc
365   forbid_filter_lookup
366   forbid_filter_readfile
367   forbid_filter_readsocket
368   forbid_filter_reply
369   forbid_filter_run
370   no_forbid_include
371   no_forbid_pipe
372   group = mail
373   headers_add =
374   headers_remove =
375   hide_child_in_errmsg
376   no_ignore_eacces
377   no_ignore_enotdir
378   no_initgroups
379   local_part_prefix = xxx-
380   local_part_prefix_optional
381   local_part_suffix =
382   no_local_part_suffix_optional
383   local_parts =
384   modemask = 022
385   more
386   no_one_time
387   owners = root
388   owngroups = mail
389   pipe_transport = dummy
390   no_qualify_preserve_domain
391   redirect_router = aliasfile2
392   reply_transport = dummy
393   require_files =
394   rewrite
395   senders =
396   no_skip_syntax_errors
397   syntax_errors_text = rhubarb
398   syntax_errors_to =
399   transport_current_directory =
400   transport_home_directory =
401   no_unseen
402   user = root
403   no_verify_only
404   no_verify_recipient
405   no_verify_sender
406
407 # The accept router
408
409 localuser:
410   driver = accept
411   no_address_test
412   caseful_local_part
413   check_local_user
414   condition =
415   debug_print =
416   domains =
417   errors_to =
418   expn
419   no_fail_verify_recipient
420   no_fail_verify_sender
421   fallback_hosts =
422   group = mail
423   headers_add = X-added: by localuser
424   headers_remove =
425   no_initgroups
426   local_part_prefix =
427   no_local_part_prefix_optional
428   local_part_suffix =
429   no_local_part_suffix_optional
430   local_parts =
431   no_log_as_local
432   more
433   redirect_router = smartuser
434   require_files =
435   senders =
436   transport = ${if eq{$local_part}{caller}{local_mbx_delivery}{local_delivery}}
437   transport_current_directory =
438   transport_home_directory =
439   no_unseen
440   user = 99
441   no_verify_only
442   verify_recipient
443   verify_sender
444
445 # The redirect router in "smartuser" mode
446
447 smartuser:
448   driver = redirect
449   caseful_local_part
450   condition =
451   data = user@domain
452   debug_print =
453   domains =
454   errors_to =
455   expn
456   no_fail_verify_recipient
457   no_fail_verify_sender
458   fallback_hosts =
459   file_transport = dummy
460   forbid_file
461   forbid_pipe
462   group = mail
463   headers_add =
464   headers_remove =
465   hide_child_in_errmsg
466   no_initgroups
467   local_part_prefix =
468   no_local_part_prefix_optional
469   local_part_suffix =
470   no_local_part_suffix_optional
471   local_parts = abcd
472   log_as_local
473   more
474   pipe_transport = dummy
475   qualify_preserve_domain
476   redirect_router = localuser
477   require_files =
478   retry_use_local_part
479   no_rewrite
480   senders =
481   no_unseen
482   user = root
483   no_verify_only
484   verify_recipient
485   verify_sender
486
487
488 # ----- Transports -----
489
490 # Dummy transport, to refer back to
491
492 begin transports
493
494 dummy:
495   driver = pipe
496   disable_logging
497
498 # Appendfile Transport
499
500 appendfile:
501   driver = appendfile
502   allow_fifo
503   no_allow_symlink
504   batch_max = 100
505   batch_id = rhubarb
506   body_only
507   no_check_group
508   no_check_owner
509   check_string = abcd
510   create_directory
511   create_file = anywhere
512   current_directory =
513   debug_print =
514   delivery_date_add
515   directory_mode = 0700
516   envelope_to_add
517   escape_string = xyz
518   file = /home/$local_part/inbox
519   file_format = "From : appendfile"
520   no_file_must_exist
521   group = mail
522   headers_add = X-original-domain: $original_domain\nX-original-localp: $original_local_part
523   headers_remove =
524   headers_rewrite = a@b c@d
525   lock_fcntl_timeout = 10s
526   lock_interval = 3s
527   lock_retries = 10
528   lockfile_mode = 0600
529   lockfile_timeout = 30m
530   mailbox_size = 1000
531   mailbox_filecount = 9999
532   message_size_limit = 1M
533   mode = 0600
534   mode_fail_narrower
535   no_notify_comsat
536   message_prefix = From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
537   quota =
538   no_quota_is_inclusive
539   quota_size_regex = (\d+)$
540   quota_warn_message = "A warning message"
541   quota_warn_threshold =
542   rcpt_include_affixes
543   retry_use_local_part
544   return_path = xxxx
545   return_path_add
546   shadow_condition = $h_return-receipt-to
547   shadow_transport = dummy
548   message_suffix = \n
549   transport_filter =
550   transport_filter_timeout = 10s
551   no_use_crlf
552   use_fcntl_lock
553   use_lockfile
554   user = root
555
556 # For options that are mutually exclusive with those above
557
558 appendfile2:
559   driver = appendfile
560   directory = /etc
561   directory_file = afilename
562   quota_directory = /some/directory
563   quota = 1M
564   quota_filecount = 10
565   use_bsmtp
566
567 # Ditto
568
569 appendfile4:
570   driver = appendfile
571   directory = /etc
572
573 # Smtp transport
574
575 smtp:
576   driver = smtp
577   authenticated_sender = abcde
578   authenticated_sender_force = true
579   no_allow_localhost
580   command_timeout = 5m
581   connect_timeout = 0s
582   connection_max_messages = 0
583   data_timeout = 5m
584   debug_print =
585   delay_after_cutoff
586   no_delivery_date_add
587   dns_qualify_single
588   no_dns_search_parents
589   no_envelope_to_add
590   fallback_hosts = localhost
591   final_timeout = 10m
592   no_gethostbyname
593   headers_add =
594   headers_remove =
595   helo_data = some.text
596   hosts = localhost
597   hosts_avoid_esmtp = x.y.z
598   hosts_max_try = 10
599   hosts_max_try_hardlimit = 20
600   hosts_override
601   hosts_randomize
602   hosts_require_auth = *
603   hosts_try_auth = *
604   interface = 127.0.0.1
605   max_rcpt = 0
606   multi_domain
607   port = 25
608   retry_include_ip_address
609   no_return_path_add
610   serialize_hosts =
611   size_addition = -1
612   transport_filter =
613
614 # End