SECURITY: Avoid integer overflow on too many recipients
[exim.git] / test / confs / 0900
index 3235f1ee7f51137f9a3ac30e4b86cd2dd75af49f..a56ec0e5cb0a5a1e5d4e995f4bf21418feb9e674 100644 (file)
@@ -1,30 +1,55 @@
 # Exim test configuration 0900
 SERVER=
-X=
-OPT=
+SRV=
+LIST=
+ALLOW=
 
 exim_path = EXIM_PATH
 keep_environment =
+add_environment = SSLKEYLOGFILE=DIR/spool/sslkeys
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/SERVER%slog
 gecos_pattern = ""
 gecos_name = CALLER_NAME
 chunking_advertise_hosts = *
-tls_advertise_hosts =
-
+tls_advertise_hosts = ${if eq {SRV}{tls} {*}}
+.ifdef _HAVE_REQTLS
+tls_advertise_requiretls = :
+.endif
+.ifdef _HAVE_PIPE_CONNECT
+pipelining_connect_advertise_hosts = :
+.endif
+.ifdef _HAVE_DMARC
+dmarc_tld_file =
+.endif
+.ifdef _OPT_MAIN_LIMITS_ADVERTISE_HOSTS
+limits_advertise_hosts = !*
+.endif
 
 # ----- Main settings -----
 
+primary_hostname = testhost.test.ex
 domainlist local_domains = @ : test.ex
 
 acl_smtp_rcpt = check_recipient
+acl_smtp_data_prdr = check_prdr
 acl_smtp_data = check_data
 trusted_users = CALLER
 queue_only
 smtp_receive_timeout = 2s
-log_selector = +received_recipients
 
+.ifdef _HAVE_DKIM
+log_selector = +received_recipients +millisec +dkim_verbose
+.else
+log_selector = +received_recipients +millisec
+.endif
+
+.ifdef _OPT_MAIN_TLS_CERTIFICATE
+tls_certificate = DIR/aux-fixed/cert1
+.endif
+
+ALLOW
 
 # ----- ACL -----
 
@@ -35,11 +60,14 @@ check_recipient:
   accept domains = +local_domains
   deny   message = relay not permitted
 
+check_prdr:
+  accept local_parts = good
+  deny
+
 check_data:
   warn   message = X-acl-message-linecount: $message_linecount
   accept
 
-
 # ----- Routers -----
 
 begin routers
@@ -47,7 +75,7 @@ begin routers
 to_server:
   driver = accept
   condition =  ${if !eq {SERVER}{server}}
-  transport =  remote_smtp${if eq {X}{dkim} {_dkim}}
+  transport =  remote_smtp${if eq {SRV}{dkim} {_dkim}}
   errors_to =  ""
 
 fail_remote_domains:
@@ -71,6 +99,7 @@ local_delivery:
   delivery_date_add
   envelope_to_add
   file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
@@ -80,6 +109,9 @@ remote_smtp:
   driver = smtp
   hosts =      127.0.0.1
   port =       PORT_S
+  hosts_try_fastopen = :
+  tls_verify_certificates = DIR/aux-fixed/cert1
+  tls_verify_cert_hostnames =
   allow_localhost
   command_timeout = 2s
   final_timeout = 2s
@@ -88,15 +120,22 @@ remote_smtp_dkim:
   driver = smtp
   hosts =      127.0.0.1
   port =       PORT_S
+  hosts_try_fastopen = :
+  tls_verify_certificates = DIR/aux-fixed/cert1
+  tls_verify_cert_hostnames =
   allow_localhost
   command_timeout = 2s
   final_timeout = 2s
 
+.ifdef _HAVE_DKIM
+.ifdef SRV
   dkim_domain =                test.ex
   dkim_selector =      sel
   dkim_private_key =   DIR/aux-fixed/dkim/dkim.private
 .ifndef HEADERS_MAXSIZE
-  dkim_sign_headers =  OPT
+  dkim_sign_headers =  LIST
+.endif
+.endif
 .endif
 
 # ----- Retry -----