From: Jeremy Harris Date: Sat, 28 Oct 2017 20:33:24 +0000 (+0100) Subject: Merge branch 'master' into 4.next X-Git-Tag: exim-4_91_RC1~148^2~36 X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/c5db348c5e29e93e51389fa0079f829967c5da82?hp=1e0f06b3cfeb3c2453323453555d827c81456e1e Merge branch 'master' into 4.next --- diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 4a8e1d06e..a9a048ecb 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -9967,7 +9967,7 @@ a regular expression, and a substitution string. For example: ${sg{abcdefabcdef}{abc}{xyz}} .endd yields &"xyzdefxyzdef"&. Because all three arguments are expanded before use, -if any $ or \ characters are required in the regular expression or in the +if any $, } or \ characters are required in the regular expression or in the substitution string, they have to be escaped. For example: .code ${sg{abcdef}{^(...)(...)\$}{\$2\$1}} @@ -10118,7 +10118,15 @@ character. For example: .code ${addresses:>& Chief , sec@base.ment (dogsbody)} .endd -expands to &`ceo@up.stairs&&sec@base.ment`&. Compare the &*address*& (singular) +expands to &`ceo@up.stairs&&sec@base.ment`&. The string is expanded +first, so if the expanded string starts with >, it may change the output +separator unintentionally. This can be avoided by setting the output +separator explicitly: +.code +${addresses:>:$h_from:} +.endd + +Compare the &*address*& (singular) expansion item, which extracts the working address from a single RFC2822 address. See the &*filter*&, &*map*&, and &*reduce*& items for ways of processing lists. @@ -23798,7 +23806,7 @@ of the message. Its value must not be zero. See also &%final_timeout%&. .option dkim_private_key smtp string&!! unset .option dkim_canon smtp string&!! unset .option dkim_strict smtp string&!! unset -.option dkim_sign_headers smtp string&!! unset +.option dkim_sign_headers smtp string&!! "per RFC" .option dkim_hash smtp string&!! sha256 .option dkim_identity smtp string&!! unset DKIM signing options. For details see section &<>&. @@ -24139,7 +24147,7 @@ This option provides a list of servers to which, provided they announce CHUNKING support, Exim will attempt to use BDAT commands rather than DATA. BDAT will not be used in conjunction with a transport filter. -.option hosts_try_fastopen smtp "host list!!" unset +.option hosts_try_fastopen smtp "host list&!!" unset .cindex "fast open, TCP" "enabling, in client" .cindex "TCP Fast Open" "enabling, in client" .cindex "RFC 7413" "TCP Fast Open" @@ -24155,6 +24163,9 @@ as the initiator must present a cookie in the SYN segment. On (at least some) current Linux distributions the facility must be enabled in the kernel by the sysadmin before the support is usable. +There is no option for control of the server side; if the system supports +it it is always enebled. Note that legthy operations in the connect ACL, +such as DNSBL lookups, will still delay the emission of the SMTP banner. .option hosts_try_prdr smtp "host list&!!" * .cindex "PRDR" "enabling, optional in client" @@ -38580,11 +38591,17 @@ either "1" or "true", Exim will defer. Otherwise Exim will send the message unsigned. You can use the &%$dkim_domain%& and &%$dkim_selector%& expansion variables here. -.option dkim_sign_headers smtp string&!! unset -If set, this option must expand to (or be specified as) a colon-separated -list of header names. Headers with these names will be included in the message -signature. -When unspecified, the header names recommended in RFC4871 will be used. +.option dkim_sign_headers smtp string&!! "see below" +If set, this option must expand to a colon-separated +list of header names. +.new +Headers with these names, or the absence or such a header, will be included +in the message signature. +When unspecified, the header names listed in RFC4871 will be used, +whether or not each header is present in the message. +The default list is available for the expansion in the macro +"_DKIM_SIGN_HEADERS". +.wen .section "Verifying DKIM signatures in incoming mail" "SECID514" diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 8f1b6b7ad..4b3d64e0c 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -166,6 +166,22 @@ HS/02 Fix Bug 2130: large writes from the transport subprocess where chunked JH/27 Fix SOCKS bug: an unitialized pointer was deref'd by the transport process which could crash as a result. This could lead to undeliverable messages. +JH/28 Logging: "next input sent too soon" now shows where input was truncated + for log purposes. + +JH/29 Fix queue_run_in_order to ignore the PID portion of the message ID. This + matters on fast-turnover and PID-randomising systems, which were getting + out-of-order delivery. + +JH/30 Fix a logging bug on aarch64: an unsafe routine was previously used for + a possibly-overlapping copy. The symptom was that "Remote host closed + connection in response to HELO" was logged instead of the actual 4xx + error for the HELO. + +JH/31 Fix CHUNKING code to properly flush the unwanted chunk after an error. + Previously only that bufferd was discarded, resulting in SYMTP command + desynchronisation. + Exim version 4.89 ----------------- diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index 39fce1eab..6d875d5f4 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -53,6 +53,7 @@ Version 4.90 13. DKIM support for multiple signing, by domain and/or key-selector. DKIM support for multiple hashes, and for alternate-identity tags. + Builtin macro with default list of signed headers. 14. Exipick understands -C|--config for an alternative Exim configuration file. diff --git a/src/Makefile b/src/Makefile index b262a7b53..958306292 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2,7 +2,7 @@ # appropriate links, and then creating and running the main makefile in that # directory. -# Copyright (c) University of Cambridge, 1995 - 2015 +# Copyright (c) University of Cambridge, 1995 - 2017 # See the file NOTICE for conditions of use and distribution. # IRIX make uses the shell that is in the SHELL variable, which often defaults diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base index 67ac082ba..d64ed549f 100644 --- a/src/OS/Makefile-Base +++ b/src/OS/Makefile-Base @@ -5,7 +5,7 @@ # optional, Local/* files at the front of this file, to create Makefile in the # build directory. # -# Copyright (c) The Exim Maintainers 2016 +# Copyright (c) The Exim Maintainers 2017 SHELL = $(MAKE_SHELL) SCRIPTS = ../scripts @@ -135,6 +135,7 @@ OBJ_MACRO = macro_predef.o \ macro-manualroute.o macro-queryprogram.o macro-redirect.o \ macro-auth-spa.o macro-cram_md5.o macro-cyrus_sasl.o macro-dovecot.o macro-gsasl_exim.o \ macro-heimdal_gssapi.o macro-plaintext.o macro-spa.o macro-tls.o\ + macro-dkim.o $(OBJ_MACRO): $(MACRO_HSRC) @@ -222,6 +223,9 @@ macro-spa.o : auths/spa.c macro-tls.o: auths/tls.c @echo "$(CC) -DMACRO_PREDEF auths/tls.c" $(FE)$(CC) -c $(CFLAGS) -DMACRO_PREDEF $(INCLUDE) -o $@ auths/tls.c +macro-dkim.o: dkim.c + @echo "$(CC) -DMACRO_PREDEF dkim.c" + $(FE)$(CC) -c $(CFLAGS) -DMACRO_PREDEF $(INCLUDE) -o $@ dkim.c macro_predef: $(OBJ_MACRO) @echo "$(LNCC) -o $@" diff --git a/src/OS/os.c-Linux b/src/OS/os.c-Linux index dd65c8b39..a10bc7d25 100644 --- a/src/OS/os.c-Linux +++ b/src/OS/os.c-Linux @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1997 - 2016 */ +/* Copyright (c) University of Cambridge 1997 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Linux-specific code. This is concatenated onto the generic diff --git a/src/OS/os.h-FreeBSD b/src/OS/os.h-FreeBSD index 3a06e766e..8b1af396a 100644 --- a/src/OS/os.h-FreeBSD +++ b/src/OS/os.h-FreeBSD @@ -1,4 +1,7 @@ /* Exim: OS-specific C header file for FreeBSD */ +/* Copyright (c) University of Cambridge 2017 */ +/* See the file NOTICE for conditions of use and distribution. */ + #include @@ -48,6 +51,7 @@ extern ssize_t os_sendfile(int, int, off_t *, size_t); /* TCP_FASTOPEN support. There does not seems to be a MSG_FASTOPEN defined yet... */ +#define EXIM_TFO_PROBE #include /* for TCP_FASTOPEN */ #include /* for MSG_FASTOPEN */ diff --git a/src/OS/os.h-Linux b/src/OS/os.h-Linux index f6d35772b..88c4d9117 100644 --- a/src/OS/os.h-Linux +++ b/src/OS/os.h-Linux @@ -1,4 +1,7 @@ /* Exim: OS-specific C header file for Linux */ +/* Copyright (c) University of Cambridge 2017 */ +/* See the file NOTICE for conditions of use and distribution. */ + /* Some old systems we've received bug-reports for have a which does not pull in . Best to just pull it in now and have done diff --git a/src/OS/os.h-OpenBSD b/src/OS/os.h-OpenBSD index 5d55a967e..81ed4870b 100644 --- a/src/OS/os.h-OpenBSD +++ b/src/OS/os.h-OpenBSD @@ -1,4 +1,7 @@ /* Exim: OS-specific C header file for OpenBSD */ +/* Copyright (c) University of Cambridge 2017 */ +/* See the file NOTICE for conditions of use and distribution. */ + #define HAVE_BSD_GETLOADAVG #define HAVE_MMAP @@ -10,7 +13,7 @@ if the version released is past that point. */ #include #if OpenBSD >= 201405 -#define NOT_HAVE_ARC4RANDOM_STIR +# define NOT_HAVE_ARC4RANDOM_STIR #endif typedef struct flock flock_t; @@ -27,4 +30,27 @@ typedef struct __res_state *res_state; # define EPROTO 71 #endif +/* We need to force this; the automatic in buildconfig.c gets %ld */ +#ifdef OFF_T_FMT +# undef OFF_T_FMT +# undef LONGLONG_T +#endif +#define OFF_T_FMT "%lld" +#define LONGLONG_T long long int + +#ifdef PID_T_FMT +# undef PID_T_FMT +#endif +#define PID_T_FMT "%d" + +#ifdef INO_T_FMT +# undef INO_T_FMT +#endif +#define INO_T_FMT "%llu" + +#ifdef TIME_T_FMT +# undef TIME_T_FMT +#endif +#define TIME_T_FMT "%lld" + /* End */ diff --git a/src/exim_monitor/em_globals.c b/src/exim_monitor/em_globals.c index 46ad834da..43d1bbceb 100644 --- a/src/exim_monitor/em_globals.c +++ b/src/exim_monitor/em_globals.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/exim_monitor/em_log.c b/src/exim_monitor/em_log.c index 73aa0e567..69e63533c 100644 --- a/src/exim_monitor/em_log.c +++ b/src/exim_monitor/em_log.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This module contains code for scanning the main log, diff --git a/src/exim_monitor/em_main.c b/src/exim_monitor/em_main.c index 00471ce3d..09b754b58 100644 --- a/src/exim_monitor/em_main.c +++ b/src/exim_monitor/em_main.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/exim_monitor/em_menu.c b/src/exim_monitor/em_menu.c index 935e82687..6cd009d2b 100644 --- a/src/exim_monitor/em_menu.c +++ b/src/exim_monitor/em_menu.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/exim_monitor/em_queue.c b/src/exim_monitor/em_queue.c index e6b1e91d9..7d231530c 100644 --- a/src/exim_monitor/em_queue.c +++ b/src/exim_monitor/em_queue.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/exim_monitor/em_version.c b/src/exim_monitor/em_version.c index 0279654ac..a2edbfe8a 100644 --- a/src/exim_monitor/em_version.c +++ b/src/exim_monitor/em_version.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "mytypes.h" diff --git a/src/scripts/Configure-Makefile b/src/scripts/Configure-Makefile index 648960e44..2af192721 100755 --- a/src/scripts/Configure-Makefile +++ b/src/scripts/Configure-Makefile @@ -6,7 +6,7 @@ export LC_ALL=C # just got too horrendous to get it right in "make", because of the optionally # existing configuration files. # -# Copyright (c) The Exim Maintainers 2016 +# Copyright (c) The Exim Maintainers 2017 # First off, get the OS type, and check that there is a make file for it. diff --git a/src/scripts/MakeLinks b/src/scripts/MakeLinks index 22e5a4bd7..770591dc8 100755 --- a/src/scripts/MakeLinks +++ b/src/scripts/MakeLinks @@ -3,7 +3,7 @@ # Script to build links for all the exim source files from the system- # specific build directory. It should be run from within that directory. # -# Copyright (c) The Exim Maintainers 2016 +# Copyright (c) The Exim Maintainers 2017 test ! -d ../src && \ echo "*** $0 should be run in a system-specific subdirectory." && \ diff --git a/src/scripts/reversion b/src/scripts/reversion index 45755c084..c82d9c0ac 100755 --- a/src/scripts/reversion +++ b/src/scripts/reversion @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (c) The Exim Maintainers 2016 +# Copyright (c) The Exim Maintainers 2017 set -e LC_ALL=C @@ -96,7 +96,7 @@ if [ ".${SOURCE_DATE_EPOCH:-}" != "." ]; then # builds without it causing any problems: nothing really cares about timezone. # GNU date: "date -d @TS" # BSD date: "date -r TS" - exim_build_date_override="$(date -u -d "@${SOURCE_DATE_EPOCH}" "$fmt" 2>/dev/null | date -u -r "${SOURCE_DATE_EPOCH}" "$fmt" 2>/dev/null)" + exim_build_date_override="$(date -u -d "@${SOURCE_DATE_EPOCH}" "$fmt" 2>/dev/null || date -u -r "${SOURCE_DATE_EPOCH}" "$fmt" 2>/dev/null)" fi ( echo '# automatically generated file - see ../scripts/reversion' diff --git a/src/src/EDITME b/src/src/EDITME index e604acd8b..72e26ce0e 100644 --- a/src/src/EDITME +++ b/src/src/EDITME @@ -258,7 +258,7 @@ TRANSPORT_SMTP=yes # you perform upgrades and revert them. You should consider the benefit of # embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can # maintain two concurrent sets of modules. -# +# # *BEWARE*: ability to modify the files in LOOKUP_MODULE_DIR is equivalent to # the ability to modify the Exim binary, which is often setuid root! The Exim # developers only intend this functionality be used by OS software packagers @@ -311,6 +311,7 @@ LOOKUP_DNSDB=yes # LOOKUP_IBASE=yes # LOOKUP_LDAP=yes # LOOKUP_MYSQL=yes +# LOOKUP_MYSQL_PC=mariadb # LOOKUP_NIS=yes # LOOKUP_NISPLUS=yes # LOOKUP_ORACLE=yes diff --git a/src/src/acl.c b/src/src/acl.c index 79feb5f68..640989997 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Code for handling Access Control Lists (ACLs) */ @@ -3931,7 +3931,7 @@ if (acl_level == 0) } else ss = s; -while (isspace(*ss))ss++; +while (isspace(*ss)) ss++; /* If we can't find a named ACL, the default is to parse it as an inline one. (Unless it begins with a slash; non-existent files give rise to an error.) */ diff --git a/src/src/auths/call_pam.c b/src/src/auths/call_pam.c index a5cbec3ed..74d492792 100644 --- a/src/src/auths/call_pam.c +++ b/src/src/auths/call_pam.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/auths/cram_md5.c b/src/src/auths/cram_md5.c index b9e57c1e9..3f80bd674 100644 --- a/src/src/auths/cram_md5.c +++ b/src/src/auths/cram_md5.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/auths/cyrus_sasl.c b/src/src/auths/cyrus_sasl.c index cbf244633..afbeb81e2 100644 --- a/src/src/auths/cyrus_sasl.c +++ b/src/src/auths/cyrus_sasl.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This code was originally contributed by Matthew Byng-Maddick */ diff --git a/src/src/auths/dovecot.c b/src/src/auths/dovecot.c index 2dcaa0e42..8c5b411de 100644 --- a/src/src/auths/dovecot.c +++ b/src/src/auths/dovecot.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2004 Andrey Panin - * Copyright (c) 2006-2016 The Exim Maintainers + * Copyright (c) 2006-2017 The Exim Maintainers * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published diff --git a/src/src/auths/get_data.c b/src/src/auths/get_data.c index 3857e0738..9c793e3ab 100644 --- a/src/src/auths/get_data.c +++ b/src/src/auths/get_data.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/auths/get_no64_data.c b/src/src/auths/get_no64_data.c index 1bb611c1c..1006cf275 100644 --- a/src/src/auths/get_no64_data.c +++ b/src/src/auths/get_no64_data.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2012 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/auths/gsasl_exim.c b/src/src/auths/gsasl_exim.c index 48621a402..0ce9b9297 100644 --- a/src/src/auths/gsasl_exim.c +++ b/src/src/auths/gsasl_exim.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2012 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Copyright (c) Twitter Inc 2012 diff --git a/src/src/auths/heimdal_gssapi.c b/src/src/auths/heimdal_gssapi.c index 03a4bec79..b583a73fd 100644 --- a/src/src/auths/heimdal_gssapi.c +++ b/src/src/auths/heimdal_gssapi.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Copyright (c) Twitter Inc 2012 diff --git a/src/src/auths/md5.c b/src/src/auths/md5.c index 71b8c9952..d0037d92b 100644 --- a/src/src/auths/md5.c +++ b/src/src/auths/md5.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #ifndef STAND_ALONE diff --git a/src/src/auths/plaintext.c b/src/src/auths/plaintext.c index 8bba05823..0bd67f686 100644 --- a/src/src/auths/plaintext.c +++ b/src/src/auths/plaintext.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/auths/spa.c b/src/src/auths/spa.c index f14ca5e54..9c0064ae4 100644 --- a/src/src/auths/spa.c +++ b/src/src/auths/spa.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This file, which provides support for Microsoft's Secure Password diff --git a/src/src/auths/tls.c b/src/src/auths/tls.c index bdcae3194..f29a22c82 100644 --- a/src/src/auths/tls.c +++ b/src/src/auths/tls.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2016 */ +/* Copyright (c) Jeremy Harris 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This file provides an Exim authenticator driver for diff --git a/src/src/auths/xtextencode.c b/src/src/auths/xtextencode.c index 4d189fc06..3fa57c4a7 100644 --- a/src/src/auths/xtextencode.c +++ b/src/src/auths/xtextencode.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/base64.c b/src/src/base64.c index 9dcbb74f0..f6f187f07 100644 --- a/src/src/base64.c +++ b/src/src/base64.c @@ -5,7 +5,7 @@ /* Copyright (c) Tom Kistner 2004, 2015 */ /* License: GPL */ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/buildconfig.c b/src/src/buildconfig.c index 4ed287414..22fde15ca 100644 --- a/src/src/buildconfig.c +++ b/src/src/buildconfig.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -101,6 +101,7 @@ main(int argc, char **argv) { off_t test_off_t = 0; time_t test_time_t = 0; +ino_t test_ino_t; #if ! (__STDC_VERSION__ >= 199901L) size_t test_size_t = 0; ssize_t test_ssize_t = 0; @@ -153,13 +154,13 @@ This assumption is known to be OK for the common operating systems. */ fprintf(new, "#ifndef OFF_T_FMT\n"); if (sizeof(test_off_t) > sizeof(test_long_t)) { - fprintf(new, "#define OFF_T_FMT \"%%lld\"\n"); - fprintf(new, "#define LONGLONG_T long long int\n"); + fprintf(new, "# define OFF_T_FMT \"%%lld\"\n"); + fprintf(new, "# define LONGLONG_T long long int\n"); } else { - fprintf(new, "#define OFF_T_FMT \"%%ld\"\n"); - fprintf(new, "#define LONGLONG_T long int\n"); + fprintf(new, "# define OFF_T_FMT \"%%ld\"\n"); + fprintf(new, "# define LONGLONG_T long int\n"); } fprintf(new, "#endif\n\n"); @@ -171,14 +172,23 @@ off_t. */ fprintf(new, "#ifndef TIME_T_FMT\n"); if (sizeof(test_time_t) > sizeof(test_long_t)) { - fprintf(new, "#define TIME_T_FMT \"%%lld\"\n"); - fprintf(new, "#undef LONGLONG_T\n"); - fprintf(new, "#define LONGLONG_T long long int\n"); + fprintf(new, "# define TIME_T_FMT \"%%lld\"\n"); + fprintf(new, "# undef LONGLONG_T\n"); + fprintf(new, "# define LONGLONG_T long long int\n"); } else - { - fprintf(new, "#define TIME_T_FMT \"%%ld\"\n"); - } + fprintf(new, "# define TIME_T_FMT \"%%ld\"\n"); +fprintf(new, "#endif\n\n"); + +fprintf(new, "#ifndef INO_T_FMT\n"); +if (sizeof(test_ino_t) > sizeof(test_long_t)) + fprintf(new, "# define INO_T_FMT \"%%llu\"\n"); +else + fprintf(new, "# define INO_T_FMT \"%%lu\"\n"); +fprintf(new, "#endif\n\n"); + +fprintf(new, "#ifndef PID_T_FMT\n"); +fprintf(new, "# define PID_T_FMT \"%%lu\"\n"); fprintf(new, "#endif\n\n"); /* And for sizeof() results, size_t, which should with C99 be just %zu, deal diff --git a/src/src/config.h.defaults b/src/src/config.h.defaults index dbfde8935..4750523dc 100644 --- a/src/src/config.h.defaults +++ b/src/src/config.h.defaults @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* The default settings for Exim configuration variables. A #define without diff --git a/src/src/dane-openssl.c b/src/src/dane-openssl.c index 0a74f1f28..e48b0cb79 100644 --- a/src/src/dane-openssl.c +++ b/src/src/dane-openssl.c @@ -2,7 +2,7 @@ * Author: Viktor Dukhovni * License: THIS CODE IS IN THE PUBLIC DOMAIN. * - * Copyright (c) The Exim Maintainers 2014 - 2016 + * Copyright (c) The Exim Maintainers 2014 - 2017 */ #include #include diff --git a/src/src/dbfn.c b/src/src/dbfn.c index 5529fe93f..29d980802 100644 --- a/src/src/dbfn.c +++ b/src/src/dbfn.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/dbstuff.h b/src/src/dbstuff.h index aec549f48..adb362445 100644 --- a/src/src/dbstuff.h +++ b/src/src/dbstuff.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This header file contains macro definitions so that a variety of DBM @@ -632,8 +632,12 @@ after reading data. */ # define EXIM_DBOPEN(name, dirname, flags, mode, dbpp) \ do { \ DEBUG(D_hints_lookup) \ - debug_printf("EXIM_DBOPEN: file <%s> dir <%s> flags 0x%x\n", \ - (name), (dirname), flags); \ + debug_printf("EXIM_DBOPEN: file <%s> dir <%s> flags=%s\n", \ + (name), (dirname), \ + (flags) == O_RDONLY ? "O_RDONLY" \ + : (flags) == O_RDWR ? "O_RDWR" \ + : (flags) == (O_RDWR|O_CREAT) ? "O_RDWR|O_CREAT" \ + : "??"); \ EXIM_DBOPEN__(name, dirname, flags, mode, dbpp); \ DEBUG(D_hints_lookup) debug_printf("returned from EXIM_DBOPEN: %p\n", *dbpp); \ } while(0) diff --git a/src/src/dcc.c b/src/src/dcc.c index a11e12df4..9a1657d26 100644 --- a/src/src/dcc.c +++ b/src/src/dcc.c @@ -7,7 +7,7 @@ * wbreyha@gmx.net * See the file NOTICE for conditions of use and distribution. * - * Copyright (c) The Exim Maintainers 2015 - 2016 + * Copyright (c) The Exim Maintainers 2015 - 2017 */ /* This patch is based on code from Tom Kistners exiscan (ACL integration) and diff --git a/src/src/debug.c b/src/src/debug.c index 17a87d2d2..9e042f53f 100644 --- a/src/src/debug.c +++ b/src/src/debug.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/deliver.c b/src/src/deliver.c index 1241fa3cf..a7f561c9c 100644 --- a/src/src/deliver.c +++ b/src/src/deliver.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* The main code for delivering a message. */ @@ -10,6 +10,7 @@ #include "exim.h" #include "transports/smtp.h" +#include #include @@ -79,6 +80,52 @@ static uschar *used_return_path = NULL; +/************************************************* +* read as much as requested * +*************************************************/ + +/* The syscall read(2) doesn't always returns as much as we want. For +several reasons it might get less. (Not talking about signals, as syscalls +are restartable). When reading from a network or pipe connection the sender +might send in smaller chunks, with delays between these chunks. The read(2) +may return such a chunk. + +The more the writer writes and the smaller the pipe between write and read is, +the more we get the chance of reading leass than requested. (See bug 2130) + +This function read(2)s until we got all the data we *requested*. + +Note: This function may block. Use it only if you're sure about the +amount of data you will get. + +Argument: + fd the file descriptor to read from + buffer pointer to a buffer of size len + len the requested(!) amount of bytes + +Returns: the amount of bytes read +*/ +static ssize_t +readn(int fd, void * buffer, size_t len) +{ + void * next = buffer; + void * end = buffer + len; + + while (next < end) + { + ssize_t got = read(fd, next, end - next); + + /* I'm not sure if there are signals that can interrupt us, + for now I assume the worst */ + if (got == -1 && errno == EINTR) continue; + if (got <= 0) return next - buffer; + next += got; + } + + return len; +} + + /************************************************* * Make a new address item * *************************************************/ @@ -1424,7 +1471,7 @@ DEBUG(D_deliver) debug_printf("post-process %s (%d)\n", addr->address, result); /* Set up driver kind and name for logging. Disable logging if the router or transport has disabled it. */ -if (driver_type == DTYPE_TRANSPORT) +if (driver_type == EXIM_DTYPE_TRANSPORT) { if (addr->transport) { @@ -1434,7 +1481,7 @@ if (driver_type == DTYPE_TRANSPORT) } else driver_kind = US"transporting"; } -else if (driver_type == DTYPE_ROUTER) +else if (driver_type == EXIM_DTYPE_ROUTER) { if (addr->router) { @@ -2628,7 +2675,7 @@ if (max_parallel > 0) next = addr->next; addr->message = US"concurrency limit reached for transport"; addr->basic_errno = ERRNO_TRETRY; - post_process_one(addr, DEFER, LOG_MAIN, DTYPE_TRANSPORT, 0); + post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_TRANSPORT, 0); } while ((addr = next)); return TRUE; } @@ -2690,7 +2737,7 @@ while (addr_local) addr->message = addr->router ? string_sprintf("No transport set by %s router", addr->router->name) : string_sprintf("No transport set by system filter"); - post_process_one(addr, DEFER, logflags, DTYPE_TRANSPORT, 0); + post_process_one(addr, DEFER, logflags, EXIM_DTYPE_TRANSPORT, 0); continue; } @@ -2825,7 +2872,7 @@ while (addr_local) while (addr) { addr2 = addr->next; - post_process_one(addr, rc, logflags, DTYPE_TRANSPORT, 0); + post_process_one(addr, rc, logflags, EXIM_DTYPE_TRANSPORT, 0); addr = addr2; } continue; /* With next batch of addresses */ @@ -2927,7 +2974,7 @@ while (addr_local) this->basic_errno = ERRNO_LRETRY; addr2 = addr3 ? (addr3->next = addr2->next) : (addr = addr2->next); - post_process_one(this, DEFER, logflags, DTYPE_TRANSPORT, 0); + post_process_one(this, DEFER, logflags, EXIM_DTYPE_TRANSPORT, 0); } } @@ -2950,7 +2997,7 @@ while (addr_local) do { addr = addr->next; - post_process_one(addr, DEFER, logflags, DTYPE_TRANSPORT, 0); + post_process_one(addr, DEFER, logflags, EXIM_DTYPE_TRANSPORT, 0); } while ((addr = addr2)); } continue; /* Loop for the next set of addresses. */ @@ -3107,7 +3154,7 @@ while (addr_local) addr2->more_errno = deliver_time.tv_sec; addr2->delivery_usec = deliver_time.tv_usec; } - post_process_one(addr2, result, logflags, DTYPE_TRANSPORT, logchar); + post_process_one(addr2, result, logflags, EXIM_DTYPE_TRANSPORT, logchar); /* If a pipe delivery generated text to be sent back, the result may be changed to FAIL, and we must copy this for subsequent addresses in the @@ -3311,14 +3358,13 @@ while (!done) If we get less, we can assume the subprocess do be done and do not expect any further information from it. */ - got = readn(fd, pipeheader, required); - if (got != required) + if ((got = readn(fd, pipeheader, required)) != required) { - msg = string_sprintf("got %d of %d bytes (pipeheader) " - "from transport process %d for transport %s", - got, PIPE_HEADER_SIZE, pid, addr->transport->driver_name); - done = TRUE; - break; + msg = string_sprintf("got " SSIZE_T_FMT " of %d bytes (pipeheader) " + "from transport process %d for transport %s", + got, PIPE_HEADER_SIZE, pid, addr->transport->driver_name); + done = TRUE; + break; } pipeheader[PIPE_HEADER_SIZE] = '\0'; @@ -3348,14 +3394,13 @@ while (!done) /* Same as above, the transport process will write the bytes announced in a timely manner, so we can just wait for the bytes, getting less than expected is considered a problem of the subprocess, we do not expect anything else from it. */ - got = readn(fd, big_buffer, required); - if (got != required) + if ((got = readn(fd, big_buffer, required)) != required) { - msg = string_sprintf("got only %d of %d bytes (pipedata) " - "from transport process %d for transport %s", - got, required, pid, addr->transport->driver_name); - done = TRUE; - break; + msg = string_sprintf("got only " SSIZE_T_FMT " of " SIZE_T_FMT + " bytes (pipedata) from transport process %d for transport %s", + got, required, pid, addr->transport->driver_name); + done = TRUE; + break; } /* Handle each possible type of item, assuming the complete item is @@ -3757,7 +3802,7 @@ while (addr) addr->transport_return = DEFER; } (void)post_process_one(addr, addr->transport_return, logflags, - DTYPE_TRANSPORT, addr->special_action); + EXIM_DTYPE_TRANSPORT, addr->special_action); } /* Next address */ @@ -6048,7 +6093,7 @@ else if (system_filter && process_recipients != RECIP_FAIL_TIMEOUT) p = p->next; if (!addr_last) addr_new = p; else addr_last->next = p; badp->local_part = badp->address; /* Needed for log line */ - post_process_one(badp, DEFER, LOG_MAIN|LOG_PANIC, DTYPE_ROUTER, 0); + post_process_one(badp, DEFER, LOG_MAIN|LOG_PANIC, EXIM_DTYPE_ROUTER, 0); continue; } } /* End of pfr handling */ @@ -6166,7 +6211,7 @@ if (process_recipients != RECIP_IGNORE) case RECIP_FAIL_LOOP: new->message = US"Too many \"Received\" headers - suspected mail loop"; - post_process_one(new, FAIL, LOG_MAIN, DTYPE_ROUTER, 0); + post_process_one(new, FAIL, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); break; @@ -6299,7 +6344,7 @@ while (addr_new) /* Loop until all addresses dealt with */ addr->message = US"filter autoreply generated syntactically invalid recipient"; addr->prop.ignore_error = TRUE; - (void) post_process_one(addr, FAIL, LOG_MAIN, DTYPE_ROUTER, 0); + (void) post_process_one(addr, FAIL, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; /* with the next new address */ } @@ -6366,7 +6411,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->basic_errno = ERRNO_FORBIDFILE; addr->message = US"delivery to file forbidden"; - (void)post_process_one(addr, FAIL, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, FAIL, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; /* with the next new address */ } } @@ -6376,7 +6421,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->basic_errno = ERRNO_FORBIDPIPE; addr->message = US"delivery to pipe forbidden"; - (void)post_process_one(addr, FAIL, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, FAIL, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; /* with the next new address */ } } @@ -6384,7 +6429,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->basic_errno = ERRNO_FORBIDREPLY; addr->message = US"autoreply forbidden"; - (void)post_process_one(addr, FAIL, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, FAIL, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; /* with the next new address */ } @@ -6395,7 +6440,7 @@ while (addr_new) /* Loop until all addresses dealt with */ if (addr->basic_errno == ERRNO_BADTRANSPORT) { - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; } @@ -6407,7 +6452,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { uschar *save = addr->transport->name; addr->transport->name = US"**bypassed**"; - (void)post_process_one(addr, OK, LOG_MAIN, DTYPE_TRANSPORT, '='); + (void)post_process_one(addr, OK, LOG_MAIN, EXIM_DTYPE_TRANSPORT, '='); addr->transport->name = save; continue; /* with the next new address */ } @@ -6430,7 +6475,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->message = US"cannot check percent_hack_domains"; addr->basic_errno = ERRNO_LISTDEFER; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_NONE, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_NONE, 0); continue; } @@ -6454,7 +6499,7 @@ while (addr_new) /* Loop until all addresses dealt with */ addr->message = US"domain is held"; addr->basic_errno = ERRNO_HELD; } - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_NONE, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_NONE, 0); continue; } @@ -6563,7 +6608,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->message = US"reusing SMTP connection skips previous routing defer"; addr->basic_errno = ERRNO_RRETRY; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); } /* If we are in a queue run, defer routing unless there is no retry data or @@ -6616,7 +6661,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->message = US"retry time not reached"; addr->basic_errno = ERRNO_RRETRY; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); } /* The domain is OK for routing. Remember if retry data exists so it @@ -6658,7 +6703,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->basic_errno = ERRNO_LISTDEFER; addr->message = US"queue_domains lookup deferred"; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); } else { @@ -6669,7 +6714,7 @@ while (addr_new) /* Loop until all addresses dealt with */ { addr->basic_errno = ERRNO_QUEUE_DOMAIN; addr->message = US"domain is in queue_domains"; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); } } @@ -6734,7 +6779,7 @@ while (addr_new) /* Loop until all addresses dealt with */ if (rc != OK) { - (void)post_process_one(addr, rc, LOG_MAIN, DTYPE_ROUTER, 0); + (void)post_process_one(addr, rc, LOG_MAIN, EXIM_DTYPE_ROUTER, 0); continue; /* route next address */ } @@ -7037,7 +7082,7 @@ if (queue_run_local) addr->next = NULL; addr->basic_errno = ERRNO_LOCAL_ONLY; addr->message = US"remote deliveries suppressed"; - (void)post_process_one(addr, DEFER, LOG_MAIN, DTYPE_TRANSPORT, 0); + (void)post_process_one(addr, DEFER, LOG_MAIN, EXIM_DTYPE_TRANSPORT, 0); } /* Handle remote deliveries */ @@ -8388,6 +8433,13 @@ return final_yield; void deliver_init(void) { +#ifdef EXIM_TFO_PROBE +tfo_probe(); +#else +tcp_fastopen_ok = TRUE; +#endif + + if (!regex_PIPELINING) regex_PIPELINING = regex_must_compile(US"\\n250[\\s\\-]PIPELINING(\\s|\\n|$)", FALSE, TRUE); @@ -8499,14 +8551,10 @@ if (cutthrough.fd >= 0 && cutthrough.callout_hold_only) goto fail; else if (pid == 0) /* child: fork again to totally disconnect */ - { - close(pfd[1]); - if ((pid = fork())) - _exit(pid ? EXIT_FAILURE : EXIT_SUCCESS); - smtp_proxy_tls(big_buffer, big_buffer_size, pfd[0], 5*60); - exim_exit(0); - } + /* does not return */ + smtp_proxy_tls(big_buffer, big_buffer_size, pfd, 5*60); + DEBUG(D_transport) debug_printf("proxy-proc inter-pid %d\n", pid); close(pfd[0]); waitpid(pid, NULL, 0); (void) close(channel_fd); /* release the client socket */ diff --git a/src/src/dkim.c b/src/src/dkim.c index 723267cbf..d31cae9c7 100644 --- a/src/src/dkim.c +++ b/src/src/dkim.c @@ -12,7 +12,20 @@ #ifndef DISABLE_DKIM -#include "pdkim/pdkim.h" +# include "pdkim/pdkim.h" + +# ifdef MACRO_PREDEF +# include "macro_predef.h" + +void +params_dkim(void) +{ +builtin_macro_create_var(US"_DKIM_SIGN_HEADERS", US PDKIM_DEFAULT_SIGN_HEADERS); +} +# else /*!MACRO_PREDEF*/ + + + int dkim_verify_oldpool; pdkim_ctx *dkim_verify_ctx = NULL; @@ -125,7 +138,7 @@ void dkim_exim_verify_finish(void) { pdkim_signature * sig = NULL; -int dkim_signers_size = 0, dkim_signers_ptr = 0, rc; +int rc; gstring * g = NULL; const uschar * errstr; @@ -172,7 +185,7 @@ for (sig = dkim_signatures; sig; sig = sig->next) " c=", sig->canon_headers == PDKIM_CANON_SIMPLE ? "simple" : "relaxed", "/", sig->canon_body == PDKIM_CANON_SIMPLE ? "simple" : "relaxed", " a=", dkim_sig_to_a_tag(sig), - string_sprintf(" b=%d", + string_sprintf(" b=" SIZE_T_FMT, (int)sig->sighash.len > -1 ? sig->sighash.len * 8 : 0)); if ((s= sig->identity)) logmsg = string_append(logmsg, 2, " i=", s); if (sig->created > 0) logmsg = string_cat(logmsg, @@ -340,7 +353,7 @@ switch (what) case DKIM_BODYLENGTH: return dkim_cur_sig->bodylength >= 0 - ? string_sprintf(OFF_T_FMT, (LONGLONG_T) dkim_cur_sig->bodylength) + ? string_sprintf("%ld", dkim_cur_sig->bodylength) : dkim_exim_expand_defaults(what); case DKIM_CANON_BODY: @@ -365,12 +378,12 @@ switch (what) case DKIM_CREATED: return dkim_cur_sig->created > 0 - ? string_sprintf("%llu", dkim_cur_sig->created) + ? string_sprintf("%lu", dkim_cur_sig->created) : dkim_exim_expand_defaults(what); case DKIM_EXPIRES: return dkim_cur_sig->expires > 0 - ? string_sprintf("%llu", dkim_cur_sig->expires) + ? string_sprintf("%lu", dkim_cur_sig->expires) : dkim_exim_expand_defaults(what); case DKIM_HEADERNAMES: @@ -661,4 +674,5 @@ expand_bad: goto bad; } -#endif +# endif /*!MACRO_PREDEF*/ +#endif /*!DISABLE_DKIM*/ diff --git a/src/src/dkim.h b/src/src/dkim.h index 8b12e21ed..735a1162a 100644 --- a/src/src/dkim.h +++ b/src/src/dkim.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge, 1995 - 2016 */ +/* Copyright (c) University of Cambridge, 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ void dkim_exim_init(void); diff --git a/src/src/dkim_transport.c b/src/src/dkim_transport.c index b61c41edc..f707595cb 100644 --- a/src/src/dkim_transport.c +++ b/src/src/dkim_transport.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Transport shim for dkim signing */ @@ -37,9 +37,17 @@ return TRUE; /* Send the file at in_fd down the output fd */ static BOOL -dkt_send_file(int out_fd, int in_fd, off_t off, size_t size) +dkt_send_file(int out_fd, int in_fd, off_t off +#ifdef OS_SENDFILE + , size_t size +#endif + ) { +#ifdef OS_SENDFILE DEBUG(D_transport) debug_printf("send file fd=%d size=%u\n", out_fd, (unsigned)(size - off)); +#else +DEBUG(D_transport) debug_printf("send file fd=%d\n", out_fd); +#endif /*XXX should implement timeout, like transport_write_block_fd() ? */ @@ -297,7 +305,11 @@ if (options & topt_use_bdat) if(dlen > 0 && !transport_write_block(tctx, dkim_signature->s, dlen, TRUE)) goto err; -if (!dkt_send_file(tctx->u.fd, dkim_fd, 0, k_file_size)) +if (!dkt_send_file(tctx->u.fd, dkim_fd, 0 +#ifdef OS_SENDFILE + , k_file_size +#endif + )) { save_errno = errno; rc = FALSE; diff --git a/src/src/dmarc.c b/src/src/dmarc.c index 704b0c88d..6cb5b19fe 100644 --- a/src/src/dmarc.c +++ b/src/src/dmarc.c @@ -79,12 +79,12 @@ return eblock; messages on the same SMTP connection (that come from the same host with the same HELO string) */ -int dmarc_init() +int +dmarc_init() { int *netmask = NULL; /* Ignored */ int is_ipv6 = 0; -char *tld_file = (dmarc_tld_file == NULL) ? - DMARC_TLD_FILE : CS dmarc_tld_file; +char *tld_file = dmarc_tld_file ? CS dmarc_tld_file : DMARC_TLD_FILE; /* Set some sane defaults. Also clears previous results when * multiple messages in one connection. */ @@ -505,11 +505,11 @@ if (!dmarc_history_file) history_file_fd = log_create(dmarc_history_file); if (history_file_fd < 0) -{ + { log_write(0, LOG_MAIN|LOG_PANIC, "failure to create DMARC history file: %s", dmarc_history_file); return DMARC_HIST_FILE_ERR; -} + } /* Generate the contents of the history file */ history_buffer = string_sprintf( @@ -575,31 +575,24 @@ else return DMARC_HIST_OK; } + uschar * dmarc_exim_expand_query(int what) { if (dmarc_disable_verify || !dmarc_pctx) return dmarc_exim_expand_defaults(what); -switch(what) - { - case DMARC_VERIFY_STATUS: - return(dmarc_status); - default: - return US""; - } +if (what == DMARC_VERIFY_STATUS) + return dmarc_status; +return US""; } uschar * dmarc_exim_expand_defaults(int what) { -switch(what) - { - case DMARC_VERIFY_STATUS: - return dmarc_disable_verify ? US"off" : US"none"; - default: - return US""; - } +if (what == DMARC_VERIFY_STATUS) + return dmarc_disable_verify ? US"off" : US"none"; +return US""; } uschar * diff --git a/src/src/drtables.c b/src/src/drtables.c index 10b4ae8e0..1d8155798 100644 --- a/src/src/drtables.c +++ b/src/src/drtables.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/exigrep.src b/src/src/exigrep.src index 1899267be..bdeffae82 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -7,7 +7,7 @@ BEGIN { pop @INC if $INC[-1] eq '.' }; use Pod::Usage; use Getopt::Long; -# Copyright (c) 2007-2015 University of Cambridge. +# Copyright (c) 2007-2017 University of Cambridge. # See the file NOTICE for conditions of use and distribution. # Except when they appear in comments, the following placeholders in this diff --git a/src/src/exim.c b/src/src/exim.c index 7114b7529..7dd084534 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -658,12 +658,13 @@ Returns: does not return */ void -exim_exit(int rc) +exim_exit(int rc, const uschar * process) { search_tidyup(); DEBUG(D_any) - debug_printf(">>>>>>>>>>>>>>>> Exim pid=%d terminating with rc=%d " - ">>>>>>>>>>>>>>>>\n", (int)getpid(), rc); + debug_printf(">>>>>>>>>>>>>>>> Exim pid=%d %s%s%sterminating with rc=%d " + ">>>>>>>>>>>>>>>>\n", (int)getpid(), + process ? "(" : "", process, process ? ") " : "", rc); exit(rc); } @@ -840,7 +841,8 @@ fprintf(f, "Support for:"); fprintf(f, " SOCKS"); #endif #ifdef TCP_FASTOPEN - fprintf(f, " TCP_Fast_Open"); + deliver_init(); + if (tcp_fastopen_ok) fprintf(f, " TCP_Fast_Open"); #endif #ifdef EXPERIMENTAL_LMDB fprintf(f, " Experimental_LMDB"); @@ -3194,10 +3196,10 @@ for (i = 1; i < argc; i++) which sets the host protocol and host name */ if (*argrest == 0) - { - if (i+1 < argc) argrest = argv[++i]; else + if (i+1 < argc) + argrest = argv[++i]; + else { badarg = TRUE; break; } - } if (*argrest != 0) { @@ -3211,9 +3213,7 @@ for (i = 1; i < argc; i++) hn = Ustrchr(argrest, ':'); if (hn == NULL) - { received_protocol = argrest; - } else { int old_pool = store_pool; @@ -3793,12 +3793,9 @@ NOTE: immediatly after opening the configuration file we change the working directory to "/"! Later we change to $spool_directory. We do it there, because during readconf_main() some expansion takes place already. */ -/* Store the initial cwd before we change directories */ -if ((initial_cwd = os_getcwd(NULL, 0)) == NULL) - { - perror("exim: can't get the current working directory"); - exit(EXIT_FAILURE); - } +/* Store the initial cwd before we change directories. Can be NULL if the +dir has already been unlinked. */ +initial_cwd = os_getcwd(NULL, 0); /* checking: -be[m] expansion test - @@ -3876,7 +3873,7 @@ else } /* At this point, we know if the user is privileged and some command-line -options become possibly imperssible, depending upon the configuration file. */ +options become possibly impermissible, depending upon the configuration file. */ if (checking && commandline_checks_require_admin && !admin_user) { fprintf(stderr, "exim: those command-line flags are set to require admin\n"); @@ -4482,7 +4479,7 @@ if (test_retry_arg >= 0) if (test_retry_arg >= argc) { printf("-brt needs a domain or address argument\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } s1 = argv[test_retry_arg++]; s2 = NULL; @@ -4588,7 +4585,7 @@ if (test_retry_arg >= 0) printf("\n"); } - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } /* Handle a request to list one or more configuration options */ @@ -4612,14 +4609,14 @@ if (list_options) } else readconf_print(argv[i], NULL, flag_n); } - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } if (list_config) { set_process_info("listing config"); readconf_print(US"config", NULL, flag_n); - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } @@ -4648,7 +4645,7 @@ if (msg_action_arg > 0 && msg_action != MSG_LOAD) if (prod_requires_admin && !admin_user) { fprintf(stderr, "exim: Permission denied\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } set_process_info("delivering specified messages"); if (deliver_give_up) forced_delivery = deliver_force_thaw = TRUE; @@ -4667,11 +4664,11 @@ if (msg_action_arg > 0 && msg_action != MSG_LOAD) { fprintf(stderr, "failed to fork delivery process for %s: %s\n", argv[i], strerror(errno)); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } else wait(&status); } - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } @@ -4690,7 +4687,7 @@ if (queue_interval == 0 && !daemon_listen) else set_process_info("running the queue (single queue run)"); queue_run(start_queue_run_id, stop_queue_run_id, FALSE); - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } @@ -4713,10 +4710,9 @@ for (i = 0;;) /* If user name has not been set by -F, set it from the passwd entry unless -f has been used to set the sender address by a trusted user. */ - if (originator_name == NULL) + if (!originator_name) { - if (sender_address == NULL || - (!trusted_caller && filter_test == FTEST_NONE)) + if (!sender_address || (!trusted_caller && filter_test == FTEST_NONE)) { uschar *name = US pw->pw_gecos; uschar *amp = Ustrchr(name, '&'); @@ -4726,11 +4722,11 @@ for (i = 0;;) replaced by a copy of the login name, and some even specify that the first character should be upper cased, so that's what we do. */ - if (amp != NULL) + if (amp) { int loffset; string_format(buffer, sizeof(buffer), "%.*s%n%s%s", - amp - name, name, &loffset, originator_login, amp + 1); + (int)(amp - name), name, &loffset, originator_login, amp + 1); buffer[loffset] = toupper(buffer[loffset]); name = buffer; } @@ -4738,7 +4734,7 @@ for (i = 0;;) /* If a pattern for matching the gecos field was supplied, apply it and then expand the name string. */ - if (gecos_pattern != NULL && gecos_name != NULL) + if (gecos_pattern && gecos_name) { const pcre *re; re = regex_must_compile(gecos_pattern, FALSE, TRUE); /* Use malloc */ @@ -4747,7 +4743,7 @@ for (i = 0;;) { uschar *new_name = expand_string(gecos_name); expand_nmax = -1; - if (new_name != NULL) + if (new_name) { DEBUG(D_receive) debug_printf("user name \"%s\" extracted from " "gecos field \"%s\"\n", new_name, name); @@ -4844,10 +4840,10 @@ if (test_rewrite_arg >= 0) if (test_rewrite_arg >= argc) { printf("-brw needs an address argument\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } rewrite_test(argv[test_rewrite_arg]); - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } /* A locally-supplied message is considered to be coming from a local user @@ -4962,7 +4958,7 @@ if (verify_address_mode || address_test_mode) } route_tidyup(); - exim_exit(exit_value); + exim_exit(exit_value, US"main"); } /* Handle expansion checking. Either expand items on the command line, or read @@ -5064,7 +5060,7 @@ if (expansion_test) deliver_datafile = -1; } - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } @@ -5158,7 +5154,7 @@ if (host_checking) } smtp_log_no_mail(); } - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } @@ -5322,7 +5318,7 @@ if (smtp_input) if (!smtp_start_session()) { mac_smtp_fflush(); - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"smtp_start toplevel"); } } @@ -5437,14 +5433,14 @@ while (more) cancel_cutthrough_connection(TRUE, US"receive dropped"); if (more) goto moreloop; smtp_log_no_mail(); /* Log no mail if configured */ - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"receive toplevel"); } } else { cancel_cutthrough_connection(TRUE, US"message setup dropped"); smtp_log_no_mail(); /* Log no mail if configured */ - exim_exit((rc == 0)? EXIT_SUCCESS : EXIT_FAILURE); + exim_exit(rc ? EXIT_FAILURE : EXIT_SUCCESS, US"msg setup toplevel"); } } @@ -5495,14 +5491,12 @@ while (more) if (error_handling == ERRORS_STDERR) { fprintf(stderr, "exim: too many recipients\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } else - { return moan_to_sender(ERRMESS_TOOMANYRECIP, NULL, NULL, stdin, TRUE)? errors_sender_rc : EXIT_FAILURE; - } #ifdef SUPPORT_I18N { @@ -5531,7 +5525,7 @@ while (more) { fprintf(stderr, "exim: bad recipient address \"%s\": %s\n", string_printing(list[i]), errmess); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } else { @@ -5604,7 +5598,7 @@ while (more) for real; when reading the headers of a message for filter testing, it is TRUE if the headers were terminated by '.' and FALSE otherwise. */ - if (message_id[0] == 0) exim_exit(EXIT_FAILURE); + if (message_id[0] == 0) exim_exit(EXIT_FAILURE, US"main"); } /* Non-SMTP message reception */ /* If this is a filter testing run, there are headers in store, but @@ -5649,7 +5643,7 @@ while (more) if (chdir("/")) /* Get away from wherever the user is running this from */ { DEBUG(D_receive) debug_printf("chdir(\"/\") failed\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, US"main"); } /* Now we run either a system filter test, or a user filter test, or both. @@ -5658,20 +5652,16 @@ while (more) explicitly. */ if ((filter_test & FTEST_SYSTEM) != 0) - { if (!filter_runtest(filter_sfd, filter_test_sfile, TRUE, more)) - exim_exit(EXIT_FAILURE); - } + exim_exit(EXIT_FAILURE, US"main"); memcpy(filter_sn, filter_n, sizeof(filter_sn)); if ((filter_test & FTEST_USER) != 0) - { if (!filter_runtest(filter_ufd, filter_test_ufile, FALSE, more)) - exim_exit(EXIT_FAILURE); - } + exim_exit(EXIT_FAILURE, US"main"); - exim_exit(EXIT_SUCCESS); + exim_exit(EXIT_SUCCESS, US"main"); } /* Else act on the result of message reception. We should not get here unless @@ -5797,7 +5787,7 @@ while (more) log_write(0, LOG_MAIN|LOG_PANIC, "process %d crashed with signal %d while delivering %s", (int)pid, status & 0x00ff, message_id); - if (mua_wrapper && (status & 0xffff) != 0) exim_exit(EXIT_FAILURE); + if (mua_wrapper && (status & 0xffff) != 0) exim_exit(EXIT_FAILURE, US"main"); } } } @@ -5829,54 +5819,9 @@ moreloop: store_reset(reset_point); } -exim_exit(EXIT_SUCCESS); /* Never returns */ +exim_exit(EXIT_SUCCESS, US"main"); /* Never returns */ return 0; /* To stop compiler warning */ } -/************************************************* -* read as much as requested * -*************************************************/ - -/* The syscall read(2) doesn't always returns as much as we want. For -several reasons it might get less. (Not talking about signals, as syscalls -are restartable). When reading from a network or pipe connection the sender -might send in smaller chunks, with delays between these chunks. The read(2) -may return such a chunk. - -The more the writer writes and the smaller the pipe between write and read is, -the more we get the chance of reading leass than requested. (See bug 2130) - -This function read(2)s until we got all the data we *requested*. - -Note: This function may block. Use it only if you're sure about the -amount of data you will get. - -Argument: - fd the file descriptor to read from - buffer pointer to a buffer of size len - len the requested(!) amount of bytes - -Returns: the amount of bytes read -*/ -ssize_t -readn(int fd, void *buffer, size_t len) -{ - void *next = buffer; - void *end = buffer + len; - - while (next < end) - { - ssize_t got = read(fd, next, end - next); - - /* I'm not sure if there are signals that can interrupt us, - for now I assume the worst */ - if (got == -1 && errno == EINTR) continue; - if (got <= 0) return next - buffer; - next += got; - } - - return len; -} - /* End of exim.c */ diff --git a/src/src/exim.h b/src/src/exim.h index f8dd9a9ba..770fd6333 100644 --- a/src/src/exim.h +++ b/src/src/exim.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -597,9 +597,11 @@ default to EDQUOT if it exists, otherwise ENOSPC. */ # undef DISABLE_DNSSEC #endif -/* Wrapper around read(2) to read all the data we requested (BLOCKING) */ -ssize_t -readn(int fd, void *buffer, size_t len); +/* Some platforms (FreeBSD, OpenBSD, Solaris) do not seem to define this */ + +#ifndef POLLRDHUP +# define POLLRDHUP (POLLIN | POLLHUP) +#endif #endif /* End of exim.h */ diff --git a/src/src/exim_dbmbuild.c b/src/src/exim_dbmbuild.c index 7431bbc03..2dcc40f3e 100644 --- a/src/src/exim_dbmbuild.c +++ b/src/src/exim_dbmbuild.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/exim_dbutil.c b/src/src/exim_dbutil.c index fb455bbd3..4f3c4fadb 100644 --- a/src/src/exim_dbutil.c +++ b/src/src/exim_dbutil.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/eximstats.src b/src/src/eximstats.src index 727ee44b9..80ac93372 100644 --- a/src/src/eximstats.src +++ b/src/src/eximstats.src @@ -1,6 +1,6 @@ #!PERL_COMMAND -# Copyright (c) 2001-2016 University of Cambridge. +# Copyright (c) 2001-2017 University of Cambridge. # See the file NOTICE for conditions of use and distribution. # Perl script to generate statistics from one or more Exim log files. diff --git a/src/src/exipick.src b/src/src/exipick.src index 4751f7657..a1aa79dc0 100644 --- a/src/src/exipick.src +++ b/src/src/exipick.src @@ -1,4 +1,7 @@ #!PERL_COMMAND +# Copyright (c) 2017 University of Cambridge. +# See the file NOTICE for conditions of use and distribution. + # This variables should be set by the building process my $spool = 'SPOOL_DIRECTORY'; # may be overridden later @@ -387,7 +390,7 @@ sub process_criteria { } else { $c[-1]{cmp} .= $G::negate ? " ? 0 : 1" : " ? 1 : 0"; } - # support the each_* psuedo variables. Steal the criteria off of the + # support the each_* pseudo variables. Steal the criteria off of the # queue for special processing later if ($c[-1]{var} =~ /^each_(recipients(_(un)?del)?)$/) { my $var = $1; @@ -1594,7 +1597,7 @@ TRUE if, under normal circumstances, Exim will not try to deliver the message. =item S + $each_recipients -This is a psuedo variable which allows you to apply a test against each address in $recipients individually. Whereas '$recipients =~ /@aol.com/' will match if any recipient address contains aol.com, '$each_recipients =~ /@aol.com$/' will only be true if every recipient matches that pattern. Note that this obeys --and or --or being set. Using it with --or is very similar to just matching against $recipients, but with the added benefit of being able to use anchors at the beginning and end of each recipient address. +This is a pseudo variable which allows you to apply a test against each address in $recipients individually. Whereas '$recipients =~ /@aol.com/' will match if any recipient address contains aol.com, '$each_recipients =~ /@aol.com$/' will only be true if every recipient matches that pattern. Note that this obeys --and or --or being set. Using it with --or is very similar to just matching against $recipients, but with the added benefit of being able to use anchors at the beginning and end of each recipient address. =item S + $each_recipients_del diff --git a/src/src/expand.c b/src/src/expand.c index 9cbfbe883..782467ff7 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -1484,14 +1484,14 @@ while (*s != 0) /* If value2 is unset, just compute one number */ if (value2 < 0) - s = string_sprintf("%d", total % value1); + s = string_sprintf("%lu", total % value1); /* Otherwise do a div/mod hash */ else { total = total % (value1 * value2); - s = string_sprintf("%d/%d", total/value2, total % value2); + s = string_sprintf("%lu/%lu", total/value2, total % value2); } *len = Ustrlen(s); @@ -2821,18 +2821,21 @@ switch(cond_type) uschar *save_iterate_item = iterate_item; int (*compare)(const uschar *, const uschar *); - DEBUG(D_expand) debug_printf_indent("condition: %s\n", name); + DEBUG(D_expand) debug_printf_indent("condition: %s item: %s\n", name, sub[0]); tempcond = FALSE; compare = cond_type == ECOND_INLISTI ? strcmpic : (int (*)(const uschar *, const uschar *)) strcmp; while ((iterate_item = string_nextinlist(&list, &sep, NULL, 0))) + { + DEBUG(D_expand) debug_printf_indent(" compare %s\n", iterate_item); if (compare(sub[0], iterate_item) == 0) { tempcond = TRUE; break; } + } iterate_item = save_iterate_item; } @@ -3927,18 +3930,20 @@ while (*s != 0) { int len; int newsize = 0; - gstring * g; + gstring * g = NULL; s = read_name(name, sizeof(name), s, US"_"); /* If this is the first thing to be expanded, release the pre-allocated buffer. */ - if (yield && yield->ptr == 0) + if (!yield) + g = store_get(sizeof(gstring)); + else if (yield->ptr == 0) { if (resetok) store_reset(yield); yield = NULL; - g = store_get(sizeof(gstring)); + g = store_get(sizeof(gstring)); /* alloc _before_ calling find_variable() */ } /* Header */ @@ -3993,7 +3998,8 @@ while (*s != 0) yield->ptr = len; yield->s = value; } - else yield = string_catn(yield, value, len); + else + yield = string_catn(yield, value, len); continue; } @@ -6766,7 +6772,14 @@ while (*s != 0) int start, end, domain; /* Not really used */ while (isspace(*sub)) sub++; - if (*sub == '>') { *outsep = *++sub; ++sub; } + if (*sub == '>') + if (*outsep = *++sub) ++sub; + else + { + expand_string_message = string_sprintf("output separator " + "missing in expanding ${addresses:%s}", --sub); + goto EXPAND_FAILED; + } parse_allow_group = TRUE; for (;;) @@ -7142,8 +7155,8 @@ while (*s != 0) if (error != NULL) { expand_string_message = string_sprintf("error in expression " - "evaluation: %s (after processing \"%.*s\")", error, sub-save_sub, - save_sub); + "evaluation: %s (after processing \"%.*s\")", error, + (int)(sub-save_sub), save_sub); goto EXPAND_FAILED; } sprintf(CS var_buffer, PR_EXIM_ARITH, n); @@ -7422,13 +7435,15 @@ while (*s != 0) { int len; int newsize = 0; - gstring * g; + gstring * g = NULL; - if (yield && yield->ptr == 0) + if (!yield) + g = store_get(sizeof(gstring)); + else if (yield->ptr == 0) { if (resetok) store_reset(yield); yield = NULL; - g = store_get(sizeof(gstring)); + g = store_get(sizeof(gstring)); /* alloc _before_ calling find_variable() */ } if (!(value = find_variable(name, FALSE, skipping, &newsize))) { diff --git a/src/src/filter.c b/src/src/filter.c index 0b3ef8b2d..01571218c 100644 --- a/src/src/filter.c +++ b/src/src/filter.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -2322,7 +2322,7 @@ while (commands != NULL) { *error_pointer = string_sprintf("Bad time value for \"once_repeat\" " "in mail or vacation command: %s", - commands->args[mailarg_index_once_repeat]); + commands->args[mailarg_index_once_repeat].u); return FF_ERROR; } } diff --git a/src/src/functions.h b/src/src/functions.h index 3bea9d2c1..1fe561f56 100644 --- a/src/src/functions.h +++ b/src/src/functions.h @@ -181,7 +181,7 @@ extern uschar *event_raise(uschar *, const uschar *, uschar *); extern void msg_event_raise(const uschar *, const address_item *); #endif extern const uschar * exim_errstr(int); -extern void exim_exit(int); +extern void exim_exit(int, const uschar *); extern void exim_nullstd(void); extern void exim_setugid(uid_t, gid_t, BOOL, uschar *); extern void exim_wait_tick(struct timeval *, int); @@ -412,7 +412,7 @@ extern void smtp_get_cache(void); extern int smtp_handle_acl_fail(int, int, uschar *, uschar *); extern void smtp_log_no_mail(void); extern void smtp_message_code(uschar **, int *, uschar **, uschar **, BOOL); -extern void smtp_proxy_tls(uschar *, size_t, int, int); +extern void smtp_proxy_tls(uschar *, size_t, int *, int); extern BOOL smtp_read_response(smtp_inblock *, uschar *, int, int, int); extern void smtp_respond(uschar *, int, BOOL, uschar *); extern void smtp_notquit_exit(uschar *, uschar *, uschar *, ...); @@ -478,6 +478,9 @@ extern int strcmpic(const uschar *, const uschar *); extern int strncmpic(const uschar *, const uschar *, int); extern uschar *strstric(uschar *, uschar *, BOOL); +#ifdef EXIM_TFO_PROBE +extern void tfo_probe(void); +#endif extern void timesince(struct timeval * diff, struct timeval * then); extern void tls_modify_variables(tls_support *); extern uschar *tod_stamp(int); diff --git a/src/src/hash.c b/src/src/hash.c index 19ab1efd0..ee4379648 100644 --- a/src/src/hash.c +++ b/src/src/hash.c @@ -1,8 +1,8 @@ /* * Exim - an Internet mail transport agent * - * Copyright (C) 2016 Exim maintainers - * Copyright (c) University of Cambridge 1995 - 2016 + * Copyright (C) 2017 Exim maintainers + * Copyright (c) University of Cambridge 1995 - 2017 * * Hash interface functions */ diff --git a/src/src/hash.h b/src/src/hash.h index 337dc9910..79521f027 100644 --- a/src/src/hash.h +++ b/src/src/hash.h @@ -1,7 +1,7 @@ /* * Exim - an Internet mail transport agent * - * Copyright (C) 2016 Exim maintainers + * Copyright (C) 2017 Exim maintainers * * Hash interface functions */ diff --git a/src/src/host.c b/src/src/host.c index c02fc5532..05bde3fb2 100644 --- a/src/src/host.c +++ b/src/src/host.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for finding hosts, either by gethostbyname(), gethostbyaddr(), or diff --git a/src/src/imap_utf7.c b/src/src/imap_utf7.c index 323225c23..dfa50a9e1 100644 --- a/src/src/imap_utf7.c +++ b/src/src/imap_utf7.c @@ -1,3 +1,6 @@ +/* Copyright (c) University of Cambridge 2017 */ +/* See the file NOTICE for conditions of use and distribution. */ + #include "exim.h" #ifdef SUPPORT_I18N diff --git a/src/src/ip.c b/src/src/ip.c index e11aef985..e85dcb23e 100644 --- a/src/src/ip.c +++ b/src/src/ip.c @@ -160,6 +160,26 @@ return bind(sock, (struct sockaddr *)&sin, s_len); +/************************************************* +*************************************************/ + +#ifdef EXIM_TFO_PROBE +void +tfo_probe(void) +{ +# ifdef TCP_FASTOPEN +int sock, backlog = 5; + +if ( (sock = socket(SOCK_STREAM, AF_INET, 0)) < 0 + && setsockopt(sock, IPPROTO_TCP, TCP_FASTOPEN, &backlog, sizeof(backlog)) + ) + tcp_fastopen_ok = TRUE; +close(sock); +# endif +} +#endif + + /************************************************* * Connect socket to remote host * *************************************************/ @@ -175,7 +195,7 @@ Arguments: address the remote address, in text form port the remote port timeout a timeout (zero for indefinite timeout) - fastopen non-null iff TCP_FASTOPEN can be used; may indicate early-data to + fastopen_blob non-null iff TCP_FASTOPEN can be used; may indicate early-data to be sent in SYN segment Returns: 0 on success; -1 on failure, with errno set @@ -183,7 +203,7 @@ Returns: 0 on success; -1 on failure, with errno set int ip_connect(int sock, int af, const uschar *address, int port, int timeout, - const blob * fastopen) + const blob * fastopen_blob) { struct sockaddr_in s_in4; struct sockaddr *s_ptr; @@ -232,16 +252,17 @@ before it gets our ACK of its SYN,ACK - the latter is useful for the SMTP banner. Other (than SMTP) cases of TCP connections can possibly use the data-on-syn, so support that too. */ -if (fastopen) +if (fastopen_blob && tcp_fastopen_ok) { - if ((rc = sendto(sock, fastopen->data, fastopen->len, + if ((rc = sendto(sock, fastopen_blob->data, fastopen_blob->len, MSG_FASTOPEN | MSG_DONTWAIT, s_ptr, s_len)) >= 0) /* seen for with-data, experimental TFO option, with-cookie case */ /* seen for with-data, proper TFO opt, with-cookie case */ { - DEBUG(D_transport|D_v) debug_printf("TFO mode connection attempt, %s data\n", - fastopen->len > 0 ? "with" : "no"); - tcp_out_fastopen = fastopen->len > 0 ? 2 : 1; + DEBUG(D_transport|D_v) + debug_printf("non-TFO mode connection attempt to %s, %lu data\n", + address, (unsigned long)fastopen_blob->len); + tcp_out_fastopen = fastopen_blob->len > 0 ? 2 : 1; } else if (errno == EINPROGRESS) /* expected if we had no cookie for peer */ /* seen for no-data, proper TFO option, both cookie-request and with-cookie cases */ @@ -251,14 +272,14 @@ if (fastopen) /* ? older Experimental TFO option behaviour ? */ { /* queue unsent data */ DEBUG(D_transport|D_v) debug_printf("TFO mode sendto, %s data: EINPROGRESS\n", - fastopen->len > 0 ? "with" : "no"); - if (!fastopen->data) + fastopen_blob->len > 0 ? "with" : "no"); + if (!fastopen_blob->data) { tcp_out_fastopen = 1; /* we tried; unknown if useful yet */ rc = 0; } else - rc = send(sock, fastopen->data, fastopen->len, 0); + rc = send(sock, fastopen_blob->data, fastopen_blob->len, 0); } else if(errno == EOPNOTSUPP) { @@ -271,9 +292,12 @@ else #endif { legacy_connect: + DEBUG(D_transport|D_v) if (fastopen_blob) + debug_printf("non-TFO mode connection attempt to %s, %lu data\n", + address, (unsigned long)fastopen_blob->len); if ((rc = connect(sock, s_ptr, s_len)) >= 0) - if ( fastopen && fastopen->data && fastopen->len - && send(sock, fastopen->data, fastopen->len, 0) < 0) + if ( fastopen_blob && fastopen_blob->data && fastopen_blob->len + && send(sock, fastopen_blob->data, fastopen_blob->len, 0) < 0) rc = -1; } @@ -320,7 +344,7 @@ Arguments: timeout a timeout connhost if not NULL, host_item to be filled in with connection details errstr pointer for allocated string on error - fastopen with SOCK_STREAM, if non-null, request TCP Fast Open. + fastopen_blob with SOCK_STREAM, if non-null, request TCP Fast Open. Additionally, optional early-data to send Return: @@ -328,7 +352,7 @@ Return: */ int ip_connectedsocket(int type, const uschar * hostname, int portlo, int porthi, - int timeout, host_item * connhost, uschar ** errstr, const blob * fastopen) + int timeout, host_item * connhost, uschar ** errstr, const blob * fastopen_blob) { int namelen, port; host_item shost; @@ -389,7 +413,7 @@ for (h = &shost; h; h = h->next) } for(port = portlo; port <= porthi; port++) - if (ip_connect(fd, af, h->address, port, timeout, fastopen) == 0) + if (ip_connect(fd, af, h->address, port, timeout, fastopen_blob) == 0) { if (fd != fd6) close(fd6); if (fd != fd4) close(fd4); diff --git a/src/src/local_scan.h b/src/src/local_scan.h index c03d87032..0aa6ef403 100644 --- a/src/src/local_scan.h +++ b/src/src/local_scan.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This file is the header that is the only Exim header to be included in the diff --git a/src/src/log.c b/src/src/log.c index fd72bb1ad..db82925e5 100644 --- a/src/src/log.c +++ b/src/src/log.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for writing log files. The code for maintaining datestamped @@ -232,7 +232,7 @@ if (s1) } if (receive_call_bombout) receive_bomb_out(NULL, s2); /* does not return */ if (smtp_input) smtp_closedown(s2); -exim_exit(EXIT_FAILURE); +exim_exit(EXIT_FAILURE, NULL); } @@ -761,7 +761,7 @@ if (!log_buffer) if (!(log_buffer = US malloc(LOG_BUFFER_SIZE))) { fprintf(stderr, "exim: failed to get store for log buffer\n"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, NULL); } /* If we haven't already done so, inspect the setting of log_file_path to @@ -958,7 +958,7 @@ if (!really_exim || log_testing_mode) else fprintf(log_stderr, "%s", CS log_buffer); } - if ((flags & LOG_PANIC_DIE) == LOG_PANIC_DIE) exim_exit(EXIT_FAILURE); + if ((flags & LOG_PANIC_DIE) == LOG_PANIC_DIE) exim_exit(EXIT_FAILURE, US""); return; } diff --git a/src/src/lookups/dbmdb.c b/src/src/lookups/dbmdb.c index 4b03c35f1..090be4f26 100644 --- a/src/src/lookups/dbmdb.c +++ b/src/src/lookups/dbmdb.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/dnsdb.c b/src/src/lookups/dnsdb.c index 9e95b9038..dfecb8166 100644 --- a/src/src/lookups/dnsdb.c +++ b/src/src/lookups/dnsdb.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/ibase.c b/src/src/lookups/ibase.c index 58bced201..acf9787a1 100644 --- a/src/src/lookups/ibase.c +++ b/src/src/lookups/ibase.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* The code in this module was contributed by Ard Biesheuvel. */ diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c index 8d6ac2674..235af0f93 100644 --- a/src/src/lookups/ldap.c +++ b/src/src/lookups/ldap.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Many thanks to Stuart Lynne for contributing the original code for this diff --git a/src/src/lookups/lf_functions.h b/src/src/lookups/lf_functions.h index 210aae4d5..b989f8459 100644 --- a/src/src/lookups/lf_functions.h +++ b/src/src/lookups/lf_functions.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Header for the functions that are shared by the lookups */ diff --git a/src/src/lookups/lf_quote.c b/src/src/lookups/lf_quote.c index 1541d0d16..83eac33b2 100644 --- a/src/src/lookups/lf_quote.c +++ b/src/src/lookups/lf_quote.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/lookups/lf_sqlperform.c b/src/src/lookups/lf_sqlperform.c index 6d4f7a798..5687fabe9 100644 --- a/src/src/lookups/lf_sqlperform.c +++ b/src/src/lookups/lf_sqlperform.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -98,7 +98,7 @@ else return DEFER; } - qserverlist = string_sprintf("%.*s", ss - s, s); + qserverlist = string_sprintf("%.*s", (int)(ss - s), s); qsep = 0; while ((qserver = string_nextinlist(&qserverlist, &qsep, qbuffer, diff --git a/src/src/lookups/lmdb.c b/src/src/lookups/lmdb.c index 55f273fd9..48ad489f9 100644 --- a/src/src/lookups/lmdb.c +++ b/src/src/lookups/lmdb.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 2016 */ +/* Copyright (c) University of Cambridge 2016 - 2017*/ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/lsearch.c b/src/src/lookups/lsearch.c index 745856d02..b236d8b72 100644 --- a/src/src/lookups/lsearch.c +++ b/src/src/lookups/lsearch.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/mysql.c b/src/src/lookups/mysql.c index 53789133e..ff1ef8325 100644 --- a/src/src/lookups/mysql.c +++ b/src/src/lookups/mysql.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Thanks to Paul Kelly for contributing the original code for these @@ -13,7 +13,53 @@ functions. */ #include "lf_functions.h" #include /* The system header */ -#include + +/* We define symbols for *_VERSION_ID (numeric), *_VERSION_STR (char*) +and *_BASE_STR (char*). It's a bit of guesswork. Especially for mariadb +with versions before 10.2, as they do not define there there specific symbols. +*/ + +/* Newer (>= 10.2) MariaDB */ +#if defined MARIADB_VERSION_ID +#define EXIM_MxSQL_VERSION_ID MARIADB_VERSION_ID + +/* MySQL defines MYSQL_VERSION_ID, and MariaDB does so */ +/* https://dev.mysql.com/doc/refman/5.7/en/c-api-server-client-versions.html */ +#elif defined LIBMYSQL_VERSION_ID +#define EXIM_MxSQL_VERSION_ID LIBMYSQL_VERSION_ID +#elif defined MYSQL_VERSION_ID +#define EXIM_MxSQL_VERSION_ID MYSQL_VERSION_ID + +#else +#define EXIM_MYSQL_VERSION_ID 0 +#endif + +/* Newer (>= 10.2) MariaDB */ +#ifdef MARIADB_CLIENT_VERSION_STR +#define EXIM_MxSQL_VERSION_STR MARIADB_CLIENT_VERSION_STR + +/* Mysql uses MYSQL_SERVER_VERSION */ +#elif defined LIBMYSQL_VERSION +#define EXIM_MxSQL_VERSION_STR LIBMYSQL_VERSION +#elif defined MYSQL_SERVER_VERSION +#define EXIM_MxSQL_VERSION_STR MYSQL_SERVER_VERSION + +#else +#define EXIM_MxSQL_VERSION_STR "unknown" +#endif + +#if defined MARIADB_BASE_VERSION +#define EXIM_MxSQL_BASE_STR MARIADB_BASE_VERSION + +#elif defined MARIADB_PACKAGE_VERSION +#define EXIM_MxSQL_BASE_STR "mariadb" + +#elif defined MYSQL_BASE_VERSION +#define EXIM_MxSQL_BASE_STR MYSQL_BASE_VERSION + +#else +#define EXIM_MxSQL_BASE_STR "n.A." +#endif /* Structure and anchor for caching connections. */ @@ -432,10 +478,10 @@ return quoted; void mysql_version_report(FILE *f) { -fprintf(f, "Library version: MySQL: Compile: %s [%s]\n" - " Runtime: %s\n", - MYSQL_SERVER_VERSION, MYSQL_COMPILATION_COMMENT, - mysql_get_client_info()); +fprintf(f, "Library version: MySQL: Compile: %lu %s [%s]\n" + " Runtime: %lu %s\n", + (long)EXIM_MxSQL_VERSION_ID, EXIM_MxSQL_VERSION_STR, EXIM_MxSQL_BASE_STR, + mysql_get_client_version(), mysql_get_client_info()); #ifdef DYNLOOKUP fprintf(f, " Exim version %s\n", EXIM_VERSION_STR); #endif diff --git a/src/src/lookups/nisplus.c b/src/src/lookups/nisplus.c index 03c343103..e4184bbd6 100644 --- a/src/src/lookups/nisplus.c +++ b/src/src/lookups/nisplus.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/pgsql.c b/src/src/lookups/pgsql.c index ef8f0997d..0b771f59c 100644 --- a/src/src/lookups/pgsql.c +++ b/src/src/lookups/pgsql.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Thanks to Petr Cech for contributing the original code for these diff --git a/src/src/lookups/redis.c b/src/src/lookups/redis.c index e8989ca3a..ad34d388c 100644 --- a/src/src/lookups/redis.c +++ b/src/src/lookups/redis.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/lookups/sqlite.c b/src/src/lookups/sqlite.c index 0df853736..ee8930d3c 100644 --- a/src/src/lookups/sqlite.c +++ b/src/src/lookups/sqlite.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/macro_predef.c b/src/src/macro_predef.c index 6b3157fbe..d13248ce4 100644 --- a/src/src/macro_predef.c +++ b/src/src/macro_predef.c @@ -21,7 +21,7 @@ uschar * syslog_facility_str; /******************************************************************************/ void -builtin_macro_create(const uschar * name) +builtin_macro_create_var(const uschar * name, const uschar * val) { printf ("static macro_item p%d = { ", mp_index); if (mp_index == 0) @@ -29,12 +29,20 @@ if (mp_index == 0) else printf(".next=&p%d,", mp_index-1); -printf(" .command_line=FALSE, .namelen=%d, .replen=1," - " .name=US\"%s\", .replacement=US\"y\" };\n", - Ustrlen(name), CS name); +printf(" .command_line=FALSE, .namelen=%d, .replen=%d," + " .name=US\"%s\", .replacement=US\"%s\" };\n", + Ustrlen(name), Ustrlen(val), CS name, CS val); mp_index++; } + +void +builtin_macro_create(const uschar * name) +{ +builtin_macro_create_var(name, US"y"); +} + + void spf(uschar * buf, int len, const uschar * fmt, ...) { @@ -265,6 +273,14 @@ options_transports(); options_auths(); } +static void +params(void) +{ +#ifndef DISABLE_DKIM +params_dkim(); +#endif +} + int main(void) @@ -272,6 +288,7 @@ main(void) printf("#include \"exim.h\"\n"); features(); options(); +params(); printf("macro_item * macros = &p%d;\n", mp_index-1); printf("macro_item * mlast = &p0;\n"); diff --git a/src/src/macro_predef.h b/src/src/macro_predef.h index 1d3ba7f74..00d9537ca 100644 --- a/src/src/macro_predef.h +++ b/src/src/macro_predef.h @@ -9,10 +9,12 @@ extern void spf(uschar *, int, const uschar *, ...); extern void builtin_macro_create(const uschar *); +extern void builtin_macro_create_var(const uschar *, const uschar *); extern void options_from_list(optionlist *, unsigned, const uschar *, uschar *); extern void options_main(void); extern void options_routers(void); extern void options_transports(void); extern void options_auths(void); +extern void params_dkim(void); diff --git a/src/src/macros.h b/src/src/macros.h index eaa7f21ef..764c65b8d 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -107,8 +107,8 @@ don't make the file descriptors two-way. */ /* Debugging control */ -#define DEBUG(x) if ((debug_selector & (x)) != 0) -#define HDEBUG(x) if (host_checking || (debug_selector & (x)) != 0) +#define DEBUG(x) if (debug_selector & (x)) +#define HDEBUG(x) if (host_checking || (debug_selector & (x))) #define PTR_CHK(ptr) \ do { \ @@ -224,9 +224,9 @@ enum { tod_log, tod_log_bare, tod_log_zone, tod_log_datestamp_daily, /* For identifying types of driver */ enum { - DTYPE_NONE, - DTYPE_ROUTER, - DTYPE_TRANSPORT + EXIM_DTYPE_NONE, + EXIM_DTYPE_ROUTER, + EXIM_DTYPE_TRANSPORT }; /* Error numbers for generating error messages when reading a message on the diff --git a/src/src/malware.c b/src/src/malware.c index ccb7e6d20..9a98c9957 100644 --- a/src/src/malware.c +++ b/src/src/malware.c @@ -4,7 +4,7 @@ /* Copyright (c) Tom Kistner 2003 - 2015 * License: GPL - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 */ /* Code for calling virus (malware) scanners. Called from acl.c. */ @@ -147,10 +147,10 @@ uses the returned in_addr to get a second connection to the same system. */ static inline int m_tcpsocket(const uschar * hostname, unsigned int port, - host_item * host, uschar ** errstr, const blob * fastopen) + host_item * host, uschar ** errstr, const blob * fastopen_blob) { return ip_connectedsocket(SOCK_STREAM, hostname, port, port, 5, - host, errstr, fastopen); + host, errstr, fastopen_blob); } static int diff --git a/src/src/match.c b/src/src/match.c index 93777c6fe..c21711410 100644 --- a/src/src/match.c +++ b/src/src/match.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for matching strings */ diff --git a/src/src/mime.c b/src/src/mime.c index 36737e9eb..45cec29a5 100644 --- a/src/src/mime.c +++ b/src/src/mime.c @@ -4,7 +4,7 @@ /* Copyright (c) Tom Kistner 2004, 2015 * License: GPL - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 */ #include "exim.h" diff --git a/src/src/moan.c b/src/src/moan.c index 6d922a5a4..0228dcd4e 100644 --- a/src/src/moan.c +++ b/src/src/moan.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for sending messages to sender or to mailmaster. */ @@ -587,7 +587,7 @@ fprintf(stderr, "%d previous message%s successfully processed.\n", fprintf(stderr, "The rest of the batch was abandoned.\n"); -exim_exit(yield); +exim_exit(yield, US"batch"); } diff --git a/src/src/mytypes.h b/src/src/mytypes.h index a74705739..2d7134d2b 100644 --- a/src/src/mytypes.h +++ b/src/src/mytypes.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/os.c b/src/src/os.c index 6eadc38b1..592b76186 100644 --- a/src/src/os.c +++ b/src/src/os.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #ifdef STAND_ALONE diff --git a/src/src/parse.c b/src/src/parse.c index 68a83b0e8..1b44146c5 100644 --- a/src/src/parse.c +++ b/src/src/parse.c @@ -745,7 +745,7 @@ if (*s == '<') *errorptr = s[-1] == 0 ? US"'>' missing at end of address" : string_sprintf("malformed address: %.32s may not follow %.*s", - s-1, s - US mailbox - 1, mailbox); + s-1, (int)(s - US mailbox - 1), mailbox); goto PARSE_FAILED; } @@ -798,7 +798,7 @@ if (*s != 0) else { *errorptr = string_sprintf("malformed address: %.32s may not follow %.*s", - s, s - US mailbox, mailbox); + s, (int)(s - US mailbox), mailbox); goto PARSE_FAILED; } } diff --git a/src/src/pdkim/Makefile b/src/src/pdkim/Makefile index 10631ceaa..c1d7db868 100644 --- a/src/src/pdkim/Makefile +++ b/src/src/pdkim/Makefile @@ -1,4 +1,5 @@ # Make file for building the pdkim library. +# Copyright (c) The Exim Maintainers 2017 OBJ = pdkim.o signing.o diff --git a/src/src/pdkim/crypt_ver.h b/src/src/pdkim/crypt_ver.h index 439d99b3a..bf620366f 100644 --- a/src/src/pdkim/crypt_ver.h +++ b/src/src/pdkim/crypt_ver.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2016 */ +/* Copyright (c) Jeremy Harris 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Signing and hashing routine selection for PDKIM */ diff --git a/src/src/pdkim/pdkim.c b/src/src/pdkim/pdkim.c index 06d455d7d..1420b1a79 100644 --- a/src/src/pdkim/pdkim.c +++ b/src/src/pdkim/pdkim.c @@ -51,14 +51,6 @@ #define PDKIM_MAX_HEADERS 512 #define PDKIM_MAX_BODY_LINE_LEN 16384 #define PDKIM_DNS_TXT_MAX_NAMELEN 1024 -#define PDKIM_DEFAULT_SIGN_HEADERS "From:Sender:Reply-To:Subject:Date:"\ - "Message-ID:To:Cc:MIME-Version:Content-Type:"\ - "Content-Transfer-Encoding:Content-ID:"\ - "Content-Description:Resent-Date:Resent-From:"\ - "Resent-Sender:Resent-To:Resent-Cc:"\ - "Resent-Message-ID:In-Reply-To:References:"\ - "List-Id:List-Help:List-Unsubscribe:"\ - "List-Subscribe:List-Post:List-Owner:List-Archive" /* -------------------------------------------------------------------------- */ struct pdkim_stringlist { diff --git a/src/src/pdkim/pdkim.h b/src/src/pdkim/pdkim.h index a34999ad8..067c574f2 100644 --- a/src/src/pdkim/pdkim.h +++ b/src/src/pdkim/pdkim.h @@ -26,6 +26,15 @@ #include "../blob.h" #include "../hash.h" +#define PDKIM_DEFAULT_SIGN_HEADERS "From:Sender:Reply-To:Subject:Date:"\ + "Message-ID:To:Cc:MIME-Version:Content-Type:"\ + "Content-Transfer-Encoding:Content-ID:"\ + "Content-Description:Resent-Date:Resent-From:"\ + "Resent-Sender:Resent-To:Resent-Cc:"\ + "Resent-Message-ID:In-Reply-To:References:"\ + "List-Id:List-Help:List-Unsubscribe:"\ + "List-Subscribe:List-Post:List-Owner:List-Archive" + /* -------------------------------------------------------------------------- */ /* Length of the preallocated buffer for the "answer" from the dns/txt callback function. This should match the maximum RDLENGTH from DNS. */ diff --git a/src/src/pdkim/pdkim_hash.h b/src/src/pdkim/pdkim_hash.h index 008f277b3..8ea550290 100644 --- a/src/src/pdkim/pdkim_hash.h +++ b/src/src/pdkim/pdkim_hash.h @@ -1,7 +1,7 @@ /* * PDKIM - a RFC4871 (DKIM) implementation * - * Copyright (C) 2016 Exim maintainers + * Copyright (C) 2017 Exim maintainers * * Hash interface functions */ diff --git a/src/src/pdkim/signing.c b/src/src/pdkim/signing.c index 1396b194e..58edb4cdd 100644 --- a/src/src/pdkim/signing.c +++ b/src/src/pdkim/signing.c @@ -1,7 +1,7 @@ /* * PDKIM - a RFC4871 (DKIM) implementation * - * Copyright (C) 2016 Exim maintainers + * Copyright (C) 2017 Exim maintainers * * signing/verification interface */ diff --git a/src/src/pdkim/signing.h b/src/src/pdkim/signing.h index 61e241e5d..61a1a0ad4 100644 --- a/src/src/pdkim/signing.h +++ b/src/src/pdkim/signing.h @@ -1,7 +1,7 @@ /* * PDKIM - a RFC4871 (DKIM) implementation * - * Copyright (C) 2016 Exim maintainers + * Copyright (C) 2017 Exim maintainers * * RSA signing/verification interface */ diff --git a/src/src/perl.c b/src/src/perl.c index 6966d73b5..faaebf302 100644 --- a/src/src/perl.c +++ b/src/src/perl.c @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) 1998 Malcolm Beattie */ +/* Copyright (C) 2017 Exim maintainers */ /* Modified by PH to get rid of the "na" usage, March 1999. Modified further by PH for general tidying for Exim 4. diff --git a/src/src/queue.c b/src/src/queue.c index 8b0494b26..f94681197 100644 --- a/src/src/queue.c +++ b/src/src/queue.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions that operate on the input queue. */ @@ -80,7 +80,11 @@ queue_filename *first = NULL; queue_filename **append = &first; while (a && b) - if (Ustrcmp(a->text, b->text) < 0) + { + int d; + if ((d = Ustrncmp(a->text, b->text, 6)) == 0) + d = Ustrcmp(a->text + 14, b->text + 14); + if (d < 0) { *append = a; append= &a->next; @@ -92,6 +96,7 @@ while (a && b) append= &b->next; b = b->next; } + } *append = a ? a : b; return first; @@ -278,7 +283,7 @@ for (; i <= *subcount; i++) if (root[j]) { next = merge_queue_lists(next, root[j]); - root[j] = (j == LOG2_MAXNODES - 1)? next : NULL; + root[j] = j == LOG2_MAXNODES - 1 ? next : NULL; } else { @@ -450,8 +455,8 @@ subsequent iterations. When the first argument of queue_get_spool_list() is -1 (for queue_run_in_ order), it scans all directories and makes a single message list. */ -for (i = (queue_run_in_order? -1 : 0); - i <= (queue_run_in_order? -1 : subcount); +for (i = queue_run_in_order ? -1 : 0; + i <= (queue_run_in_order ? -1 : subcount); i++) { queue_filename *f; diff --git a/src/src/rda.c b/src/src/rda.c index fb3edac17..80e210447 100644 --- a/src/src/rda.c +++ b/src/src/rda.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This module contains code for extracting addresses from a forwarding list diff --git a/src/src/readconf.c b/src/src/readconf.c index 1cbbd83ef..b34372c44 100644 --- a/src/src/readconf.c +++ b/src/src/readconf.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for reading the configuration file, and for displaying @@ -3271,9 +3271,8 @@ if (trusted_config && Ustrcmp(filename, US"/dev/null")) letter. If we see something starting with an upper case letter, it is taken as a macro definition. */ -while ((s = get_config_line()) != NULL) +while ((s = get_config_line())) { - if (config_lineno == 1 && Ustrstr(s, "\xef\xbb\xbf") == s) log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN, "found unexpected BOM (Byte Order Mark)"); @@ -3441,7 +3440,7 @@ if (*log_file_path != 0) openlog(). Default is LOG_MAIL set in globals.c. Allow the user to omit the leading "log_". */ -if (syslog_facility_str != NULL) +if (syslog_facility_str) { int i; uschar *s = syslog_facility_str; @@ -3451,27 +3450,22 @@ if (syslog_facility_str != NULL) s += 4; for (i = 0; i < syslog_list_size; i++) - { if (strcmpic(s, syslog_list[i].name) == 0) { syslog_facility = syslog_list[i].value; break; } - } if (i >= syslog_list_size) - { log_write(0, LOG_PANIC_DIE|LOG_CONFIG, "failed to interpret syslog_facility \"%s\"", syslog_facility_str); - } } /* Expand pid_file_path */ if (*pid_file_path != 0) { - s = expand_string(pid_file_path); - if (s == NULL) + if (!(s = expand_string(pid_file_path))) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "failed to expand pid_file_path " "\"%s\": %s", pid_file_path, expand_string_message); pid_file_path = s; @@ -3479,7 +3473,7 @@ if (*pid_file_path != 0) /* Set default value of process_log_path */ -if (process_log_path == NULL || *process_log_path =='\0') +if (!process_log_path || *process_log_path =='\0') process_log_path = string_sprintf("%s/exim-process.info", spool_directory); /* Compile the regex for matching a UUCP-style "From_" line in an incoming @@ -3489,23 +3483,19 @@ regex_From = regex_must_compile(uucp_from_pattern, FALSE, TRUE); /* Unpick the SMTP rate limiting options, if set */ -if (smtp_ratelimit_mail != NULL) - { +if (smtp_ratelimit_mail) unpick_ratelimit(smtp_ratelimit_mail, &smtp_rlm_threshold, &smtp_rlm_base, &smtp_rlm_factor, &smtp_rlm_limit); - } -if (smtp_ratelimit_rcpt != NULL) - { +if (smtp_ratelimit_rcpt) unpick_ratelimit(smtp_ratelimit_rcpt, &smtp_rlr_threshold, &smtp_rlr_base, &smtp_rlr_factor, &smtp_rlr_limit); - } /* The qualify domains default to the primary host name */ -if (qualify_domain_sender == NULL) +if (!qualify_domain_sender) qualify_domain_sender = primary_hostname; -if (qualify_domain_recipient == NULL) +if (!qualify_domain_recipient) qualify_domain_recipient = qualify_domain_sender; /* Setting system_filter_user in the configuration sets the gid as well if a @@ -3514,7 +3504,7 @@ name is given, but a numerical value does not. */ if (system_filter_uid_set && !system_filter_gid_set) { struct passwd *pw = getpwuid(system_filter_uid); - if (pw == NULL) + if (!pw) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Failed to look up uid %ld", (long int)system_filter_uid); system_filter_gid = pw->pw_gid; @@ -3524,14 +3514,14 @@ if (system_filter_uid_set && !system_filter_gid_set) /* If the errors_reply_to field is set, check that it is syntactically valid and ensure it contains a domain. */ -if (errors_reply_to != NULL) +if (errors_reply_to) { uschar *errmess; int start, end, domain; uschar *recipient = parse_extract_address(errors_reply_to, &errmess, &start, &end, &domain, FALSE); - if (recipient == NULL) + if (!recipient) log_write(0, LOG_PANIC_DIE|LOG_CONFIG, "error in errors_reply_to (%s): %s", errors_reply_to, errmess); @@ -3553,12 +3543,13 @@ if (smtp_accept_max == 0 && so that it can be computed from the host name, for example. We do this last so as to ensure that everything else is set up before the expansion. */ -if (host_number_string != NULL) +if (host_number_string) { long int n; uschar *end; uschar *s = expand_string(host_number_string); - if (s == NULL) + + if (!s) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "failed to expand localhost_number \"%s\": %s", host_number_string, expand_string_message); @@ -3577,11 +3568,10 @@ if (host_number_string != NULL) #ifdef SUPPORT_TLS /* If tls_verify_hosts is set, tls_verify_certificates must also be set */ -if ((tls_verify_hosts != NULL || tls_try_verify_hosts != NULL) && - tls_verify_certificates == NULL) +if ((tls_verify_hosts || tls_try_verify_hosts) && !tls_verify_certificates) log_write(0, LOG_PANIC_DIE|LOG_CONFIG, "tls_%sverify_hosts is set, but tls_verify_certificates is not set", - (tls_verify_hosts != NULL)? "" : "try_"); + tls_verify_hosts ? "" : "try_"); /* This also checks that the library linkage is working and we can call routines in it, so call even if tls_require_ciphers is unset */ diff --git a/src/src/receive.c b/src/src/receive.c index 4fb0c26cb..31402925d 100644 --- a/src/src/receive.c +++ b/src/src/receive.c @@ -190,7 +190,7 @@ if (STATVFS(CS path, &statbuf) != 0) log_write(0, LOG_MAIN|LOG_PANIC, "cannot accept message: failed to stat " "%s directory %s: %s", name, path, strerror(errno)); smtp_closedown(US"spool or log directory problem"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, NULL); } *inodeptr = (statbuf.F_FILES > 0)? statbuf.F_FAVAIL : -1; @@ -343,7 +343,7 @@ if (!already_bombing_out) /* Exit from the program (non-BSMTP cases) */ -exim_exit(EXIT_FAILURE); +exim_exit(EXIT_FAILURE, NULL); } @@ -1142,7 +1142,7 @@ if (error_handling == ERRORS_SENDER) else fprintf(stderr, "exim: %s%s\n", text2, text1); /* Sic */ (void)fclose(f); -exim_exit(error_rc); +exim_exit(error_rc, US""); } @@ -2620,8 +2620,9 @@ letter and it is not used internally. NOTE: If ever the format of message ids is changed, the regular expression for checking that a string is in this format must be updated in a corresponding way. It appears in the initializing code in exim.c. The macro MESSAGE_ID_LENGTH -must also be changed to reflect the correct string length. Then, of course, -other programs that rely on the message id format will need updating too. */ +must also be changed to reflect the correct string length. The queue-sort code +needs to know the layout. Then, of course, other programs that rely on the +message id format will need updating too. */ Ustrncpy(message_id, string_base62((long int)(message_id_tv.tv_sec)), 6); message_id[6] = '-'; @@ -3323,7 +3324,7 @@ if (extract_recip && (bad_addresses != NULL || recipients_count == 0)) { Uunlink(spool_name); (void)fclose(data_file); - exim_exit(error_rc); + exim_exit(error_rc, US"receiving"); } } diff --git a/src/src/regex.c b/src/src/regex.c index 3560bef52..605ae5d25 100644 --- a/src/src/regex.c +++ b/src/src/regex.c @@ -4,7 +4,7 @@ /* Copyright (c) Tom Kistner 2003-2015 * License: GPL - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 */ /* Code for matching regular expressions against headers and body. diff --git a/src/src/retry.c b/src/src/retry.c index 91c27104a..40cc2e98f 100644 --- a/src/src/retry.c +++ b/src/src/retry.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions concerned with retrying unsuccessful deliveries. */ diff --git a/src/src/rewrite.c b/src/src/rewrite.c index 830d2bb8d..fe6369f16 100644 --- a/src/src/rewrite.c +++ b/src/src/rewrite.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions concerned with rewriting headers */ @@ -309,7 +309,7 @@ for (rule = rewrite_rules; start = Ustrlen(pf1) + start + new - p1; end = start + Ustrlen(newparsed); - new = string_sprintf("%s%.*s%s", pf1, p2 - p1, p1, pf2); + new = string_sprintf("%s%.*s%s", pf1, (int)(p2 - p1), p1, pf2); } /* Now accept the whole thing */ diff --git a/src/src/rfc2047.c b/src/src/rfc2047.c index cb4a661bf..6eb567521 100644 --- a/src/src/rfc2047.c +++ b/src/src/rfc2047.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This file contains a function for decoding message header lines that may diff --git a/src/src/route.c b/src/src/route.c index 1b9676f3f..c112169f7 100644 --- a/src/src/route.c +++ b/src/src/route.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions concerned with routing, and the list of generic router options. */ diff --git a/src/src/routers/accept.c b/src/src/routers/accept.c index b3a54e7cb..9d230bf20 100644 --- a/src/src/routers/accept.c +++ b/src/src/routers/accept.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/routers/dnslookup.c b/src/src/routers/dnslookup.c index 9e230b1be..5017efbee 100644 --- a/src/src/routers/dnslookup.c +++ b/src/src/routers/dnslookup.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/routers/ipliteral.c b/src/src/routers/ipliteral.c index 5cd6da52a..bc16b1b98 100644 --- a/src/src/routers/ipliteral.c +++ b/src/src/routers/ipliteral.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/routers/iplookup.c b/src/src/routers/iplookup.c index 3592809ea..34edf439d 100644 --- a/src/src/routers/iplookup.c +++ b/src/src/routers/iplookup.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/routers/manualroute.c b/src/src/routers/manualroute.c index a695a9b6a..105fec0fe 100644 --- a/src/src/routers/manualroute.c +++ b/src/src/routers/manualroute.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/routers/queryprogram.c b/src/src/routers/queryprogram.c index abba024db..c7886923c 100644 --- a/src/src/routers/queryprogram.c +++ b/src/src/routers/queryprogram.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/routers/redirect.c b/src/src/routers/redirect.c index 5b6a08818..c823f0234 100644 --- a/src/src/routers/redirect.c +++ b/src/src/routers/redirect.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/routers/rf_change_domain.c b/src/src/routers/rf_change_domain.c index 219e283cc..afd86f643 100644 --- a/src/src/routers/rf_change_domain.c +++ b/src/src/routers/rf_change_domain.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -37,8 +37,8 @@ rf_change_domain(address_item *addr, const uschar *domain, BOOL rewrite, { address_item *parent = store_get(sizeof(address_item)); uschar *at = Ustrrchr(addr->address, '@'); -uschar *address = string_sprintf("%.*s@%s", at - addr->address, addr->address, - domain); +uschar *address = string_sprintf("%.*s@%s", + (int)(at - addr->address), addr->address, domain); DEBUG(D_route) debug_printf("domain changed to %s\n", domain); diff --git a/src/src/routers/rf_get_errors_address.c b/src/src/routers/rf_get_errors_address.c index d81f0e907..46562a704 100644 --- a/src/src/routers/rf_get_errors_address.c +++ b/src/src/routers/rf_get_errors_address.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/routers/rf_get_munge_headers.c b/src/src/routers/rf_get_munge_headers.c index bf8dc4a5d..5cd046ffb 100644 --- a/src/src/routers/rf_get_munge_headers.c +++ b/src/src/routers/rf_get_munge_headers.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/routers/rf_queue_add.c b/src/src/routers/rf_queue_add.c index 1eb109c89..fa25aa598 100644 --- a/src/src/routers/rf_queue_add.c +++ b/src/src/routers/rf_queue_add.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" diff --git a/src/src/sieve.c b/src/src/sieve.c index 3bb10785b..5d6b611c3 100644 --- a/src/src/sieve.c +++ b/src/src/sieve.c @@ -3,7 +3,7 @@ *************************************************/ /* Copyright (c) Michael Haardt 2003 - 2015 - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 * See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c index 8e7e431cd..1fdb705a5 100644 --- a/src/src/smtp_in.c +++ b/src/src/smtp_in.c @@ -565,11 +565,12 @@ for(;;) incomplete_transaction_log(US"sync failure"); log_write(0, LOG_MAIN|LOG_REJECT, "SMTP protocol synchronization error " "(next input sent too soon: pipelining was not advertised): " - "rejected \"%s\" %s next input=\"%s\"", + "rejected \"%s\" %s next input=\"%s\"%s", smtp_cmd_buffer, host_and_ident(TRUE), - string_printing(string_copyn(smtp_inptr, n))); - (void) synprot_error(L_smtp_protocol_error, 554, NULL, - US"SMTP synchronization error"); + string_printing(string_copyn(smtp_inptr, n)), + smtp_inend - smtp_inptr > n ? "..." : ""); + (void) synprot_error(L_smtp_protocol_error, 554, NULL, + US"SMTP synchronization error"); goto repeat_until_rset; } @@ -680,8 +681,11 @@ return buf; void bdat_flush_data(void) { -unsigned n = chunking_data_left; -(void) bdat_getbuf(&n); +while (chunking_data_left) +{ + unsigned n = chunking_data_left; + (void) bdat_getbuf(&n); +} receive_getc = lwr_receive_getc; receive_getbuf = lwr_receive_getbuf; @@ -841,7 +845,7 @@ if (!yield) { log_write(0, LOG_MAIN|LOG_PANIC, "string too large in smtp_printf()"); smtp_closedown(US"Unexpected error"); - exim_exit(EXIT_FAILURE); + exim_exit(EXIT_FAILURE, NULL); } /* If this is the first output for a (non-batch) RCPT command, see if all RCPTs @@ -921,7 +925,7 @@ if (smtp_batched_input) moan_smtp_batch(NULL, "421 SMTP command timeout"); /* Does not return */ smtp_notquit_exit(US"command-timeout", US"421", US"%s: SMTP command timeout - closing connection", smtp_active_hostname); -exim_exit(EXIT_FAILURE); +exim_exit(EXIT_FAILURE, US"receiving"); } @@ -945,7 +949,7 @@ if (smtp_batched_input) moan_smtp_batch(NULL, "421 SIGTERM received"); /* Does not return */ smtp_notquit_exit(US"signal-exit", US"421", US"%s: Service not available - closing connection", smtp_active_hostname); -exim_exit(EXIT_FAILURE); +exim_exit(EXIT_FAILURE, US"receiving"); } diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c index 786f8b592..2373e493c 100644 --- a/src/src/smtp_out.c +++ b/src/src/smtp_out.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* A number of functions for driving outgoing SMTP calls. */ @@ -212,7 +212,7 @@ int dscp_level; int dscp_option; int sock; int save_errno = 0; -const blob * fastopen = NULL; +const blob * fastopen_blob = NULL; #ifndef DISABLE_EVENT @@ -265,12 +265,12 @@ else { #ifdef TCP_FASTOPEN if (verify_check_given_host(&ob->hosts_try_fastopen, host) == OK) - fastopen = early_data ? early_data : &tcp_fastopen_nodata; + fastopen_blob = early_data ? early_data : &tcp_fastopen_nodata; #endif - if (ip_connect(sock, host_af, host->address, port, timeout, fastopen) < 0) + if (ip_connect(sock, host_af, host->address, port, timeout, fastopen_blob) < 0) save_errno = errno; - else if (early_data && !fastopen && early_data->data && early_data->len) + else if (early_data && !fastopen_blob && early_data->data && early_data->len) if (send(sock, early_data->data, early_data->len, 0) < 0) save_errno = errno; } @@ -309,7 +309,7 @@ else } if (ob->keepalive) ip_keepalive(sock, host->address, TRUE); #ifdef TCP_FASTOPEN - if (fastopen) tfo_out_check(sock); + if (fastopen_blob) tfo_out_check(sock); #endif return sock; } diff --git a/src/src/spam.c b/src/src/spam.c index 6ca6678f8..6b03a848f 100644 --- a/src/src/spam.c +++ b/src/src/spam.c @@ -4,7 +4,7 @@ /* Copyright (c) Tom Kistner 2003 - 2015 * License: GPL - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 */ /* Code for calling spamassassin's spamd. Called from acl.c. */ diff --git a/src/src/spf.c b/src/src/spf.c index 2741c7baf..c4c5ef761 100644 --- a/src/src/spf.c +++ b/src/src/spf.c @@ -5,7 +5,7 @@ /* Experimental SPF support. Copyright (c) Tom Kistner 2004 - 2014 License: GPL - Copyright (c) The Exim Maintainers 2016 + Copyright (c) The Exim Maintainers 2017 */ /* Code for calling spf checks via libspf-alt. Called from acl.c. */ diff --git a/src/src/spool_in.c b/src/src/spool_in.c index a5b14959f..2a99c63dd 100644 --- a/src/src/spool_in.c +++ b/src/src/spool_in.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for reading spool files. When compiling for a utility (eximon), @@ -459,8 +459,8 @@ for (;;) tree_node *node; endptr = Ustrchr(big_buffer + 6, ' '); if (endptr == NULL) goto SPOOL_FORMAT_ERROR; - name = string_sprintf("%c%.*s", big_buffer[4], endptr - big_buffer - 6, - big_buffer + 6); + name = string_sprintf("%c%.*s", big_buffer[4], + (int)(endptr - big_buffer - 6), big_buffer + 6); if (sscanf(CS endptr, " %d", &count) != 1) goto SPOOL_FORMAT_ERROR; node = acl_var_create(name); node->data.ptr = store_get(count + 1); diff --git a/src/src/spool_mbox.c b/src/src/spool_mbox.c index 432634094..16b0a332c 100644 --- a/src/src/spool_mbox.c +++ b/src/src/spool_mbox.c @@ -4,7 +4,7 @@ /* Copyright (c) Tom Kistner 2003 - 2015 * License: GPL - * Copyright (c) The Exim Maintainers 2016 + * Copyright (c) The Exim Maintainers 2017 */ /* Code for setting up a MBOX style spool file inside a /scan/ diff --git a/src/src/spool_out.c b/src/src/spool_out.c index 449662253..d48841367 100644 --- a/src/src/spool_out.c +++ b/src/src/spool_out.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for writing spool files, and moving them about. */ diff --git a/src/src/std-crypto.c b/src/src/std-crypto.c index d41e2a195..e315e993a 100644 --- a/src/src/std-crypto.c +++ b/src/src/std-crypto.c @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) Phil Pennock 2012, 2016 + * Copyright (c) The Exim Maintainers 2017 * But almost everything here is fixed published constants from RFCs, so also: * Copyright (C) The Internet Society (2003) * Copyright (C) The IETF Trust (2008) diff --git a/src/src/store.c b/src/src/store.c index 12db584ce..c7cf33c9a 100644 --- a/src/src/store.c +++ b/src/src/store.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Exim gets and frees all its store through these functions. In the original diff --git a/src/src/string.c b/src/src/string.c index 6b7d9a067..2e919e6d9 100644 --- a/src/src/string.c +++ b/src/src/string.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Miscellaneous string-handling functions. Some are not required for @@ -1372,10 +1372,20 @@ while (*fp != 0) break; case 'p': - if (p >= last - 24) { yield = FALSE; goto END_FORMAT; } - strncpy(newformat, item_start, fp - item_start); - newformat[fp - item_start] = 0; - p += sprintf(CS p, newformat, va_arg(ap, void *)); + { + void * ptr; + if (p >= last - 24) { yield = FALSE; goto END_FORMAT; } + /* sprintf() saying "(nil)" for a null pointer seems unreliable. + Handle it explicitly. */ + if ((ptr = va_arg(ap, void *))) + { + strncpy(newformat, item_start, fp - item_start); + newformat[fp - item_start] = 0; + p += sprintf(CS p, newformat, ptr); + } + else + p += sprintf(CS p, "(nil)"); + } break; /* %f format is inherently insecure if the numbers that it may be diff --git a/src/src/structs.h b/src/src/structs.h index 22c141c0d..6adb30023 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c index d54c560f7..43094f30d 100644 --- a/src/src/tls-gnu.c +++ b/src/src/tls-gnu.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Copyright (c) Phil Pennock 2012 */ diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c index 6f10cf5f7..58401e932 100644 --- a/src/src/tls-openssl.c +++ b/src/src/tls-openssl.c @@ -29,7 +29,7 @@ functions from the OpenSSL library. */ # include #endif #ifdef EXPERIMENTAL_DANE -# include +# include "danessl.h" #endif diff --git a/src/src/tls.c b/src/src/tls.c index a24b939a4..bba6acf6b 100644 --- a/src/src/tls.c +++ b/src/src/tls.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* This module provides TLS (aka SSL) support for Exim. The code for OpenSSL is diff --git a/src/src/tlscert-gnu.c b/src/src/tlscert-gnu.c index c9df5ea19..385fb8d42 100644 --- a/src/src/tlscert-gnu.c +++ b/src/src/tlscert-gnu.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2014 - 2015 */ +/* Copyright (c) Jeremy Harris 2014 - 2017 */ /* This file provides TLS/SSL support for Exim using the GnuTLS library, one of the available supported implementations. This file is #included into diff --git a/src/src/tlscert-openssl.c b/src/src/tlscert-openssl.c index bfd4dc112..3f0767926 100644 --- a/src/src/tlscert-openssl.c +++ b/src/src/tlscert-openssl.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2014 - 2016 */ +/* Copyright (c) Jeremy Harris 2014 - 2017 */ /* This module provides TLS (aka SSL) support for Exim using the OpenSSL library. It is #included into the tls.c file when that library is used. @@ -149,7 +149,7 @@ else time_t t = mktime(&tm); /* make the tm self-consistent */ if (mod && Ustrcmp(mod, "int") == 0) /* seconds since epoch */ - s = string_sprintf("%u", t); + s = string_sprintf(TIME_T_FMT, t); else { @@ -300,7 +300,7 @@ return mod ? tls_field_from_dn(cp, mod) : cp; uschar * tls_cert_version(void * cert, uschar * mod) { -return string_sprintf("%d", X509_get_version((X509 *)cert)); +return string_sprintf("%ld", X509_get_version((X509 *)cert)); } uschar * diff --git a/src/src/tod.c b/src/src/tod.c index 76b6d2da9..55933dc84 100644 --- a/src/src/tod.c +++ b/src/src/tod.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2014 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* A function for returning the time of day in various formats */ diff --git a/src/src/transport.c b/src/src/transport.c index 75af68f9b..47da45fdf 100644 --- a/src/src/transport.c +++ b/src/src/transport.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* General functions concerned with transportation, and generic options for all @@ -588,7 +588,7 @@ at = Ustrrchr(addr->address, '@'); plen = (addr->prefix == NULL)? 0 : Ustrlen(addr->prefix); slen = Ustrlen(addr->suffix); -return string_sprintf("%.*s@%s", (at - addr->address - plen - slen), +return string_sprintf("%.*s@%s", (int)(at - addr->address - plen - slen), addr->address + plen, at + 1); } diff --git a/src/src/transports/appendfile.c b/src/src/transports/appendfile.c index 3b463c644..ece1da51d 100644 --- a/src/src/transports/appendfile.c +++ b/src/src/transports/appendfile.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -306,11 +306,11 @@ for (i = 0; i < 5; i++) uschar *rest; uschar *s = expand_string(q); - if (s == NULL) + if (!s) { *errmsg = string_sprintf("Expansion of \"%s\" in %s transport failed: " "%s", q, tblock->name, expand_string_message); - return search_find_defer? DEFER : FAIL; + return search_find_defer ? DEFER : FAIL; } d = Ustrtod(s, &rest); @@ -324,7 +324,8 @@ for (i = 0; i < 5; i++) else if (tolower(*rest) == 'g') { d *= 1024.0*1024.0*1024.0; rest++; } else if (*rest == '%' && i == 2) { - if (ob->quota_value <= 0 && !ob->maildir_use_size_file) d = 0; + if (ob->quota_value <= 0 && !ob->maildir_use_size_file) + d = 0; else if ((int)d < 0 || (int)d > 100) { *errmsg = string_sprintf("Invalid quota_warn_threshold percentage (%d)" @@ -340,8 +341,8 @@ for (i = 0; i < 5; i++) appended. Currently only "no_check", so we can be lazy parsing it */ if (i < 2 && Ustrstr(rest, "/no_check") == rest) { - no_check = 1; - rest += sizeof("/no_check") - 1; + no_check = 1; + rest += sizeof("/no_check") - 1; } while (isspace(*rest)) rest++; @@ -359,41 +360,44 @@ for (i = 0; i < 5; i++) switch (i) { case 0: - if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) which = US"quota"; - ob->quota_value = (off_t)d; - ob->quota_no_check = no_check; - q = ob->quota_filecount; - break; + if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) + which = US"quota"; + ob->quota_value = (off_t)d; + ob->quota_no_check = no_check; + q = ob->quota_filecount; + break; case 1: - if (d >= 2.0*1024.0*1024.0*1024.0) which = US"quota_filecount"; - ob->quota_filecount_value = (int)d; - ob->quota_filecount_no_check = no_check; - q = ob->quota_warn_threshold; - break; + if (d >= 2.0*1024.0*1024.0*1024.0) + which = US"quota_filecount"; + ob->quota_filecount_value = (int)d; + ob->quota_filecount_no_check = no_check; + q = ob->quota_warn_threshold; + break; case 2: if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) - which = US"quota_warn_threshold"; - ob->quota_warn_threshold_value = (off_t)d; - q = ob->mailbox_size_string; - default_value = -1.0; - break; + which = US"quota_warn_threshold"; + ob->quota_warn_threshold_value = (off_t)d; + q = ob->mailbox_size_string; + default_value = -1.0; + break; case 3: - if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) - which = US"mailbox_size";; - ob->mailbox_size_value = (off_t)d; - q = ob->mailbox_filecount_string; - break; + if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) + which = US"mailbox_size";; + ob->mailbox_size_value = (off_t)d; + q = ob->mailbox_filecount_string; + break; case 4: - if (d >= 2.0*1024.0*1024.0*1024.0) which = US"mailbox_filecount"; - ob->mailbox_filecount_value = (int)d; - break; + if (d >= 2.0*1024.0*1024.0*1024.0) + which = US"mailbox_filecount"; + ob->mailbox_filecount_value = (int)d; + break; } - if (which != NULL) + if (which) { *errmsg = string_sprintf("%s value %.10g is too large (overflow) in " "%s transport", which, d, tblock->name); @@ -575,12 +579,12 @@ else if (ob->dirname == NULL && !ob->maildir_format && !ob->mailstore_format) driver options. Only one of body_only and headers_only can be set. */ ob->options |= - (tblock->body_only? topt_no_headers : 0) | - (tblock->headers_only? topt_no_body : 0) | - (tblock->return_path_add? topt_add_return_path : 0) | - (tblock->delivery_date_add? topt_add_delivery_date : 0) | - (tblock->envelope_to_add? topt_add_envelope_to : 0) | - ((ob->use_crlf || ob->mbx_format)? topt_use_crlf : 0); + (tblock->body_only ? topt_no_headers : 0) | + (tblock->headers_only ? topt_no_body : 0) | + (tblock->return_path_add ? topt_add_return_path : 0) | + (tblock->delivery_date_add ? topt_add_delivery_date : 0) | + (tblock->envelope_to_add ? topt_add_envelope_to : 0) | + ((ob->use_crlf || ob->mbx_format) ? topt_use_crlf : 0); } @@ -892,7 +896,7 @@ if (dofcntl) #ifndef NO_FLOCK if (doflock && (yield >= 0)) { - int flocktype = (fcntltype == F_WRLCK)? LOCK_EX : LOCK_SH; + int flocktype = (fcntltype == F_WRLCK) ? LOCK_EX : LOCK_SH; if (flocktime > 0) { alarm(flocktime); @@ -1271,7 +1275,7 @@ BOOL wait_for_tick = FALSE; uid_t uid = geteuid(); /* See note above */ gid_t gid = getegid(); int mbformat; -int mode = (addr->mode > 0)? addr->mode : ob->mode; +int mode = (addr->mode > 0) ? addr->mode : ob->mode; off_t saved_size = -1; off_t mailbox_size = ob->mailbox_size_value; int mailbox_filecount = ob->mailbox_filecount_value; @@ -1349,7 +1353,7 @@ if ((ob->maildir_format || ob->mailstore_format) && !isdirectory) addr->transport_return = PANIC; addr->message = string_sprintf("mail%s_format requires \"directory\" " "to be specified for the %s transport", - ob->maildir_format? "dir" : "store", tblock->name); + ob->maildir_format ? "dir" : "store", tblock->name); return FALSE; } @@ -1389,10 +1393,10 @@ if (isdirectory) { mbformat = #ifdef SUPPORT_MAILDIR - (ob->maildir_format)? mbf_maildir : + (ob->maildir_format) ? mbf_maildir : #endif #ifdef SUPPORT_MAILSTORE - (ob->mailstore_format)? mbf_mailstore : + (ob->mailstore_format) ? mbf_mailstore : #endif mbf_smail; } @@ -1400,7 +1404,7 @@ else { mbformat = #ifdef SUPPORT_MBX - (ob->mbx_format)? mbf_mbx : + (ob->mbx_format) ? mbf_mbx : #endif mbf_unix; } @@ -1413,22 +1417,22 @@ DEBUG(D_transport) " %s=%s format=%s\n message_prefix=%s\n message_suffix=%s\n " "maildir_use_size_file=%s\n", mode, ob->notify_comsat, ob->quota_value, - ob->quota_no_check? " (no_check)" : "", - ob->quota_filecount_no_check? " (no_check_filecount)" : "", + ob->quota_no_check ? " (no_check)" : "", + ob->quota_filecount_no_check ? " (no_check_filecount)" : "", ob->quota_warn_threshold_value, - ob->quota_warn_threshold_is_percent? "%" : "", - isdirectory? "directory" : "file", + ob->quota_warn_threshold_is_percent ? "%" : "", + isdirectory ? "directory" : "file", path, mailbox_formats[mbformat], - (ob->message_prefix == NULL)? US"null" : string_printing(ob->message_prefix), - (ob->message_suffix == NULL)? US"null" : string_printing(ob->message_suffix), - (ob->maildir_use_size_file)? "yes" : "no"); + (ob->message_prefix == NULL) ? US"null" : string_printing(ob->message_prefix), + (ob->message_suffix == NULL) ? US"null" : string_printing(ob->message_suffix), + (ob->maildir_use_size_file) ? "yes" : "no"); if (!isdirectory) debug_printf(" locking by %s%s%s%s%s\n", - ob->use_lockfile? "lockfile " : "", - ob->use_mbx_lock? "mbx locking (" : "", - ob->use_fcntl? "fcntl " : "", - ob->use_flock? "flock" : "", - ob->use_mbx_lock? ")" : ""); + ob->use_lockfile ? "lockfile " : "", + ob->use_mbx_lock ? "mbx locking (" : "", + ob->use_fcntl ? "fcntl " : "", + ob->use_flock ? "flock" : "", + ob->use_mbx_lock ? ")" : ""); } /* If the -N option is set, can't do any more. */ @@ -1740,7 +1744,7 @@ if (!isdirectory) int sleep_before_retry = TRUE; file_opened = FALSE; - if((use_lstat? Ulstat(filename, &statbuf) : Ustat(filename, &statbuf)) != 0) + if((use_lstat ? Ulstat(filename, &statbuf) : Ustat(filename, &statbuf)) != 0) { /* Let's hope that failure to stat (other than non-existence) is a rare event. */ @@ -1787,7 +1791,7 @@ if (!isdirectory) get a shared lock. */ fd = Uopen(filename, O_RDWR | O_APPEND | O_CREAT | - (use_lstat? O_EXCL : 0), mode); + (use_lstat ? O_EXCL : 0), mode); if (fd < 0) { if (errno == EEXIST) continue; @@ -1836,7 +1840,7 @@ if (!isdirectory) addr->basic_errno = ERRNO_BADUGID; addr->message = string_sprintf("mailbox %s%s has wrong uid " "(%ld != %ld)", filename, - islink? " (symlink)" : "", + islink ? " (symlink)" : "", (long int)(statbuf.st_uid), (long int)uid); goto RETURN; } @@ -1847,7 +1851,7 @@ if (!isdirectory) { addr->basic_errno = ERRNO_BADUGID; addr->message = string_sprintf("mailbox %s%s has wrong gid (%d != %d)", - filename, islink? " (symlink)" : "", statbuf.st_gid, gid); + filename, islink ? " (symlink)" : "", statbuf.st_gid, gid); goto RETURN; } @@ -1858,7 +1862,7 @@ if (!isdirectory) { addr->basic_errno = ERRNO_NOTREGULAR; addr->message = string_sprintf("mailbox %s%s has too many links (%d)", - filename, islink? " (symlink)" : "", statbuf.st_nlink); + filename, islink ? " (symlink)" : "", statbuf.st_nlink); goto RETURN; } @@ -1884,7 +1888,7 @@ if (!isdirectory) { addr->basic_errno = ERRNO_NOTREGULAR; addr->message = string_sprintf("mailbox %s is not a regular file%s", - filename, ob->allow_fifo? " or named pipe" : ""); + filename, ob->allow_fifo ? " or named pipe" : ""); goto RETURN; } @@ -1933,7 +1937,7 @@ if (!isdirectory) a FIFO is opened WRONLY + NDELAY so that it fails if there is no process reading the pipe. */ - fd = Uopen(filename, isfifo? (O_WRONLY|O_NDELAY) : (O_RDWR|O_APPEND), + fd = Uopen(filename, isfifo ? (O_WRONLY|O_NDELAY) : (O_RDWR|O_APPEND), mode); if (fd < 0) { @@ -1980,7 +1984,7 @@ if (!isdirectory) { addr->basic_errno = ERRNO_INODECHANGED; addr->message = string_sprintf("opened mailbox %s inode number changed " - "from %d to %ld", filename, inode, statbuf.st_ino); + "from " INO_T_FMT " to " INO_T_FMT, filename, inode, statbuf.st_ino); addr->special_action = SPECIAL_FREEZE; goto RETURN; } @@ -1994,7 +1998,7 @@ if (!isdirectory) addr->basic_errno = ERRNO_NOTREGULAR; addr->message = string_sprintf("opened mailbox %s is no longer a %s", filename, - isfifo? "named pipe" : "regular file"); + isfifo ? "named pipe" : "regular file"); addr->special_action = SPECIAL_FREEZE; goto RETURN; } @@ -2432,7 +2436,7 @@ else { uschar *s = path + check_path_len; while (*s == '/') s++; - s = (*s == 0)? US "new" : string_sprintf("%s/new", s); + s = (*s == 0) ? US "new" : string_sprintf("%s/new", s); if (pcre_exec(dir_regex, NULL, CS s, Ustrlen(s), 0, 0, NULL, 0) < 0) { disable_quota = TRUE; @@ -2571,7 +2575,7 @@ else uschar *basename; (void)gettimeofday(&msg_tv, NULL); - basename = string_sprintf(TIME_T_FMT ".H%luP%lu.%s", + basename = string_sprintf(TIME_T_FMT ".H%luP" PID_T_FMT ".%s", msg_tv.tv_sec, msg_tv.tv_usec, getpid(), primary_hostname); filename = dataname = string_sprintf("tmp/%s", basename); @@ -2592,7 +2596,7 @@ else if (i >= ob->maildir_retries) { addr->message = string_sprintf ("failed to open %s (%d tr%s)", - filename, i, (i == 1)? "y" : "ies"); + filename, i, (i == 1) ? "y" : "ies"); addr->basic_errno = errno; if (errno == errno_quota || errno == ENOSPC) addr->user_message = US"mailbox is full"; @@ -2801,12 +2805,12 @@ if (!disable_quota && ob->quota_value > 0) debug_printf("Exim quota = " OFF_T_FMT " old size = " OFF_T_FMT " this message = %d (%sincluded)\n", ob->quota_value, mailbox_size, message_size, - ob->quota_is_inclusive? "" : "not "); + ob->quota_is_inclusive ? "" : "not "); debug_printf(" file count quota = %d count = %d\n", ob->quota_filecount_value, mailbox_filecount); } - if (mailbox_size + (ob->quota_is_inclusive? message_size:0) > ob->quota_value) + if (mailbox_size + (ob->quota_is_inclusive ? message_size:0) > ob->quota_value) { if (!ob->quota_no_check) @@ -2898,7 +2902,7 @@ if (yield == OK && ob->use_bsmtp) transport_newlines++; for (a = addr; a != NULL; a = a->next) { - address_item *b = testflag(a, af_pfr)? a->parent: a; + address_item *b = testflag(a, af_pfr) ? a->parent: a; if (!transport_write_string(fd, "RCPT TO:<%s>%s\n", transport_rcpt_address(b, tblock->rcpt_include_affixes), cr)) { yield = DEFER; break; } @@ -3078,7 +3082,7 @@ if (yield != OK) } else /* Want a repeatable time when in test harness */ { - addr->more_errno = running_in_test_harness? 10 : + addr->more_errno = running_in_test_harness ? 10 : (int)time(NULL) - statbuf.st_mtime; } DEBUG(D_transport) @@ -3103,8 +3107,8 @@ if (yield != OK) addr->user_message = US"mailbox is full"; DEBUG(D_transport) debug_printf("System quota exceeded for %s%s%s\n", dataname, - isdirectory? US"" : US": time since file read = ", - isdirectory? US"" : readconf_printtime(addr->more_errno)); + isdirectory ? US"" : US": time since file read = ", + isdirectory ? US"" : readconf_printtime(addr->more_errno)); } /* Handle Exim's own quota-imposition */ @@ -3117,8 +3121,8 @@ if (yield != OK) addr->user_message = US"mailbox is full"; DEBUG(D_transport) debug_printf("Exim%s quota exceeded for %s%s%s\n", filecount_msg, dataname, - isdirectory? US"" : US": time since file read = ", - isdirectory? US"" : readconf_printtime(addr->more_errno)); + isdirectory ? US"" : US": time since file read = ", + isdirectory ? US"" : readconf_printtime(addr->more_errno)); } /* Handle a process failure while writing via a filter; the return @@ -3129,7 +3133,7 @@ if (yield != OK) yield = PANIC; addr->message = string_sprintf("transport filter process failed (%d) " "while writing to %s%s", addr->more_errno, dataname, - (addr->more_errno == EX_EXECFAILED)? ": unable to execute command" : ""); + (addr->more_errno == EX_EXECFAILED) ? ": unable to execute command" : ""); } /* Handle failure to expand header changes */ @@ -3203,7 +3207,7 @@ else { addr->basic_errno = errno; addr->message = string_sprintf("close() error for %s", - (ob->mailstore_format)? dataname : filename); + (ob->mailstore_format) ? dataname : filename); yield = DEFER; } diff --git a/src/src/transports/appendfile.h b/src/src/transports/appendfile.h index 70330857d..e2c919796 100644 --- a/src/src/transports/appendfile.h +++ b/src/src/transports/appendfile.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Private structure for the private options. */ diff --git a/src/src/transports/autoreply.c b/src/src/transports/autoreply.c index 9f6e2acaf..bf31951fa 100644 --- a/src/src/transports/autoreply.c +++ b/src/src/transports/autoreply.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/transports/lmtp.c b/src/src/transports/lmtp.c index f26050fdc..de1ee166b 100644 --- a/src/src/transports/lmtp.c +++ b/src/src/transports/lmtp.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/transports/pipe.c b/src/src/transports/pipe.c index 0ce281fd0..5b7fa1f5c 100644 --- a/src/src/transports/pipe.c +++ b/src/src/transports/pipe.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/transports/queuefile.c b/src/src/transports/queuefile.c index bc4ed3f40..4a74c752a 100644 --- a/src/src/transports/queuefile.c +++ b/src/src/transports/queuefile.c @@ -4,6 +4,7 @@ /* Copyright (c) Andrew Colin Kissa 2016 */ /* Copyright (c) University of Cambridge 2016 */ +/* Copyright (c) The Exim Maintainers 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 14cfde72a..9dc632e7f 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -1820,7 +1820,7 @@ goto SEND_QUIT; errno = ERRNO_SMTPCLOSED; goto EHLOHELO_FAILED; } - Ustrncpy(sx->buffer, rsp, sizeof(sx->buffer)/2); + memmove(sx->buffer, rsp, Ustrlen(rsp)); goto RESPONSE_FAILED; } } @@ -2176,11 +2176,6 @@ return OK; sx->send_quit = FALSE; goto FAILED; - /* This label is jumped to directly when a TLS negotiation has failed, - or was not done for a host for which it is required. Values will be set - in message and errno, and setting_up will always be true. Treat as - a temporary error. */ - EHLOHELO_FAILED: code = '4'; message = string_sprintf("Remote host closed connection in response to %s" @@ -2188,6 +2183,11 @@ return OK; sx->send_quit = FALSE; goto FAILED; + /* This label is jumped to directly when a TLS negotiation has failed, + or was not done for a host for which it is required. Values will be set + in message and errno, and setting_up will always be true. Treat as + a temporary error. */ + #ifdef SUPPORT_TLS TLS_FAILED: code = '4'; @@ -2580,29 +2580,37 @@ return 0; * Proxy TLS connection for another transport process * ******************************************************/ /* -Use the given buffer as a staging area, and select on both the given fd -and the TLS'd client-fd for data to read (per the coding in ip_recv() and -fd_ready() this is legitimate). Do blocking full-size writes, and reads -under a timeout. +Close the unused end of the pipe, fork once more, then use the given buffer +as a staging area, and select on both the given fd and the TLS'd client-fd for +data to read (per the coding in ip_recv() and fd_ready() this is legitimate). +Do blocking full-size writes, and reads under a timeout. Once both input +channels are closed, exit the process. Arguments: buf space to use for buffering bufsiz size of buffer - proxy_fd comms to proxied process + pfd pipe filedescriptor array; [0] is comms to proxied process timeout per-read timeout, seconds */ void -smtp_proxy_tls(uschar * buf, size_t bsize, int proxy_fd, int timeout) +smtp_proxy_tls(uschar * buf, size_t bsize, int * pfd, int timeout) { fd_set rfds, efds; -int max_fd = MAX(proxy_fd, tls_out.active) + 1; +int max_fd = MAX(pfd[0], tls_out.active) + 1; int rc, i, fd_bits, nbytes; +close(pfd[1]); +if ((rc = fork())) + { + DEBUG(D_transport) debug_printf("proxy-proc final-pid %d\n", rc); + _exit(rc < 0 ? EXIT_FAILURE : EXIT_SUCCESS); + } + set_process_info("proxying TLS connection for continued transport"); FD_ZERO(&rfds); FD_SET(tls_out.active, &rfds); -FD_SET(proxy_fd, &rfds); +FD_SET(pfd[0], &rfds); for (fd_bits = 3; fd_bits; ) { @@ -2624,17 +2632,17 @@ for (fd_bits = 3; fd_bits; ) if (rc <= 0) { DEBUG(D_transport) if (rc == 0) debug_printf("%s: timed out\n", __FUNCTION__); - return; + goto done; } - if (FD_ISSET(tls_out.active, &efds) || FD_ISSET(proxy_fd, &efds)) + if (FD_ISSET(tls_out.active, &efds) || FD_ISSET(pfd[0], &efds)) { DEBUG(D_transport) debug_printf("select: exceptional cond on %s fd\n", - FD_ISSET(proxy_fd, &efds) ? "proxy" : "tls"); - return; + FD_ISSET(pfd[0], &efds) ? "proxy" : "tls"); + goto done; } } - while (rc < 0 || !(FD_ISSET(tls_out.active, &rfds) || FD_ISSET(proxy_fd, &rfds))); + while (rc < 0 || !(FD_ISSET(tls_out.active, &rfds) || FD_ISSET(pfd[0], &rfds))); /* handle inbound data */ if (FD_ISSET(tls_out.active, &rfds)) @@ -2642,20 +2650,20 @@ for (fd_bits = 3; fd_bits; ) { fd_bits &= ~1; FD_CLR(tls_out.active, &rfds); - shutdown(proxy_fd, SHUT_WR); + shutdown(pfd[0], SHUT_WR); timeout = 5; } else { for (nbytes = 0; rc - nbytes > 0; nbytes += i) - if ((i = write(proxy_fd, buf + nbytes, rc - nbytes)) < 0) return; + if ((i = write(pfd[0], buf + nbytes, rc - nbytes)) < 0) goto done; } else if (fd_bits & 1) FD_SET(tls_out.active, &rfds); /* handle outbound data */ - if (FD_ISSET(proxy_fd, &rfds)) - if ((rc = read(proxy_fd, buf, bsize)) <= 0) + if (FD_ISSET(pfd[0], &rfds)) + if ((rc = read(pfd[0], buf, bsize)) <= 0) { fd_bits = 0; tls_close(FALSE, TRUE); @@ -2664,11 +2672,15 @@ for (fd_bits = 3; fd_bits; ) { for (nbytes = 0; rc - nbytes > 0; nbytes += i) if ((i = tls_write(FALSE, buf + nbytes, rc - nbytes, FALSE)) < 0) - return; + goto done; } else if (fd_bits & 2) - FD_SET(proxy_fd, &rfds); + FD_SET(pfd[0], &rfds); } + +done: + if (running_in_test_harness) millisleep(100); /* let logging complete */ + exim_exit(0, US"TLS proxy"); } #endif @@ -3153,7 +3165,7 @@ else else sprintf(CS sx.buffer, "%.500s\n", addr->unique); - DEBUG(D_deliver) debug_printf("S:journalling %s", sx.buffer); + DEBUG(D_deliver) debug_printf("S:journalling %s\n", sx.buffer); len = Ustrlen(CS sx.buffer); if (write(journal_fd, sx.buffer, len) != len) log_write(0, LOG_MAIN|LOG_PANIC, "failed to write journal for " @@ -3485,7 +3497,8 @@ propagate it from the initial { sx.send_quit = FALSE; - /* If TLS is still active, we need to proxy it for the transport we + /* We have passed the client socket to a fresh transport process. + If TLS is still active, we need to proxy it for the transport we just passed the baton to. Fork a child to to do it, and return to get logging done asap. Which way to place the work makes assumptions about post-fork prioritisation which may not hold on all platforms. */ @@ -3493,10 +3506,16 @@ propagate it from the initial if (tls_out.active >= 0) { int pid = fork(); + if (pid == 0) /* child; fork again to disconnect totally */ + /* does not return */ + smtp_proxy_tls(sx.buffer, sizeof(sx.buffer), pfd, + sx.ob->command_timeout); + if (pid > 0) /* parent */ { DEBUG(D_transport) debug_printf("proxy-proc inter-pid %d\n", pid); close(pfd[0]); + /* tidy the inter-proc to disconn the proxy proc */ waitpid(pid, NULL, 0); tls_close(FALSE, FALSE); (void)close(sx.inblock.sock); @@ -3504,17 +3523,7 @@ propagate it from the initial continue_hostname = NULL; return yield; } - else if (pid == 0) /* child; fork again to disconnect totally */ - { - close(pfd[1]); - if ((pid = fork())) - { - DEBUG(D_transport) debug_printf("proxy-prox final-pid %d\n", pid); - _exit(pid ? EXIT_FAILURE : EXIT_SUCCESS); - } - smtp_proxy_tls(sx.buffer, sizeof(sx.buffer), pfd[0], sx.ob->command_timeout); - exim_exit(0); - } + log_write(0, LOG_PANIC_DIE, "fork failed"); } #endif } diff --git a/src/src/transports/smtp_socks.c b/src/src/transports/smtp_socks.c index c9907dd54..5eee220a5 100644 --- a/src/src/transports/smtp_socks.c +++ b/src/src/transports/smtp_socks.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2015 */ +/* Copyright (c) Jeremy Harris 2015 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* SOCKS version 5 proxy, client-mode */ @@ -74,8 +74,6 @@ sob->priority = SOCKS_PRIORITY; static void socks_option(socks_opts * sob, const uschar * opt) { -const uschar * s; - if (Ustrncmp(opt, "auth=", 5) == 0) { opt += 5; diff --git a/src/src/transports/tf_maildir.c b/src/src/transports/tf_maildir.c index 9e18a804b..d970156be 100644 --- a/src/src/transports/tf_maildir.c +++ b/src/src/transports/tf_maildir.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2014 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions in support of the use of maildirsize files for handling quotas in diff --git a/src/src/utf8.c b/src/src/utf8.c index dcc944af9..cf010283b 100644 --- a/src/src/utf8.c +++ b/src/src/utf8.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2015, 2016 */ +/* Copyright (c) Jeremy Harris 2015 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ diff --git a/src/src/verify.c b/src/src/verify.c index ac5eb667b..b957c709b 100644 --- a/src/src/verify.c +++ b/src/src/verify.c @@ -2263,7 +2263,7 @@ for (h = header_list; h != NULL && yield == OK; h = h->next) /* deconst cast ok as we're passing a non-const to string_printing() */ *msgptr = US string_printing( string_sprintf("%s: failing address in \"%.*s:\" header %s: %.*s", - errmess, tt - h->text, h->text, verb, len, s)); + errmess, (int)(tt - h->text), h->text, verb, len, s)); yield = FAIL; break; /* Out of address loop */ @@ -2564,7 +2564,7 @@ for (i = 0; i < 3 && !done; i++) while (ss > s && isspace(ss[-1])) ss--; *log_msgptr = string_sprintf("syntax error in '%.*s' header when " "scanning for sender: %s in \"%.*s\"", - endname - h->text, h->text, *log_msgptr, ss - s, s); + (int)(endname - h->text), h->text, *log_msgptr, (int)(ss - s), s); yield = FAIL; done = TRUE; break; @@ -2592,11 +2592,9 @@ for (i = 0; i < 3 && !done; i++) { *verrno = vaddr->basic_errno; if (smtp_return_error_details) - { *user_msgptr = string_sprintf("Rejected after DATA: " "could not verify \"%.*s\" header address\n%s: %s", - endname - h->text, h->text, vaddr->address, vaddr->message); - } + (int)(endname - h->text), h->text, vaddr->address, vaddr->message); } /* Success or defer */ @@ -2657,6 +2655,7 @@ verify_get_ident(int port) int sock, host_af, qlen; int received_sender_port, received_interface_port, n; uschar *p; +blob early_data; uschar buffer[2048]; /* Default is no ident. Check whether we want to do an ident check for this @@ -2682,11 +2681,15 @@ if (ip_bind(sock, host_af, interface_address, 0) < 0) goto END_OFF; } -/*XXX could take advantage of TFO early-data. Hmm, what are the -error returns; can we differentiate connect from data fails? -Do we need to? */ +/* Construct and send the query. */ + +qlen = snprintf(CS buffer, sizeof(buffer), "%d , %d\r\n", + sender_host_port, interface_port); +early_data.data = buffer; +early_data.len = qlen; + if (ip_connect(sock, host_af, sender_host_address, port, - rfc1413_query_timeout, &tcp_fastopen_nodata) < 0) + rfc1413_query_timeout, &early_data) < 0) { if (errno == ETIMEDOUT && LOGGING(ident_timeout)) log_write(0, LOG_MAIN, "ident connection to %s timed out", @@ -2697,16 +2700,6 @@ if (ip_connect(sock, host_af, sender_host_address, port, goto END_OFF; } -/* Construct and send the query. */ - -sprintf(CS buffer, "%d , %d\r\n", sender_host_port, interface_port); -qlen = Ustrlen(buffer); -if (send(sock, buffer, qlen, 0) < 0) - { - DEBUG(D_ident) debug_printf("ident send failed: %s\n", strerror(errno)); - goto END_OFF; - } - /* Read a response line. We put it into the rest of the buffer, using several recv() calls if necessary. */ diff --git a/src/src/version.c b/src/src/version.c index f27cc3cde..822323627 100644 --- a/src/src/version.c +++ b/src/src/version.c @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) The Exim Maintainers 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Function for setting up the version string. */ diff --git a/test/aux-fixed/2800.lmdb-mkdb-dump.py b/test/aux-fixed/2800.lmdb-mkdb-dump.py deleted file mode 100644 index 3de6ba13b..000000000 --- a/test/aux-fixed/2800.lmdb-mkdb-dump.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python -import os -import lmdb - -if os.path.exists('2800.mdb'): - os.unlink('2800.mdb') - -env = lmdb.open('2800.mdb', subdir=False); -with env.begin(write=True) as txn: - txn.put('first', 'data for first') - txn.put('second', 'A=1 B=2') - txn.put('third', 'A1:B2:C3') - cursor = txn.cursor() - for key, value in cursor: - print key, "=>", value diff --git a/test/aux-fixed/2800.mdb b/test/aux-fixed/2800.mdb deleted file mode 100644 index 2002ee1b5..000000000 Binary files a/test/aux-fixed/2800.mdb and /dev/null differ diff --git a/test/aux-fixed/2800.mdb.src b/test/aux-fixed/2800.mdb.src deleted file mode 100644 index 957952720..000000000 --- a/test/aux-fixed/2800.mdb.src +++ /dev/null @@ -1,3 +0,0 @@ -first: data for first -second: A=1 B=2 -third: A1:B2:C3 diff --git a/test/confs/2031 b/test/confs/2031 index 38713735b..0d9bba640 100644 --- a/test/confs/2031 +++ b/test/confs/2031 @@ -12,7 +12,7 @@ primary_hostname = myhost.test.ex domainlist local_domains = test.ex : *.test.ex acl_smtp_rcpt = acl_log_sni -log_selector = +tls_peerdn +tls_sni +log_selector = +tls_peerdn +tls_sni +received_recipients remote_max_parallel = 1 tls_advertise_hosts = * diff --git a/test/confs/2038 b/test/confs/2038 index 140819433..d5465e30d 100644 --- a/test/confs/2038 +++ b/test/confs/2038 @@ -14,6 +14,7 @@ log_selector = +tls_peerdn+smtp_connection+incoming_port+received_recipients queue_only queue_run_in_order +remote_max_parallel = 1 smtp_accept_max_nonmail = 0 diff --git a/test/confs/2102 b/test/confs/2102 index 8b2083959..58ff6fbaa 100644 --- a/test/confs/2102 +++ b/test/confs/2102 @@ -40,7 +40,9 @@ check_recipient: DHE_RSA_AES_256_CBC_SHA1 : \ DHE_RSA_3DES_EDE_CBC_SHA : \ ECDHE-RSA-AES256-GCM-SHA384 : \ - ECDHE-RSA-AES128-GCM-SHA256 + ECDHE-RSA-AES128-GCM-SHA256 : \ + ECDHE-RSA-CHACHA20-POLY1305 + logwrite = cipher: $tls_in_cipher warn logwrite = ${if def:tls_in_ourcert \ {Our cert SN: <${certextract{subject}{$tls_in_ourcert}}>} \ {We did not present a cert}} diff --git a/test/confs/2119 b/test/confs/2119 index 26ae4c1bc..d55232d05 100644 --- a/test/confs/2119 +++ b/test/confs/2119 @@ -39,7 +39,8 @@ check_recipient: DHE_RSA_AES_256_CBC_SHA1:\ DHE_RSA_3DES_EDE_CBC_SHA:\ ECDHE-RSA-AES256-GCM-SHA384:\ - ECDHE-RSA-AES128-GCM-SHA256 + ECDHE-RSA-AES128-GCM-SHA256:\ + ECDHE-RSA-CHACHA20-POLY1305 accept diff --git a/test/confs/2132 b/test/confs/2132 index 7fb561bdc..7e491b8a6 100644 --- a/test/confs/2132 +++ b/test/confs/2132 @@ -39,7 +39,8 @@ check_recipient: DHE_RSA_AES_256_CBC_SHA1 : \ DHE_RSA_3DES_EDE_CBC_SHA : \ ECDHE-RSA-AES256-GCM-SHA384 : \ - ECDHE-RSA-AES128-GCM-SHA256 + ECDHE-RSA-AES128-GCM-SHA256 : \ + ECDHE-RSA-CHACHA20-POLY1305 warn logwrite = ${if def:tls_in_ourcert \ {Our cert SN: <${certextract{subject}{$tls_in_ourcert}}>} \ {We did not present a cert}} diff --git a/test/confs/2138 b/test/confs/2138 index d6d7604d8..7fec82541 100644 --- a/test/confs/2138 +++ b/test/confs/2138 @@ -14,6 +14,7 @@ log_selector = +tls_peerdn+smtp_connection+incoming_port+received_recipients queue_only queue_run_in_order +remote_max_parallel = 1 smtp_accept_max_nonmail = 0 diff --git a/test/confs/4520 b/test/confs/4520 index 897c1a675..8fa3c38c8 100644 --- a/test/confs/4520 +++ b/test/confs/4520 @@ -9,7 +9,7 @@ primary_hostname = myhost.test.ex # ----- Main settings ----- -acl_smtp_rcpt = accept +acl_smtp_rcpt = accept logwrite = macro: _DKIM_SIGN_HEADERS acl_smtp_dkim = accept logwrite = signer: $dkim_cur_signer bits: $dkim_key_length h=$dkim_headernames DDIR=DIR/aux-fixed/dkim diff --git a/test/log/0901 b/test/log/0901 index 0297a8915..0f876740f 100644 --- a/test/log/0901 +++ b/test/log/0901 @@ -10,6 +10,6 @@ 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data 1999-03-02 09:44:33 10HmbD-0005vi-00 <= someone8@some.domain H=(tester) [127.0.0.1] P=esmtp K S=sss for CALLER@test.ex -1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\n" +1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\no: Susan@random.co"... 1999-03-02 09:44:33 SMTP call from (tester) [127.0.0.1] dropped: too many syntax or protocol errors (last command was "From: Sam@random.com") 1999-03-02 09:44:33 SMTP connection from (tester) [127.0.0.1] lost while reading message data (header) diff --git a/test/log/2031 b/test/log/2031 index 04b404948..b4d0e0bf6 100644 --- a/test/log/2031 +++ b/test/log/2031 @@ -1,17 +1,17 @@ -1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for CALLER@test.ex 1999-03-02 09:44:33 10HmaX-0005vi-00 => CALLER@test.ex R=client T=send_to_server1 H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no DN="C=UK,O=The Exim Maintainers,OU=Test Suite,CN=Phil Pennock" C="250 OK id=10HmaY-0005vi-00" 1999-03-02 09:44:33 10HmaX-0005vi-00 Completed -1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss +1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for abcd@test.ex 1999-03-02 09:44:33 10HmaZ-0005vi-00 => abcd@test.ex R=client T=send_to_server2 H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no DN="CN=server1.example.com" C="250 OK id=10HmbA-0005vi-00" 1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed ******** SERVER ******** 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 1999-03-02 09:44:33 SNI -1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no SNI="fred" S=sss id=E10HmaX-0005vi-00@myhost.test.ex +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no SNI="fred" S=sss id=E10HmaX-0005vi-00@myhost.test.ex for CALLER@test.ex 1999-03-02 09:44:33 10HmaY-0005vi-00 => :blackhole: R=server 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed 1999-03-02 09:44:33 SNI -1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no SNI="bill" S=sss id=E10HmaZ-0005vi-00@myhost.test.ex +1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtps X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no SNI="bill" S=sss id=E10HmaZ-0005vi-00@myhost.test.ex for abcd@test.ex 1999-03-02 09:44:33 10HmbA-0005vi-00 => :blackhole: R=server 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed diff --git a/test/log/2038 b/test/log/2038 index b3dfed849..1ffc1aa92 100644 --- a/test/log/2038 +++ b/test/log/2038 @@ -1,4 +1,3 @@ -**NOTE: The delivery lines in this file have been sorted. 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for userx0@test.ex userx1@test.ex 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for usery0@test.ex usery1@test.ex 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for userz0@test.ex userz1@test.ex diff --git a/test/log/2124 b/test/log/2124 index cafa67b4d..72f0a5342 100644 --- a/test/log/2124 +++ b/test/log/2124 @@ -4,4 +4,4 @@ 1999-03-02 09:44:33 [ip4.ip4.ip4.ip4] SSL verify error: depth=0 error=self signed certificate cert=/C=UK/O=The Exim Maintainers/OU=Test Suite/CN=Phil Pennock 1999-03-02 09:44:33 TLS error on connection from (rhu.barb) [ip4.ip4.ip4.ip4] (SSL_accept): error: <> 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 -1999-03-02 09:44:33 TLS error on connection from (rhu.barb) [ip4.ip4.ip4.ip4] (SSL_CTX_use_certificate_chain_file file=/non/exist): error:02001002:system library:fopen:No such file or directory +1999-03-02 09:44:33 TLS error on connection from (rhu.barb) [ip4.ip4.ip4.ip4] (SSL_CTX_use_certificate_chain_file file=/non/exist): error:xxxxxxxx:system library:fopen:No such file or directory diff --git a/test/log/2138 b/test/log/2138 index 6bc8e0284..6e82af290 100644 --- a/test/log/2138 +++ b/test/log/2138 @@ -1,4 +1,3 @@ -**NOTE: The delivery lines in this file have been sorted. 1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for userx0@test.ex userx1@test.ex 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for usery0@test.ex usery1@test.ex 1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss for userz0@test.ex userz1@test.ex diff --git a/test/log/4012 b/test/log/4012 new file mode 100644 index 000000000..4d602c230 --- /dev/null +++ b/test/log/4012 @@ -0,0 +1,5 @@ +1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-esmtp S=sss +1999-03-02 09:44:33 10HmaY-0005vi-00 => :blackhole: R=r +1999-03-02 09:44:33 10HmaY-0005vi-00 Completed +1999-03-02 09:44:33 10HmaX-0005vi-00 [127.0.0.1]:1111 malware_name wibble +1999-03-02 09:44:33 10HmaX-0005vi-00 U=CALLER F= rejected after DATA diff --git a/test/log/4520 b/test/log/4520 index 8daa636c0..b0ddcd64e 100644 --- a/test/log/4520 +++ b/test/log/4520 @@ -13,22 +13,26 @@ ******** SERVER ******** 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded] 1999-03-02 09:44:33 10HmaY-0005vi-00 signer: test.ex bits: 1024 h=From 1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@myhost.test.ex 1999-03-02 09:44:33 10HmaY-0005vi-00 => :blackhole: R=server_dump 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmbA-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded] 1999-03-02 09:44:33 10HmbA-0005vi-00 signer: test.ex bits: 1024 h=From:From 1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaZ-0005vi-00@myhost.test.ex 1999-03-02 09:44:33 10HmbA-0005vi-00 => :blackhole: R=server_dump 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmbC-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 i=allheaders@test.ex [verification succeeded] 1999-03-02 09:44:33 10HmbC-0005vi-00 signer: test.ex bits: 1024 h=Date:Sender:Message-Id:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmbC-0005vi-00 signer: allheaders@test.ex bits: 1024 h=Date:Sender:Message-Id:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbB-0005vi-00@myhost.test.ex 1999-03-02 09:44:33 10HmbC-0005vi-00 => :blackhole: R=server_dump 1999-03-02 09:44:33 10HmbC-0005vi-00 Completed +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmbE-0005vi-00 DKIM: d=test.ex s=sel_bad c=relaxed/relaxed a=rsa-sha256 b=1024 [invalid - syntax error in public key record] 1999-03-02 09:44:33 10HmbE-0005vi-00 signer: test.ex bits: 1024 h=From 1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@myhost.test.ex H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbD-0005vi-00@myhost.test.ex diff --git a/test/log/4523 b/test/log/4523 index d1e5ebba3..5c07fa5a2 100644 --- a/test/log/4523 +++ b/test/log/4523 @@ -4,6 +4,7 @@ ******** SERVER ******** 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha512 b=1024 i=allheaders@test.ex [verification succeeded] 1999-03-02 09:44:33 10HmaY-0005vi-00 signer: test.ex bits: 1024 h=Date:Sender:Message-Id:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmaY-0005vi-00 signer: allheaders@test.ex bits: 1024 h=Date:Sender:Message-Id:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive diff --git a/test/log/4524 b/test/log/4524 index a6d687c83..e0dde322a 100644 --- a/test/log/4524 +++ b/test/log/4524 @@ -4,6 +4,7 @@ ******** SERVER ******** 1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 +1999-03-02 09:44:33 macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive 1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=ses c=relaxed/relaxed a=rsa-sha256 b=512 [verification succeeded] 1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded] 1999-03-02 09:44:33 10HmaY-0005vi-00 signer: test.ex bits: 512 h=From:To:Subject diff --git a/test/rejectlog/0901 b/test/rejectlog/0901 index f75d9d270..a4185a966 100644 --- a/test/rejectlog/0901 +++ b/test/rejectlog/0901 @@ -1,6 +1,6 @@ ******** SERVER ******** -1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\n" +1999-03-02 09:44:33 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "BDAT 1" H=(tester) [127.0.0.1] next input="BDAT 87 last\r\no: Susan@random.co"... Envelope-from: Envelope-to: 1999-03-02 09:44:33 SMTP call from (tester) [127.0.0.1] dropped: too many syntax or protocol errors (last command was "From: Sam@random.com") diff --git a/test/rejectlog/4012 b/test/rejectlog/4012 new file mode 100644 index 000000000..bd26ac2a4 --- /dev/null +++ b/test/rejectlog/4012 @@ -0,0 +1,12 @@ +1999-03-02 09:44:33 10HmaX-0005vi-00 U=CALLER F= rejected after DATA +Envelope-from: +Envelope-to: +P Received: from CALLER (helo=test.ex) + by myhost.test.ex with local-esmtp (Exim x.yz) + (envelope-from ) + id 10HmaX-0005vi-00 + for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000 + Date: Tue, 2 Mar 1999 09:44:33 +0000 + Subject: message should be rejected +I Message-Id: +F From: CALLER_NAME diff --git a/test/runtest b/test/runtest index 3bd6c77bd..b6babd06a 100755 --- a/test/runtest +++ b/test/runtest @@ -903,7 +903,8 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^SSL info:/; next if /SSL verify error: depth=0 error=certificate not trusted/; s/SSL3_READ_BYTES/ssl3_read_bytes/i; - s/^\d+:error:\d+(:SSL routines:ssl3_read_bytes:[^:]+:).*(:SSL alert number \d\d)$/pppp:error:dddddddd$1\[...\]$2/; + s/CONNECT_CR_FINISHED/ssl3_read_bytes/i; + s/^\d+:error:\d+(?:E\d+)?(:SSL routines:ssl3_read_bytes:[^:]+:).*(:SSL alert number \d\d)$/pppp:error:dddddddd$1\[...\]$2/; # gnutls version variances next if /^Error in the pull function./; @@ -924,15 +925,19 @@ RESET_AFTER_EXTRA_LINE_READ: s/^Exim version .*/Exim version x.yz ..../; - # Debugging lines for Exim terminations + # Debugging lines for Exim terminations and process-generation s/(?<=^>>>>>>>>>>>>>>>> Exim pid=)\d+(?= terminating)/pppp/; + s/^(proxy-proc \w{5}-pid) \d+$/$1 pppp/; # IP address lookups use gethostbyname() when IPv6 is not supported, # and gethostbyname2() or getipnodebyname() when it is. s/\b(gethostbyname2?|\bgetipnodebyname)(\(af=inet\))?/get[host|ipnode]byname[2]/; + # we don't care what TZ enviroment the testhost was running + next if /^Reset TZ to/; + # drop gnutls version strings next if /GnuTLS compile-time version: \d+[\.\d]+$/; next if /GnuTLS runtime version: \d+[\.\d]+$/; @@ -1081,9 +1086,9 @@ RESET_AFTER_EXTRA_LINE_READ: if (s/(with \$received_protocol)\}\} \$\{if def:tls_cipher \{\(\$tls_cipher\)\n$/$1/) { $_ .= ; - s/\s+\}\}(?=\(Exim )/\}\} /; + s/[\s╎]+\}\}(?=\(Exim )/\}\} /; } - if (/^ condition: def:tls_cipher$/) + if (/^ ├──condition: def:tls_cipher$/) { ; ; ; ; ; ; ; ; ; ; ; next; @@ -1111,8 +1116,8 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^(ppppp )?setsockopt FASTOPEN: Protocol not available$/; # Specific pointer values reported for DB operations change from run to run - s/^(returned from EXIM_DBOPEN: 0x)[0-9a-f]+/$1AAAAAAAA/; - s/^(EXIM_DBCLOSE.0x)[0-9a-f]+/$1AAAAAAAA/; + s/^(returned from EXIM_DBOPEN: )(0x)?[0-9a-f]+/${1}0xAAAAAAAA/; + s/^(EXIM_DBCLOSE.)(0x)?[0-9a-f]+/${1}0xAAAAAAAA/; # When Exim is checking the size of directories for maildir, it uses # the check_dir_size() function to scan directories. Of course, the order @@ -1168,6 +1173,9 @@ RESET_AFTER_EXTRA_LINE_READ: # CHUNKING: exact sizes depend on hostnames in headers s/(=>.* K C="250- \d)\d+ (byte chunk, total \d)\d+/$1nn $2nn/; + + # openssl version variances + s/(TLS error on connection [^:]*: error:)[0-9A-F]{8}(:system library):(?:fopen|func\(4095\)):(No such file or directory)$/$1xxxxxxxx$2:fopen:$3/; } # ======== All files other than stderr ======== @@ -1530,10 +1538,11 @@ $munges = dkim_(canon|domain|private_key|selector|sign_headers|strict|hash|identity) |gnutls_require_(kx|mac|protocols) |hosts_(requ(est|ire)|try)_(dane|ocsp) - |hosts_(avoid|nopass|require|verify_avoid)_tls + |hosts_(avoid|nopass|noproxy|require|verify_avoid)_tls |socks_proxy |tls_[^ ]* - )($|[ ]=)/x' }, + )($|[ ]=)/x' + }, 'sys_bindir' => { 'mainlog' => 's%/(usr/(local/)?)?bin/%SYSBINDIR/%' }, @@ -1549,6 +1558,12 @@ $munges = 'timeout_errno' => # actual errno differs Solaris vs. Linux { 'mainlog' => 's/(host deferral .* errno) <\d+> /$1 /' }, + + 'peer_terminated_conn' => # actual error differs FreedBSD vs. Linux + { 'stderr' => 's/^( SMTP\()Connection reset by peer(\)<<)$/$1closed$2/' }, + + 'perl_variants' => # result of hash-in-scalar-context changed from bucket-fill to keycount + { 'stdout' => 's%^> X/X$%> X%' }, }; @@ -3924,8 +3939,12 @@ foreach $test (@test_list) } if ($force_continue) { - print "\nstderr tail:\n"; + print "\nstdout tail:\n"; + print "==================>\n"; + system("tail -20 test-stdout"); print "===================\n"; + print "stderr tail:\n"; + print "==================>\n"; system("tail -20 test-stderr"); print "===================\n"; print "... continue forced\n"; diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index cb0bb188f..dd9cea255 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -133,6 +133,7 @@ addresses: ${addresses:>+ Exim Person (that's me),\ addresses: ${addresses:Exim Person (that's me), \ xyz@abc, nullgroupname:;, group: p@q, r@s; } addresses: ${addresses:local-part@dom.ain } +addresses: ${addresses:>} escape: ${escape:B7·F2ò} excape8bit: ${escape8bit:undisturbed text\ttab\nnewline\ttab\\backslash \176tilde\177DEL\200\x81.} diff --git a/test/scripts/0000-Basic/0476 b/test/scripts/0000-Basic/0476 index a7ddb0f4b..b068a16a0 100644 --- a/test/scripts/0000-Basic/0476 +++ b/test/scripts/0000-Basic/0476 @@ -1,4 +1,5 @@ # RSET error for multiple messages +munge peer_terminated_conn need_ipv4 # exim -odi -odqs userx@test.ex diff --git a/test/scripts/0000-Basic/0901 b/test/scripts/0000-Basic/0901 index 5e88c5ae9..f5a6fff9a 100644 --- a/test/scripts/0000-Basic/0901 +++ b/test/scripts/0000-Basic/0901 @@ -247,11 +247,7 @@ MAIL FROM:someone9@some.domain ??? 250 RCPT TO:CALLER@test.ex ??? 250 -BDAT 1\r\nTBDAT 87 last -o: Susan@random.com -From: Sam@random.com -Subject: This is a bodyless test message - +BDAT 1\r\nTBDAT 87 last\r\no: Susan@random.com\r\nFrom: Sam@random.com\r\nSubject: This is a bodyless test message\r\n\r\n ??? 554 SMTP synchronization error **** # diff --git a/test/scripts/2000-GnuTLS/2030 b/test/scripts/2000-GnuTLS/2030 index ef7a8dea2..b009d476b 100644 --- a/test/scripts/2000-GnuTLS/2030 +++ b/test/scripts/2000-GnuTLS/2030 @@ -6,5 +6,5 @@ exim -DSERVER=server -bd -oX PORT_D exim CALLER@test.ex Test message. **** -millisleep 500 +sleep 1 killdaemon diff --git a/test/scripts/2000-GnuTLS/2031 b/test/scripts/2000-GnuTLS/2031 index 76186b5e4..d302738fd 100644 --- a/test/scripts/2000-GnuTLS/2031 +++ b/test/scripts/2000-GnuTLS/2031 @@ -6,14 +6,14 @@ exim -DSERVER=server -bd -oX PORT_D exim CALLER@test.ex Test message. **** -millisleep 700 +sleep 1 # # # Extended: server uses SNI to choose certificate exim abcd@test.ex Test message. **** -millisleep 700 +sleep 1 # # killdaemon diff --git a/test/scripts/2000-GnuTLS/2038 b/test/scripts/2000-GnuTLS/2038 index 83259d998..650286814 100644 --- a/test/scripts/2000-GnuTLS/2038 +++ b/test/scripts/2000-GnuTLS/2038 @@ -16,4 +16,3 @@ exim -qqf killdaemon exim -DSERVER=server -DNOTDAEMON -qf **** -sortlog diff --git a/test/scripts/2100-OpenSSL/2102 b/test/scripts/2100-OpenSSL/2102 index cbb9ce393..bdf5496f6 100644 --- a/test/scripts/2100-OpenSSL/2102 +++ b/test/scripts/2100-OpenSSL/2102 @@ -47,6 +47,7 @@ This is a test encrypted message. quit ??? 221 **** +# nonloop addr conn rejected lacking cert client-ssl HOSTIPV4 PORT_D ??? 220 ehlo rhu.barb @@ -57,7 +58,10 @@ ehlo rhu.barb ??? 250- ??? 250 starttls -??? 220 +??? 220 TLS go ahead ++++ 1 +help +??? 554 **** client-ssl HOSTIPV4 PORT_D DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.pem DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.unlocked.key ??? 220 diff --git a/test/scripts/2100-OpenSSL/2132 b/test/scripts/2100-OpenSSL/2132 index 620a63f57..4a12fb0bb 100644 --- a/test/scripts/2100-OpenSSL/2132 +++ b/test/scripts/2100-OpenSSL/2132 @@ -58,6 +58,9 @@ ehlo rhu.barb ??? 250 starttls ??? 220 ++++ 1 +help +??? 554 **** client-ssl HOSTIPV4 PORT_D DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.pem DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.unlocked.key ??? 220 diff --git a/test/scripts/2100-OpenSSL/2138 b/test/scripts/2100-OpenSSL/2138 index 3a94a1f2e..79eaa2f31 100644 --- a/test/scripts/2100-OpenSSL/2138 +++ b/test/scripts/2100-OpenSSL/2138 @@ -15,4 +15,3 @@ exim -qqf killdaemon exim -DSERVER=server -DNOTDAEMON -qf **** -sortlog diff --git a/test/scripts/2800-lmdb/2800 b/test/scripts/2800-lmdb/2800 index a074ae628..930f9f2bc 100644 --- a/test/scripts/2800-lmdb/2800 +++ b/test/scripts/2800-lmdb/2800 @@ -1,11 +1,30 @@ # lmdb lookup +# +# prep a test database to work with +perl -e 'chdir "DIR/aux-var"; exec "mdb_load -n DIR/aux-var/TESTNUM.mdb";' +VERSION=3 +format=print +type=btree +mapsize=10485760 +maxreaders=126 +HEADER=END + first + data for first + second + A=1 B=2 + third + A1:B2:C3 +DATA=END +**** +# +# exim -be -${lookup{first}lmdb{DIR/aux-fixed/TESTNUM.mdb}} -${lookup{first}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail} -${lookup{fail}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}{failure value}} -${lookup{fail}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail} -${lookup{second}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail} -${extract{A}{${lookup{second}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail}}} -${extract{B}{${lookup{second}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail}}} -${extract{C}{${lookup{second}lmdb{DIR/aux-fixed/TESTNUM.mdb}{$value}fail}}{$value}fail} +${lookup{first}lmdb{DIR/aux-var/TESTNUM.mdb}} +${lookup{first}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail} +${lookup{fail}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}{failure value}} +${lookup{fail}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail} +${lookup{second}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail} +${extract{A}{${lookup{second}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail}}} +${extract{B}{${lookup{second}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail}}} +${extract{C}{${lookup{second}lmdb{DIR/aux-var/TESTNUM.mdb}{$value}fail}}{$value}fail} **** diff --git a/test/scripts/3000-Perl/3000 b/test/scripts/3000-Perl/3000 index 30ac29eb3..60db492ad 100644 --- a/test/scripts/3000-Perl/3000 +++ b/test/scripts/3000-Perl/3000 @@ -1,4 +1,5 @@ # Embedded Perl +munge perl_variants exim -be ${perl{foo}} ${perl{foo}{arg1}} diff --git a/test/stderr/0002 b/test/stderr/0002 index 4b68f4e43..8bf8f886f 100644 --- a/test/stderr/0002 +++ b/test/stderr/0002 @@ -80,7 +80,7 @@ LOG: MAIN PANIC └─────result: no ├──expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}} └─────result: match_address: no ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -111,7 +111,7 @@ admin user ┌considering: -oMt sender_ident = $sender_ident ├──expanding: -oMt sender_ident = $sender_ident └─────result: -oMt sender_ident = me ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> 1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13 Exim version x.yz .... configuration file is TESTSUITE/test-config @@ -171,7 +171,7 @@ sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me) ┌considering: -oMt sender_ident = $sender_ident ├──expanding: -oMt sender_ident = $sender_ident └─────result: -oMt sender_ident = me ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -230,7 +230,7 @@ SMTP>> 550 Administrative prohibition LOG: connection_reject MAIN REJECT H=ten-1.test.ex [V4NET.0.0.1] rejected connection in "connect" ACL search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -274,7 +274,7 @@ SMTP>> 550 Administrative prohibition LOG: connection_reject MAIN REJECT H=[V4NET.0.0.2] rejected connection in "connect" ACL search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> >>> host in hosts_connection_nolog? no (option unset) >>> host in host_lookup? no (option unset) >>> host in host_reject_connection? no (option unset) @@ -425,4 +425,4 @@ sender address = CALLER@myhost.test.ex 1.2.3.4 in "1.2.3"? no (malformed IPv4 address or address mask) 1.2.3.4 in "1.2.3.4/abc"? no (malformed IPv4 address or address mask) search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0021 b/test/stderr/0021 index 299cc4974..207889b0d 100644 --- a/test/stderr/0021 +++ b/test/stderr/0021 @@ -103,7 +103,7 @@ accept: condition test succeeded in ACL "rcpt" end of ACL "rcpt": ACCEPT LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> 1999-03-02 09:44:33 ACL "warn" with "message" setting found in a non-message (EHLO or HELO) ACL: cannot specify header lines here: message ignored Exim version x.yz .... configuration file is TESTSUITE/test-config @@ -195,9 +195,9 @@ LOG: MAIN => x R=accept T=appendfile LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> 1999-03-02 09:44:33 ACL "warn" with "message" setting found in a non-message (EHLO or HELO) ACL: cannot specify header lines here: message ignored 1999-03-02 09:44:33 rcpt accepted C=EHLO,MAIL,RCPT diff --git a/test/stderr/0022 b/test/stderr/0022 index d83ee0e4c..ab14c40ce 100644 --- a/test/stderr/0022 +++ b/test/stderr/0022 @@ -65,7 +65,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.9.8.7] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -136,7 +136,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.9.8.7] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -208,7 +208,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.9.8.7] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> >>> host in hosts_connection_nolog? no (end of list) LOG: SMTP connection from [V4NET.9.8.7] >>> host in host_lookup? no (option unset) diff --git a/test/stderr/0037 b/test/stderr/0037 index 22ee0d210..1d03f0d48 100644 --- a/test/stderr/0037 +++ b/test/stderr/0037 @@ -116,5 +116,5 @@ LOG: MAIN => userx R=user_accept2 T=appendfile LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0078 b/test/stderr/0078 index c5d815f7a..3ab49c820 100644 --- a/test/stderr/0078 +++ b/test/stderr/0078 @@ -21,7 +21,7 @@ routed by lookuphost router envelope to: xx@mxt6.test.ex transport: remote_smtp host ten-1.test.ex [V4NET.0.0.1] MX=5 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -59,7 +59,7 @@ routed by self router envelope to: myhost.test.ex@mxt1.test.ex transport: remote_smtp host myhost.test.ex [V4NET.10.10.10] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -111,7 +111,7 @@ routed by self2 router envelope to: xx@mxt1.test.ex transport: remote_smtp host myhost.test.ex [V4NET.10.10.10] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -129,4 +129,4 @@ lookuphost router called for xx@not.exist lookuphost router declined for xx@not.exist "more" is false: skipping remaining routers no more routers ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0084 b/test/stderr/0084 index d424cc053..cda7d1275 100644 --- a/test/stderr/0084 +++ b/test/stderr/0084 @@ -67,4 +67,4 @@ domain = myhost.test.ex routed by smart router envelope to: no@myhost.test.ex transport: ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0085 b/test/stderr/0085 index fb6810575..32705b79f 100644 --- a/test/stderr/0085 +++ b/test/stderr/0085 @@ -199,7 +199,7 @@ myhost.test.ex in "test.ex"? no (end of list) smart2 router skipped: domains mismatch no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -373,4 +373,4 @@ myhost.test.ex in "test.ex"? no (end of list) smart2 router skipped: domains mismatch no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0092 b/test/stderr/0092 index ff8d0d39a..d2b3b5c2a 100644 --- a/test/stderr/0092 +++ b/test/stderr/0092 @@ -110,7 +110,7 @@ LOG: lost_incoming_connection MAIN SMTP data timeout (message abandoned) on connection from [V4NET.0.0.1] F= SMTP>> 421 myhost.test.ex SMTP incoming data timeout - closing connection. search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp NULLterminating with rc=1 >>>>>>>>>>>>>>>> exim: timed out while reading - message abandoned exim: timed out while reading - message abandoned >>> host in hosts_connection_nolog? no (option unset) diff --git a/test/stderr/0094 b/test/stderr/0094 index c0dbb7d26..efd339bf1 100644 --- a/test/stderr/0094 +++ b/test/stderr/0094 @@ -154,4 +154,4 @@ SMTP>> 221 the.local.host.name closing connection LOG: smtp_connection MAIN SMTP connection from oneback.test.ex [V4NET.99.99.90] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0117 b/test/stderr/0117 index 18e159f5a..45325c3d9 100644 --- a/test/stderr/0117 +++ b/test/stderr/0117 @@ -19,7 +19,7 @@ routed by lookuphost router host ten-1.test.ex [V4NET.0.0.1] MX=5 host ten-2.test.ex [V4NET.0.0.2] MX=6 host ten-3.test.ex [V4NET.0.0.3] MX=7 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -41,7 +41,7 @@ routed by lookuphost router host ten-1.test.ex [V4NET.0.0.1] MX=5 host ten-2.test.ex [V4NET.0.0.2] MX=6 host ten-3.test.ex [V4NET.0.0.3] MX=7 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -63,4 +63,4 @@ routed by lookuphost router host ten-1.test.ex [V4NET.0.0.1] MX=5 host ten-2.test.ex [V4NET.0.0.2] MX=6 host ten-3.test.ex [V4NET.0.0.3] MX=7 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0123 b/test/stderr/0123 index 72eaef139..6d51d3252 100644 --- a/test/stderr/0123 +++ b/test/stderr/0123 @@ -437,4 +437,4 @@ parse_forward_list: c3 router declined for z@test.ex no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0143 b/test/stderr/0143 index b1d0ff9b6..493e4e38b 100644 --- a/test/stderr/0143 +++ b/test/stderr/0143 @@ -53,5 +53,5 @@ LOG: MAIN => userx@domain.com R=my_main_router T=my_smtp H=127.0.0.1 [127.0.0.1] C="250 OK" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0149 b/test/stderr/0149 index 986177b45..cd4fdd8fc 100644 --- a/test/stderr/0149 +++ b/test/stderr/0149 @@ -187,4 +187,4 @@ routed by domainlist2 router transport: host V4NET.0.0.6 [V4NET.0.0.6] host V4NET.0.0.7 [V4NET.0.0.7] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0161 b/test/stderr/0161 index 3a806f3de..0147fcb6f 100644 --- a/test/stderr/0161 +++ b/test/stderr/0161 @@ -28,7 +28,7 @@ routed by lookuphost router envelope to: xx@mxt6.test.ex transport: remote_smtp host ten-1.test.ex [V4NET.0.0.1] MX=5 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -78,7 +78,7 @@ routed by self router envelope to: myhost.test.ex@mxt1.test.ex transport: remote_smtp host myhost.test.ex [V4NET.10.10.10] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -142,7 +142,7 @@ routed by self2 router envelope to: xx@mxt1.test.ex transport: remote_smtp host myhost.test.ex [V4NET.10.10.10] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -167,7 +167,7 @@ lookuphost router called for xx@not.exist lookuphost router declined for xx@not.exist "more" is false: skipping remaining routers no more routers ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -187,7 +187,7 @@ failuphost router called for ff@mxt1.test.ex domain = mxt1.test.ex lowest numbered MX record points to local host: mxt1.test.ex: address failed (self = fail) failuphost router forced address failure ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -226,4 +226,4 @@ set transport remote_smtp finding IP address for fff calling host_find_byname fail router forced address failure ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0169 b/test/stderr/0169 index 30ed85f8d..ca5211478 100644 --- a/test/stderr/0169 +++ b/test/stderr/0169 @@ -35,5 +35,5 @@ LOG: MAIN => userx R=localuser T=appendfile LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0183 b/test/stderr/0183 index 70385352e..35fc1967d 100644 --- a/test/stderr/0183 +++ b/test/stderr/0183 @@ -190,7 +190,7 @@ routed by lookuphost router transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -381,7 +381,7 @@ routed by lookuphost router transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -574,7 +574,7 @@ routed by lookuphost router transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -635,4 +635,4 @@ returning DNS_FAIL srv router: defer for srv@test.fail.dns message: host lookup did not complete search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0218 b/test/stderr/0218 index f9f1d6849..552b5682e 100644 --- a/test/stderr/0218 +++ b/test/stderr/0218 @@ -56,10 +56,10 @@ LOG: MAIN => b@test.ex F= R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* C="250 OK" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qq ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -100,7 +100,7 @@ trusted user admin user LOG: MAIN <= <> R=10HmaZ-0005vi-00 U=EXIMUSER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed delivering 10HmbA-0005vi-00 (queue run pid ppppp) @@ -113,7 +113,7 @@ LOG: MAIN == b@test.ex R=client T=send_to_server defer (dd): Connection refused LOG: queue_run MAIN End queue run: pid=pppp -qq ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -158,7 +158,7 @@ trusted user admin user LOG: MAIN <= <> R=10HmbA-0005vi-00 U=EXIMUSER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed Exim version x.yz .... @@ -182,7 +182,7 @@ LOG: MAIN => c@test.ex F= R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* C="250 OK" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qqf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0249 b/test/stderr/0249 index b73502fa0..e57ef2755 100644 --- a/test/stderr/0249 +++ b/test/stderr/0249 @@ -17,4 +17,4 @@ LOG: address_rewrite MAIN "User@c.domain" from env-from rewritten as "User@d.domain" by rule 2 LOG: address_rewrite MAIN "User@c.domain" from env-to rewritten as "User@d.domain" by rule 2 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0275 b/test/stderr/0275 index 089dc2a8b..b663ad4b8 100644 --- a/test/stderr/0275 +++ b/test/stderr/0275 @@ -105,7 +105,7 @@ routed by r3 router envelope to: userx@test.ex transport: t1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -198,7 +198,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -308,7 +308,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -354,6 +354,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0277 b/test/stderr/0277 index e92ac09f1..c174db8f1 100644 --- a/test/stderr/0277 +++ b/test/stderr/0277 @@ -37,7 +37,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -72,7 +72,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.6.7.8] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -115,7 +115,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.10.11.12] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -158,7 +158,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.1.1.1] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -200,4 +200,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.2.2.2] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0278 b/test/stderr/0278 index b7c7913df..c3a22c0e0 100644 --- a/test/stderr/0278 +++ b/test/stderr/0278 @@ -60,7 +60,7 @@ routed by r3 router envelope to: CALLER@test.ex transport: t1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -145,7 +145,7 @@ Delivery address list: CALLER@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -210,7 +210,7 @@ search_tidyup called --------> CALLER@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -256,9 +256,9 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -342,4 +342,4 @@ unknown in "+local_localparts : +expanded : +unexpanded"? no (end of list) r5 router skipped: local_parts mismatch no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0279 b/test/stderr/0279 index efc549d2c..7762859fa 100644 --- a/test/stderr/0279 +++ b/test/stderr/0279 @@ -73,7 +73,7 @@ routed by r3 router envelope to: CALLER@test.ex transport: t1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -112,4 +112,4 @@ parse_forward_list: :fail: matched *@+funny_domains extract item: :fail: matched *@+funny_domains rr1 router forced address failure search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0283 b/test/stderr/0283 index 95d0f0a4e..55b98b770 100644 --- a/test/stderr/0283 +++ b/test/stderr/0283 @@ -69,12 +69,12 @@ changed uid/gid: post-delivery tidying uid=EXIM_UID gid=EXIM_GID pid=pppp LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -108,5 +108,5 @@ LOG: MAIN == never@myhost.test.ex R=never T=t3 defer (-29): User 0 set for t3 transport is on the never_users list changed uid/gid: post-delivery tidying uid=EXIM_UID gid=EXIM_GID pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0294 b/test/stderr/0294 index c020fda0f..f4cd59269 100644 --- a/test/stderr/0294 +++ b/test/stderr/0294 @@ -98,7 +98,7 @@ SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -146,7 +146,7 @@ SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [1.2.3.4] closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -195,7 +195,7 @@ SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.9.8.7] closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -256,4 +256,4 @@ SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0297 b/test/stderr/0297 index 9eb75937f..f5db068eb 100644 --- a/test/stderr/0297 +++ b/test/stderr/0297 @@ -21,7 +21,7 @@ r1 router generated /a/b/c routed by r1 router envelope to: /a/b/c@myhost.test.ex transport: ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -45,7 +45,7 @@ r1 router generated /x/y/z routed by r1 router envelope to: /x/y/z@myhost.test.ex transport: ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN <= fil@ter U=CALLER P=local S=sss delivering 10HmaX-0005vi-00 diff --git a/test/stderr/0303 b/test/stderr/0303 index 0a78b30f0..edf35c14f 100644 --- a/test/stderr/0303 +++ b/test/stderr/0303 @@ -112,7 +112,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from ([V4NET.2.3.4]) [V4NET.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -188,4 +188,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from host.name.tld [V4NET.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0315 b/test/stderr/0315 index 1c3e974f4..13db682d3 100644 --- a/test/stderr/0315 +++ b/test/stderr/0315 @@ -58,8 +58,8 @@ LOG: MAIN *> y@ten-1.test.ex R=r1 T=t1 H=ten-1.test.ex [V4NET.0.0.1] C="delivery bypassed by -N option" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -138,5 +138,5 @@ LOG: MAIN *> y@ten-2.test.ex R=r2 T=t1 H=ten-2.test.ex [V4NET.0.0.2] C="delivery bypassed by -N option" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0317 b/test/stderr/0317 index b71581e68..b9cc831fe 100644 --- a/test/stderr/0317 +++ b/test/stderr/0317 @@ -33,7 +33,7 @@ Size of headers = sss LOG: MAIN <= CALLER@test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -74,4 +74,4 @@ Renaming spool header file: TESTSUITE/spool//input//10HmaY-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0332 b/test/stderr/0332 index 7dea91571..a0072373c 100644 --- a/test/stderr/0332 +++ b/test/stderr/0332 @@ -83,7 +83,7 @@ locking TESTSUITE/spool/db/retry.lockfile locking TESTSUITE/spool/db/wait-t1.lockfile LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1]* C="250 OK" ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> locking TESTSUITE/spool/db/retry.lockfile >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering: delay@test.again.dns @@ -99,4 +99,4 @@ After routing: delay@test.again.dns LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0333 b/test/stderr/0333 index 595f0f869..8aa3598c0 100644 --- a/test/stderr/0333 +++ b/test/stderr/0333 @@ -37,7 +37,7 @@ LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1] C="250 OK" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -82,4 +82,4 @@ locking TESTSUITE/spool/db/retry.lockfile locking TESTSUITE/spool/db/wait-t1.lockfile LOG: MAIN => ok@no.delay R=r1 T=t1 H=127.0.0.1 [127.0.0.1]* C="250 OK" ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0357 b/test/stderr/0357 index 9cc0a6bb5..522cf03c4 100644 --- a/test/stderr/0357 +++ b/test/stderr/0357 @@ -41,8 +41,8 @@ Writing retry data for R:userx@test.ex: first failed=dddd last try=dddd next try=+1 expired=0 errno=-44 more_errno=dd,A H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 451 Temporary error end of retry processing ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -96,7 +96,7 @@ Writing retry data for R:userx@test.ex: end of retry processing LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -150,7 +150,7 @@ Writing retry data for R:userx@test.ex: end of retry processing LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -180,4 +180,4 @@ Deferred addresses: end of retry processing LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0358 b/test/stderr/0358 index 6f75cf630..f4c629b09 100644 --- a/test/stderr/0358 +++ b/test/stderr/0358 @@ -57,8 +57,8 @@ Writing retry data for R:userx@test.ex: first failed=dddd last try=dddd next try=+1 expired=0 errno=-44 more_errno=dd,A H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 451 Temporary error end of retry processing ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -141,4 +141,4 @@ Writing retry data for R:userx@test.ex: end of retry processing LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0360 b/test/stderr/0360 index 527e37893..0e1710160 100644 --- a/test/stderr/0360 +++ b/test/stderr/0360 @@ -150,8 +150,8 @@ After routing: locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN *> unknown@recurse.test.ex.test.ex R=r1 T=t1 H=recurse.test.ex.test.ex [V4NET.99.0.2] C="delivery bypassed by -N option" ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -251,4 +251,4 @@ After routing: defer@test.ex LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0361 b/test/stderr/0361 index 4d3bb363b..8d2f9de6e 100644 --- a/test/stderr/0361 +++ b/test/stderr/0361 @@ -86,7 +86,7 @@ Delivery address list: kilos@recurse.test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -123,7 +123,7 @@ rewrite_one_header: type=F: re-routed to kilos@recurse.test.ex.test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -163,7 +163,7 @@ routed by r3 router transport: locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -212,7 +212,7 @@ search_tidyup called --------> kilos@recurse.test.ex.test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -263,6 +263,6 @@ LOG: MAIN end delivery of 10HmaY-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0362 b/test/stderr/0362 index 913901e15..b638ecd07 100644 --- a/test/stderr/0362 +++ b/test/stderr/0362 @@ -85,4 +85,4 @@ SMTP>> 221 the.local.host.name closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.0.0.0] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0364 b/test/stderr/0364 index d6a49bbf6..3fd65e473 100644 --- a/test/stderr/0364 +++ b/test/stderr/0364 @@ -214,4 +214,4 @@ routed by r2 router envelope to: xxx@testsub.sub.test.ex transport: t1 host testsub.sub.test.ex [V4NET.99.0.3] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0368 b/test/stderr/0368 index cdeaf2cb7..d631948e8 100644 --- a/test/stderr/0368 +++ b/test/stderr/0368 @@ -25,4 +25,4 @@ finding IP address for ten-2.test.ex doing DNS lookup fully qualified name = ten-2.test.ex ten-2.test.ex V4NET.0.0.2 mx=-1 sort=xx ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0370 b/test/stderr/0370 index 1f00a3de1..c841f3734 100644 --- a/test/stderr/0370 +++ b/test/stderr/0370 @@ -33,5 +33,5 @@ changed uid/gid: post-delivery tidying uid=EXIM_UID gid=EXIM_GID pid=pppp LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0371 b/test/stderr/0371 index c59988723..9ff930690 100644 --- a/test/stderr/0371 +++ b/test/stderr/0371 @@ -142,4 +142,4 @@ SMTP>> 221 mail.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from (something) [V4NET.0.0.0] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0374 b/test/stderr/0374 index c8163712a..ea6803720 100644 --- a/test/stderr/0374 +++ b/test/stderr/0374 @@ -454,7 +454,7 @@ LOG: MAIN => CALLER R=real T=real LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0375 b/test/stderr/0375 index 8b59febdc..e0f314353 100644 --- a/test/stderr/0375 +++ b/test/stderr/0375 @@ -947,16 +947,16 @@ LOG: MAIN locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN d3@myhost.test.ex : error ignored log writing disabled LOG: MAIN b1@myhost.test.ex : error ignored log writing disabled ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -1073,5 +1073,5 @@ log writing disabled locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0376 b/test/stderr/0376 index abd462b01..0a2c4f63b 100644 --- a/test/stderr/0376 +++ b/test/stderr/0376 @@ -28,7 +28,7 @@ wrote callout cache domain record for localhost: wrote positive callout cache address record for ok@localhost LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -45,7 +45,7 @@ callout cache: found address record for ok@localhost callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -69,7 +69,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= temporarily rejected RCPT : Could not complete sender verify callout LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -104,7 +104,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (recipient): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -125,7 +125,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (recipient): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -157,7 +157,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (mail): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -177,7 +177,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (mail): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -219,7 +219,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -239,7 +239,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -277,7 +277,7 @@ wrote callout cache domain record for otherhost2: wrote positive callout cache address record for ok@otherhost2 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -295,7 +295,7 @@ callout cache: found address record for ok@otherhost2 callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -325,7 +325,7 @@ wrote callout cache domain record for otherhost3: result=1 postmaster=0 random=1 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -341,7 +341,7 @@ callout cache: found domain record for otherhost3 callout cache: domain accepts random addresses LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -371,7 +371,7 @@ wrote callout cache domain record for otherhost4: result=1 postmaster=0 random=1 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -387,7 +387,7 @@ callout cache: found domain record for otherhost4 callout cache: domain accepts random addresses LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -431,7 +431,7 @@ wrote callout cache domain record for otherhost41: wrote positive callout cache address record for ok@otherhost41 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -450,7 +450,7 @@ callout cache: found address record for ok@otherhost41 callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -488,7 +488,7 @@ wrote callout cache domain record for otherhost21: wrote positive callout cache address record for ok@otherhost21 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -520,7 +520,7 @@ wrote callout cache domain record for otherhost21: wrote positive callout cache address record for ok2@otherhost21 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -557,7 +557,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for ok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -589,7 +589,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for okok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -626,7 +626,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for okokok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -658,7 +658,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.5] U=root F= temporarily rejected RCPT : Could not complete sender verify callout LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -696,7 +696,7 @@ wrote callout cache domain record for otherhost52: wrote positive callout cache address record for okokok@otherhost52 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -730,7 +730,7 @@ LOG: MAIN <= ok7@otherhost53 H=[V4NET.0.0.7] U=root P=smtp S=sss LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -761,7 +761,7 @@ LOG: MAIN <= ok7@otherhost53 H=[V4NET.0.0.8] U=root P=smtp S=sss LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -801,7 +801,7 @@ wrote callout cache domain record for otherhost9: wrote positive callout cache address record for ok@otherhost9 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -845,4 +845,4 @@ wrote callout cache domain record for test.ex: wrote positive callout cache address record for z@test.ex/ LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0377 b/test/stderr/0377 index 848ee3367..5ca0ade9d 100644 --- a/test/stderr/0377 +++ b/test/stderr/0377 @@ -323,8 +323,8 @@ locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => cccc R=cccc_accept T=t1 locking TESTSUITE/spool/db/retry.lockfile ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -575,7 +575,7 @@ bbbb@myhost.test.ex was previously delivered (t1 transport): discarded locking TESTSUITE/spool/db/retry.lockfile LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -826,4 +826,4 @@ bbbb@myhost.test.ex was previously delivered (t1 transport): discarded locking TESTSUITE/spool/db/retry.lockfile LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0378 b/test/stderr/0378 index d82f049a7..e48232267 100644 --- a/test/stderr/0378 +++ b/test/stderr/0378 @@ -171,8 +171,8 @@ After routing: Deferred addresses: LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => >CALLER@myhost.test.ex R=aaaa T=t3 locking TESTSUITE/spool/db/retry.lockfile @@ -183,8 +183,8 @@ locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => TESTSUITE/test-mail/file R=aaaa T=t1 locking TESTSUITE/spool/db/retry.lockfile ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -329,4 +329,4 @@ After routing: locking TESTSUITE/spool/db/retry.lockfile LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0379 b/test/stderr/0379 index 7f0c70020..ab4350626 100644 --- a/test/stderr/0379 +++ b/test/stderr/0379 @@ -137,8 +137,8 @@ locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => cccc R=bc T=t1 locking TESTSUITE/spool/db/retry.lockfile ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -177,4 +177,4 @@ After routing: locking TESTSUITE/spool/db/retry.lockfile LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0380 b/test/stderr/0380 index 4c31b577f..5e81f1c67 100644 --- a/test/stderr/0380 +++ b/test/stderr/0380 @@ -89,5 +89,5 @@ locking TESTSUITE/spool/db/retry.lockfile LOG: MAIN => bbbb R=r3 T=t1 locking TESTSUITE/spool/db/retry.lockfile ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0381 b/test/stderr/0381 index cd98205f2..fff2922f9 100644 --- a/test/stderr/0381 +++ b/test/stderr/0381 @@ -79,4 +79,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0382 b/test/stderr/0382 index 0001a8ae8..6fdaaa966 100644 --- a/test/stderr/0382 +++ b/test/stderr/0382 @@ -32,12 +32,12 @@ LOG: MAIN ** CALLER@test.ex: Unrouteable address LOG: MAIN Frozen (delivery error message) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -49,4 +49,4 @@ LOG: MAIN Completed LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0386 b/test/stderr/0386 index 5573a9964..c24b8725c 100644 --- a/test/stderr/0386 +++ b/test/stderr/0386 @@ -128,7 +128,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.9.8.7] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -252,7 +252,7 @@ Delivery address list: 2@b locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -290,7 +290,7 @@ search_tidyup called --------> 2@b <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -346,7 +346,7 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> smtp_setup_msg entered SMTP<< rset SMTP>> 250 Reset OK @@ -436,7 +436,7 @@ Delivery address list: 2@b locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -473,7 +473,7 @@ search_tidyup called --------> 2@b <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -529,11 +529,11 @@ LOG: MAIN end delivery of 10HmaY-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> smtp_setup_msg entered SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0387 b/test/stderr/0387 index f3f924463..0d0d319ce 100644 --- a/test/stderr/0387 +++ b/test/stderr/0387 @@ -434,4 +434,4 @@ cached data used for lookup of *.b.c in TESTSUITE/aux-fixed/0387.1 lookup yielded: [*.b.c] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0388 b/test/stderr/0388 index 5a21445c9..96a2efede 100644 --- a/test/stderr/0388 +++ b/test/stderr/0388 @@ -9,7 +9,7 @@ set_process_info: pppp delivering specified messages set_process_info: pppp delivering 10HmaX-0005vi-00 locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -77,7 +77,7 @@ set_process_info: pppp delivering 10HmaX-0005vi-00 using smtp checking status of 127.0.0.1 locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -109,7 +109,7 @@ address match test: subject=*@127.0.0.1 pattern=* checking status of V4NET.0.0.0 locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -140,7 +140,7 @@ Deferred addresses: x@y locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR address match test: subject=x@y pattern=* @@ -240,7 +240,7 @@ set_process_info: pppp delivering specified messages set_process_info: pppp delivering 10HmaY-0005vi-00 locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -292,9 +292,9 @@ LOG: MAIN Completed search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Writing spool header file: TESTSUITE/spool//input//hdr.pppp Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H Size of headers = sss @@ -302,4 +302,4 @@ LOG: MAIN Completed search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0391 b/test/stderr/0391 index 783db01c5..1878f2f27 100644 --- a/test/stderr/0391 +++ b/test/stderr/0391 @@ -66,4 +66,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [1.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0393 b/test/stderr/0393 index 7fb82e35c..174f22bdb 100644 --- a/test/stderr/0393 +++ b/test/stderr/0393 @@ -43,8 +43,8 @@ LOG: MAIN => userx R=r1 T=t1 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -80,8 +80,8 @@ LOG: MAIN => userx R=r1 T=t1 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -119,5 +119,5 @@ LOG: MAIN => userx R=r1 T=t1 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0396 b/test/stderr/0396 index 427b7b43a..61953ac15 100644 --- a/test/stderr/0396 +++ b/test/stderr/0396 @@ -33,4 +33,4 @@ SMTP>> 221 the.local.host.name closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0398 b/test/stderr/0398 index f61f37457..ff0aa766f 100644 --- a/test/stderr/0398 +++ b/test/stderr/0398 @@ -120,7 +120,7 @@ routed by r2 router Attempting full verification using callout locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR dbfn_read: key=remote @@ -151,7 +151,7 @@ cmd buf flush ddd bytes SMTP(close)>> locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x42 +EXIM_DBOPEN: file dir flags=O_RDWR|O_CREAT returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR|O_CREAT dbfn_write: key=remote @@ -233,7 +233,7 @@ routed by r2 router Attempting full verification using callout locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR dbfn_read: key=remote @@ -262,4 +262,4 @@ SMTP>> 221 mail.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0399 b/test/stderr/0399 index 2e7ccc757..dcfe3e608 100644 --- a/test/stderr/0399 +++ b/test/stderr/0399 @@ -43,4 +43,4 @@ parse_forward_list: r3 router declined for x@y failed to expand "more" in r3 router: unknown variable name "unknown_variable" search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0402 b/test/stderr/0402 index 8d62a2ef5..b5b2ed099 100644 --- a/test/stderr/0402 +++ b/test/stderr/0402 @@ -76,7 +76,7 @@ Data file written for message 10HmaX-0005vi-00 }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -107,18 +107,6 @@ Data file written for message 10HmaX-0005vi-00 for $received_for}} ├──expanding: with $received_protocol └─────result: with local - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -221,7 +209,7 @@ Delivery address list: rd+usery@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -417,7 +405,7 @@ routed by r1 router transport: t1 locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -445,7 +433,7 @@ search_tidyup called --------> TESTSUITE/test-mail/junk <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -505,7 +493,7 @@ LOG: MAIN --------> TESTSUITE/test-mail/junk <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -562,7 +550,7 @@ LOG: MAIN --------> CALLER@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -588,7 +576,7 @@ LOG: MAIN --------> usery@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -617,7 +605,7 @@ LOG: MAIN --------> userz@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -722,6 +710,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0403 b/test/stderr/0403 index a77d8cd98..e27f05a6b 100644 --- a/test/stderr/0403 +++ b/test/stderr/0403 @@ -74,7 +74,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -138,7 +138,7 @@ routed by r1 router transport: locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -158,7 +158,7 @@ search_tidyup called --------> TESTSUITE/test-mail/junk <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -213,6 +213,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0404 b/test/stderr/0404 index 1718307be..5bdfcb6af 100644 --- a/test/stderr/0404 +++ b/test/stderr/0404 @@ -177,7 +177,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -221,7 +221,7 @@ routed by r2 router transport: locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -241,7 +241,7 @@ search_tidyup called --------> >sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex, ... <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -3378,7 +3378,7 @@ Delivery address list: sender@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -17985,7 +17985,7 @@ sender@test.ex is a duplicate address: discarded --------> sender@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -18043,9 +18043,9 @@ LOG: MAIN end delivery of 10HmaY-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> t1 transport succeeded search_tidyup called journalling >sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex,sender@test.ex, ...:userx@test.ex @@ -18088,6 +18088,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0408 b/test/stderr/0408 index fddbe4a46..f222df518 100644 --- a/test/stderr/0408 +++ b/test/stderr/0408 @@ -74,7 +74,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -139,7 +139,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -195,6 +195,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0414 b/test/stderr/0414 index 06a9e7f4f..6ac19025a 100644 --- a/test/stderr/0414 +++ b/test/stderr/0414 @@ -134,4 +134,4 @@ routed by r3 router envelope to: x@a.domain transport: t1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0419 b/test/stderr/0419 index 37bab88f2..3b5c51a17 100644 --- a/test/stderr/0419 +++ b/test/stderr/0419 @@ -49,4 +49,4 @@ routed by dnslookup router transport: smtp host other1.test.ex [V4NET.12.4.5] MX=4 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0426 b/test/stderr/0426 index 498ef1e70..52914f0a5 100644 --- a/test/stderr/0426 +++ b/test/stderr/0426 @@ -95,9 +95,9 @@ After routing: Deferred addresses: LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0432 b/test/stderr/0432 index 79117e25a..ade8e0015 100644 --- a/test/stderr/0432 +++ b/test/stderr/0432 @@ -81,7 +81,7 @@ get[host|ipnode]byname[2] looked up these IP addresses: Attempting full verification using callout locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR dbfn_read: key=y @@ -112,7 +112,7 @@ cmd buf flush ddd bytes SMTP(close)>> locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x42 +EXIM_DBOPEN: file dir flags=O_RDWR|O_CREAT returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR|O_CREAT dbfn_write: key=y @@ -132,7 +132,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [1.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -191,7 +191,7 @@ get[host|ipnode]byname[2] looked up these IP addresses: Attempting full verification using callout locking TESTSUITE/spool/db/callout.lockfile locked TESTSUITE/spool/db/callout.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR dbfn_read: key=y @@ -211,7 +211,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [1.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> >>> host in hosts_connection_nolog? no (option unset) >>> host in host_lookup? no (option unset) >>> host in host_reject_connection? no (option unset) diff --git a/test/stderr/0435 b/test/stderr/0435 index 5c1c228fc..1ec601657 100644 --- a/test/stderr/0435 +++ b/test/stderr/0435 @@ -22,4 +22,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0437 b/test/stderr/0437 index 8c0bfe8c6..1bee416cf 100644 --- a/test/stderr/0437 +++ b/test/stderr/0437 @@ -79,4 +79,4 @@ search_tidyup called LOG: queue_run MAIN End queue run: pid=pppp search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0450 b/test/stderr/0450 index 3259e19c8..c55829d7f 100644 --- a/test/stderr/0450 +++ b/test/stderr/0450 @@ -27,8 +27,8 @@ added to list for 127.0.0.1 Leaving t1 transport LOG: MAIN == userx@test.ex R=r1 T=t1 defer (dd): Connection refused ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -57,4 +57,4 @@ LOG: MAIN == userx@test.ex R=r1 T=t1 defer (dd): Connection refused LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0462 b/test/stderr/0462 index 072503e91..9d2778de3 100644 --- a/test/stderr/0462 +++ b/test/stderr/0462 @@ -48,7 +48,7 @@ callout cache: found address record for Ok@localhost callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -83,7 +83,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -116,4 +116,4 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0463 b/test/stderr/0463 index 2c6fc05da..c8c956dde 100644 --- a/test/stderr/0463 +++ b/test/stderr/0463 @@ -66,4 +66,4 @@ routed by all router transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0464 b/test/stderr/0464 index f5615411a..b4c663691 100644 --- a/test/stderr/0464 +++ b/test/stderr/0464 @@ -175,4 +175,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0465 b/test/stderr/0465 index 92250956d..52dcbf3d5 100644 --- a/test/stderr/0465 +++ b/test/stderr/0465 @@ -29,7 +29,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> exim: bad -f address "abc@somewhere.": domain is malformed (trailing dot not allowed) Exim version x.yz .... changed uid/gid: forcing real = effective @@ -103,7 +103,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -166,4 +166,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0469 b/test/stderr/0469 index eff873f3c..ef16753d1 100644 --- a/test/stderr/0469 +++ b/test/stderr/0469 @@ -31,4 +31,4 @@ host_find_bydns yield = HOST_FIND_FAILED (0); returned hosts: r1 router declined for x@mxt1c.test.ex no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0471 b/test/stderr/0471 index bb67be2d4..fb5c986dd 100644 --- a/test/stderr/0471 +++ b/test/stderr/0471 @@ -25388,4 +25388,4 @@ LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0473 b/test/stderr/0473 index f1b03b8e2..65a39a9b7 100644 --- a/test/stderr/0473 +++ b/test/stderr/0473 @@ -27,7 +27,7 @@ LOG: MAIN REJECT U=CALLER F= temporarily rejected RCPT r11@two.test.ex: Could not complete recipient verify callout: 127.0.0.1 [127.0.0.1] : SMTP timeout after RCPT TO: LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -49,4 +49,4 @@ LOG: MAIN REJECT U=CALLER F= temporarily rejected RCPT r11@two.test.ex: Could not complete recipient verify callout: 127.0.0.1 [127.0.0.1] : SMTP timeout after initial connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0476 b/test/stderr/0476 index 675c6239c..5b2aff1c1 100644 --- a/test/stderr/0476 +++ b/test/stderr/0476 @@ -93,8 +93,8 @@ set_process_info: pppp delivering 10HmaZ-0005vi-00 LOG: MAIN == CALLER@the.local.host.name R=r1 T=t1 defer (dd): Connection refused set_process_info: pppp tidying up after delivering 10HmaZ-0005vi-00 ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed set_process_info: pppp running queue: waiting for children of pppp @@ -126,4 +126,4 @@ set_process_info: pppp running queue: waiting for children of pppp set_process_info: pppp running queue LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0479 b/test/stderr/0479 index 9386dce11..da8a56aad 100644 --- a/test/stderr/0479 +++ b/test/stderr/0479 @@ -93,4 +93,4 @@ SMTP>> 221 the.local.host.name closing connection LOG: smtp_connection MAIN SMTP connection from ([1.2.3.4]) [1.2.3.4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0483 b/test/stderr/0483 index 280b971d9..a6e836e34 100644 --- a/test/stderr/0483 +++ b/test/stderr/0483 @@ -28,4 +28,4 @@ LOG: MAIN REJECT U=CALLER F= rejected RCPT LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0484 b/test/stderr/0484 index 6b4a9558e..dbf8f66bf 100644 --- a/test/stderr/0484 +++ b/test/stderr/0484 @@ -129,4 +129,4 @@ cached data used for lookup of root in TESTSUITE/aux-fixed/0484.aliases lookup yielded: userx search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0487 b/test/stderr/0487 index 56e21b60e..1dd562218 100644 --- a/test/stderr/0487 +++ b/test/stderr/0487 @@ -103,7 +103,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -141,7 +141,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -199,11 +199,11 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> smtp_setup_msg entered SMTP<< quit SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0489 b/test/stderr/0489 index d0caddc8e..e1b955b4f 100644 --- a/test/stderr/0489 +++ b/test/stderr/0489 @@ -31,7 +31,7 @@ Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -64,7 +64,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmaY-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -97,7 +97,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmaZ-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -130,7 +130,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmbA-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -163,7 +163,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmbB-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -196,7 +196,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmbC-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -229,7 +229,7 @@ Renaming spool header file: TESTSUITE/spool//input//10HmbD-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -262,4 +262,4 @@ Renaming spool header file: TESTSUITE/spool//input//10HmbE-0005vi-00-H Size of headers = sss LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0499 b/test/stderr/0499 index 6435e8fc1..ba278cdac 100644 --- a/test/stderr/0499 +++ b/test/stderr/0499 @@ -47,4 +47,4 @@ routed by r1 router envelope to: ph@mxt1.test.ex transport: t1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0512 b/test/stderr/0512 index 07025d5d7..0cbcfc227 100644 --- a/test/stderr/0512 +++ b/test/stderr/0512 @@ -75,13 +75,13 @@ LOG: MAIN => :blackhole: R=r0 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -139,10 +139,10 @@ LOG: MAIN => :blackhole: R=r0 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN Completed LOG: queue_run MAIN End queue run: pid=pppp -qf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0529 b/test/stderr/0529 index a308cc147..9d4156da4 100644 --- a/test/stderr/0529 +++ b/test/stderr/0529 @@ -44,8 +44,8 @@ Writing retry data for T:TESTSUITE/test-mail/rmbox:x@test.ex errno=-22 more_errno=dd mailbox is full (MTA-imposed quota exceeded while writing to TESTSUITE/test-mail/rmbox) x@test.ex: no retry items end of retry processing ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -84,4 +84,4 @@ Deferred addresses: end of retry processing LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0543 b/test/stderr/0543 index 6a2b4ccd4..b886b8464 100644 --- a/test/stderr/0543 +++ b/test/stderr/0543 @@ -52,4 +52,4 @@ After routing: usery@domain1 LOG: queue_run MAIN End queue run: pid=pppp ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0544 b/test/stderr/0544 index f32cd8886..e45faa1e9 100644 --- a/test/stderr/0544 +++ b/test/stderr/0544 @@ -36,7 +36,7 @@ admin user }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -67,18 +67,6 @@ admin user for $received_for}} ├──expanding: with $received_protocol └─────result: with local - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -153,8 +141,8 @@ LOG: MAIN └─────result: yes ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}} └─────result: yes ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -188,4 +176,4 @@ LOG: smtp_connection MAIN └─────result: domain=recipient.domain/sender_domain=sender.domain LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0545 b/test/stderr/0545 index 5baf95f09..99cf67821 100644 --- a/test/stderr/0545 +++ b/test/stderr/0545 @@ -67,7 +67,7 @@ routed by dns router transport: smtp host eximtesthost.test.ex [ip4.ip4.ip4.ip4] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -113,4 +113,4 @@ routed by dns router transport: smtp host eximtesthost.test.ex [ip4.ip4.ip4.ip4] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0554 b/test/stderr/0554 index 460a2c22b..bbb76dbd4 100644 --- a/test/stderr/0554 +++ b/test/stderr/0554 @@ -34,7 +34,7 @@ Writing retry data for R:x@y: first failed=dddd last try=dddd next try=+1 expired=0 errno=-44 more_errno=dd,A H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:: 451 Temporary error end of retry processing ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -88,4 +88,4 @@ Deferred addresses: end of retry processing LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0563 b/test/stderr/0563 index fc4933c5a..21e7a13e5 100644 --- a/test/stderr/0563 +++ b/test/stderr/0563 @@ -40,4 +40,4 @@ routed by router2 router envelope to: joe-real@testexim.test.ex transport: local_delivery search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0575 b/test/stderr/0575 index 210f868ad..73467881a 100644 --- a/test/stderr/0575 +++ b/test/stderr/0575 @@ -59,4 +59,4 @@ SMTP>> 221 mail.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [V4NET.0.0.0] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/0578 b/test/stderr/0578 index 9f634c8c4..7826507ac 100644 --- a/test/stderr/0578 +++ b/test/stderr/0578 @@ -30,7 +30,7 @@ wrote callout cache domain record for localhost: wrote positive callout cache address record for ok@localhost LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -47,7 +47,7 @@ callout cache: found address record for ok@localhost callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -71,7 +71,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= temporarily rejected RCPT : Could not complete sender verify callout LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -108,7 +108,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (recipient): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -129,7 +129,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (recipient): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -165,7 +165,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (mail): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -185,7 +185,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.1] U=root F= rejected RCPT : (mail): Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -229,7 +229,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -249,7 +249,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.2] U=root F= rejected RCPT : Sender verify failed LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -289,7 +289,7 @@ wrote callout cache domain record for otherhost2: wrote positive callout cache address record for ok@otherhost2 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -307,7 +307,7 @@ callout cache: found address record for ok@otherhost2 callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -339,7 +339,7 @@ wrote callout cache domain record for otherhost3: result=1 postmaster=0 random=1 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -355,7 +355,7 @@ callout cache: found domain record for otherhost3 callout cache: domain accepts random addresses LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -387,7 +387,7 @@ wrote callout cache domain record for otherhost4: result=1 postmaster=0 random=1 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -403,7 +403,7 @@ callout cache: found domain record for otherhost4 callout cache: domain accepts random addresses LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -449,7 +449,7 @@ wrote callout cache domain record for otherhost41: wrote positive callout cache address record for ok@otherhost41 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -468,7 +468,7 @@ callout cache: found address record for ok@otherhost41 callout cache: address record is positive LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -508,7 +508,7 @@ wrote callout cache domain record for otherhost21: wrote positive callout cache address record for ok@otherhost21 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -542,7 +542,7 @@ wrote callout cache domain record for otherhost21: wrote positive callout cache address record for ok2@otherhost21 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -581,7 +581,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for ok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -615,7 +615,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for okok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -654,7 +654,7 @@ wrote callout cache domain record for otherhost31: wrote positive callout cache address record for okokok@otherhost31 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -688,7 +688,7 @@ LOG: MAIN REJECT H=[V4NET.0.0.5] U=root F= temporarily rejected RCPT : Could not complete sender verify callout LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -728,7 +728,7 @@ wrote callout cache domain record for otherhost52: wrote positive callout cache address record for okokok@otherhost52 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -764,7 +764,7 @@ LOG: MAIN <= ok7@otherhost53 H=[V4NET.0.0.7] U=root P=smtp S=sss LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -797,7 +797,7 @@ LOG: MAIN <= ok7@otherhost53 H=[V4NET.0.0.8] U=root P=smtp S=sss LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -839,7 +839,7 @@ wrote callout cache domain record for otherhost9: wrote positive callout cache address record for ok@otherhost9 LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -885,4 +885,4 @@ wrote callout cache domain record for test.ex: wrote positive callout cache address record for z@test.ex/ LOG: smtp_connection MAIN SMTP connection from root closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/1006 b/test/stderr/1006 index 09421f9a8..8714aa159 100644 --- a/test/stderr/1006 +++ b/test/stderr/1006 @@ -16,7 +16,7 @@ DNS lookup of v6.test.ex (AAAA) succeeded DNS lookup of v6.test.ex (A) using fakens DNS lookup of v6.test.ex (A) gave NO_DATA returning DNS_NODATA ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -32,6 +32,6 @@ returning DNS_NODATA DNS lookup of v6.test.ex (A) using fakens DNS lookup of v6.test.ex (A) gave NO_DATA returning DNS_NODATA ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/2013 b/test/stderr/2013 index dc42978c7..9f96c99eb 100644 --- a/test/stderr/2013 +++ b/test/stderr/2013 @@ -52,7 +52,7 @@ LOG: MAIN => userz@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no C="250 OK id=10HmbB-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -68,15 +68,15 @@ cmd buf flush ddd bytes SMTP>> QUIT cmd buf flush ddd bytes SMTP(close)>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => usery@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no C="250 OK id=10HmbC-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qqf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -131,7 +131,7 @@ LOG: MAIN => userc@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no C="250 OK id=10HmbH-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -147,14 +147,14 @@ cmd buf flush ddd bytes SMTP>> QUIT cmd buf flush ddd bytes SMTP(close)>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => userb@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no C="250 OK id=10HmbI-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qqf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/2035 b/test/stderr/2035 index dedf4ad48..80c2476d8 100644 --- a/test/stderr/2035 +++ b/test/stderr/2035 @@ -35,7 +35,9 @@ LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> +proxy-proc inter-pid pppp +proxy-proc final-pid pppp Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -64,11 +66,11 @@ ok=1 send_quit=1 send_rset=0 continue_more=0 yield=0 first_address is NULL cmd buf flush ddd bytes SMTP(close)>> Leaving t1 transport ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => userb@test.ex R=client T=t1 H=127.0.0.1 [127.0.0.1]:1225 X=TLS1.x:xxxxRSA_AES_256_CBC_SHAnnn:256 CV=no C="250 OK id=10HmaY-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/2113 b/test/stderr/2113 index 35cdabe47..fcb7691fb 100644 --- a/test/stderr/2113 +++ b/test/stderr/2113 @@ -52,7 +52,7 @@ LOG: MAIN => userz@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmbB-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -68,15 +68,15 @@ cmd buf flush ddd bytes SMTP>> QUIT cmd buf flush ddd bytes SMTP(close)>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => usery@test.ex R=client T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmbC-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qqf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -131,7 +131,7 @@ LOG: MAIN => userc@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmbH-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -147,14 +147,14 @@ cmd buf flush ddd bytes SMTP>> QUIT cmd buf flush ddd bytes SMTP(close)>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => userb@test.ex R=cl_override T=send_to_server H=127.0.0.1 [127.0.0.1]* X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmbI-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: queue_run MAIN End queue run: pid=pppp -qqf ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/2135 b/test/stderr/2135 index ac524d2af..e7e1c3f65 100644 --- a/test/stderr/2135 +++ b/test/stderr/2135 @@ -35,7 +35,9 @@ LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> +proxy-proc inter-pid pppp +proxy-proc final-pid pppp Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -64,11 +66,11 @@ ok=1 send_quit=1 send_rset=0 continue_more=0 yield=0 first_address is NULL cmd buf flush ddd bytes SMTP(close)>> Leaving t1 transport ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> LOG: MAIN => userb@test.ex R=client T=t1 H=127.0.0.1 [127.0.0.1]:1225 X=TLSv1:AES256-SHA:256 CV=no C="250 OK id=10HmaY-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (TLS proxy) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/2200 b/test/stderr/2200 index 4fec895ea..72aad3d26 100644 --- a/test/stderr/2200 +++ b/test/stderr/2200 @@ -20,7 +20,7 @@ internal_search_find: file="NULL" cached data used for lookup of a=localhost.test.ex lookup yielded: 127.0.0.1 search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -49,4 +49,4 @@ LOG: MAIN <= CALLER@myhost.test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/2201 b/test/stderr/2201 index 8dd7b2fb8..037d80d28 100644 --- a/test/stderr/2201 +++ b/test/stderr/2201 @@ -144,7 +144,7 @@ routed by r2 router envelope to: unknown@test.ex transport: local_delivery search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config trusted user @@ -183,7 +183,7 @@ LOG: MAIN <= a@shorthost.test.ex U=CALLER P=local S=sss created log directory TESTSUITE/spool/log search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** Exim version x.yz .... diff --git a/test/stderr/2202 b/test/stderr/2202 index 45b039a59..69c7914db 100644 --- a/test/stderr/2202 +++ b/test/stderr/2202 @@ -78,4 +78,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from the.local.host.name [ip4.ip4.ip4.ip4] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/2600 b/test/stderr/2600 index ffdad152f..1ea06926f 100644 --- a/test/stderr/2600 +++ b/test/stderr/2600 @@ -103,7 +103,7 @@ file lookup required for select * from them where name='it''s'; in TESTSUITE/aux-fixed/sqlitedb lookup yielded: name=it's id=its search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -199,7 +199,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [10.0.0.0] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -285,7 +285,7 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from [10.10.10.10] closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -362,7 +362,7 @@ Delivery address list: userx@myhost.test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -410,7 +410,7 @@ search_tidyup called --------> userx@myhost.test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -475,9 +475,9 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -491,4 +491,4 @@ file lookup required for select name from them where id='userx'; in TESTSUITE/aux-fixed/sqlitedb lookup yielded: Ayen Other search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/3000 b/test/stderr/3000 index a1b9f08a5..17f48ab73 100644 --- a/test/stderr/3000 +++ b/test/stderr/3000 @@ -41,7 +41,7 @@ LOG: MAIN log from Perl ├──expanding: ${perl{log_write}{log from Perl}} └─────result: Wrote log ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> LOG: smtp_connection MAIN SMTP connection from CALLER LOG: MAIN diff --git a/test/stderr/3201 b/test/stderr/3201 index 10fa6f937..23e33c840 100644 --- a/test/stderr/3201 +++ b/test/stderr/3201 @@ -39,7 +39,7 @@ SMTP>> 550 Administrative prohibition LOG: connection_reject MAIN REJECT H=[10.0.0.1] rejected connection in "connect" ACL search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -81,4 +81,4 @@ SMTP>> 550 Administrative prohibition LOG: connection_reject MAIN REJECT H=[10.0.0.2] rejected connection in "connect" ACL search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/3210 b/test/stderr/3210 index 75a408470..b80a28738 100644 --- a/test/stderr/3210 +++ b/test/stderr/3210 @@ -32,4 +32,4 @@ test.ex in "+defer_lookup : test.ex"? list match deferred for +defer_lookup test.ex in "! +local_domains"? list match deferred for ! +local_domains domains check lookup or other defer search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> diff --git a/test/stderr/3212 b/test/stderr/3212 index ca3048328..31c81e3b2 100644 --- a/test/stderr/3212 +++ b/test/stderr/3212 @@ -133,4 +133,4 @@ cached data used for lookup of root in TESTSUITE/aux-fixed/3212.aliases lookup yielded: userx search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/3400 b/test/stderr/3400 index 78b0e158f..aca7f5f68 100644 --- a/test/stderr/3400 +++ b/test/stderr/3400 @@ -469,4 +469,4 @@ SMTP>> 221 myhost.test.ex closing connection LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/4520 b/test/stderr/4520 index d8d2d7a03..3d7957c03 100644 --- a/test/stderr/4520 +++ b/test/stderr/4520 @@ -53,7 +53,7 @@ LOG: MAIN => d@test.ex R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbE-0005vi-00" LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/4802 b/test/stderr/4802 index 25b31a1a5..d2e93f15e 100644 --- a/test/stderr/4802 +++ b/test/stderr/4802 @@ -6,7 +6,7 @@ DNS lookup of mx-sec-a-aa.test.ex (MX) succeeded DNS lookup of a-aa.test.ex (A) using fakens DNS lookup of a-aa.test.ex (A) succeeded DNS lookup of a-aa.test.ex (A/AAAA) requested AD, but got AA ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -15,4 +15,4 @@ DNS lookup of mx-aa-a-sec.test.ex (MX) succeeded DNS lookup of mx-aa-a-sec.test.ex (MX) requested AD, but got AA DNS lookup of a-sec.test.ex (A) using fakens DNS lookup of a-sec.test.ex (A) succeeded ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/4803 b/test/stderr/4803 index 9a57c446e..7808dfab8 100644 --- a/test/stderr/4803 +++ b/test/stderr/4803 @@ -8,7 +8,7 @@ DNS lookup of a-aa.test.ex (A) succeeded DNS faked the AD bit (got AA and matched with dns_trust_aa (test.ex in *)) DNS faked the AD bit (got AA and matched with dns_trust_aa (test.ex in *)) DNS faked the AD bit (got AA and matched with dns_trust_aa (test.ex in *)) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -19,4 +19,4 @@ DNS faked the AD bit (got AA and matched with dns_trust_aa (test.ex in *)) DNS faked the AD bit (got AA and matched with dns_trust_aa (test.ex in *)) DNS lookup of a-sec.test.ex (A) using fakens DNS lookup of a-sec.test.ex (A) succeeded ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5000 b/test/stderr/5000 index 537b98cab..458705515 100644 --- a/test/stderr/5000 +++ b/test/stderr/5000 @@ -46,5 +46,5 @@ maildir_taggedX_appendfile transport returned DEFER for userx@myhost.test.ex added retry item for T:userx@myhost.test.ex: errno=-22 more_errno=dd flags=0 LOG: MAIN == userx@myhost.test.ex R=localuser T=maildir_taggedX_appendfile defer (-22): mailbox is full (MTA-imposed quota exceeded while writing to tmp/MAILDIR.myhost.test.ex) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5004 b/test/stderr/5004 index 08b4c9784..5d1d0d31c 100644 --- a/test/stderr/5004 +++ b/test/stderr/5004 @@ -78,7 +78,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -117,7 +117,7 @@ routed by r1 router transport: locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -137,7 +137,7 @@ search_tidyup called --------> TESTSUITE/test-mail <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -204,6 +204,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5005 b/test/stderr/5005 index 7e6ea98b2..36d829192 100644 --- a/test/stderr/5005 +++ b/test/stderr/5005 @@ -74,7 +74,7 @@ Delivery address list: nofile@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -112,7 +112,7 @@ search_tidyup called --------> nofile@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -187,9 +187,9 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -265,7 +265,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -302,7 +302,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -379,9 +379,9 @@ LOG: MAIN end delivery of 10HmaY-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -457,7 +457,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -494,7 +494,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -553,7 +553,7 @@ Deferred addresses: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR address match test: subject=userx@test.ex pattern=* @@ -580,9 +580,9 @@ Size of headers = sss end delivery of 10HmaZ-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective uid=uuuu gid=CALLER_GID pid=pppp @@ -658,7 +658,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -699,7 +699,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDONLY dbfn_read: key=T:userx@test.ex @@ -749,7 +749,7 @@ Deferred addresses: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x2 +EXIM_DBOPEN: file dir flags=O_RDWR returned from EXIM_DBOPEN: 0xAAAAAAAA opened hints database TESTSUITE/spool/db/retry: flags=O_RDWR address match test: subject=userx@test.ex pattern=* @@ -776,6 +776,6 @@ Size of headers = sss end delivery of 10HmbA-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5006 b/test/stderr/5006 index e494f83b5..2b2b37761 100644 --- a/test/stderr/5006 +++ b/test/stderr/5006 @@ -74,7 +74,7 @@ Delivery address list: userx@test.ex locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) ensuring TESTSUITE/spool/db/retry.lockfile is owned by exim failed to open DB file TESTSUITE/spool/db/retry.lockfile: No such file or directory @@ -112,7 +112,7 @@ search_tidyup called --------> userx@test.ex <-------- locking TESTSUITE/spool/db/retry.lockfile locked TESTSUITE/spool/db/retry.lockfile -EXIM_DBOPEN: file dir flags 0x0 +EXIM_DBOPEN: file dir flags=O_RDONLY returned from EXIM_DBOPEN: (nil) failed to open DB file TESTSUITE/spool/db/retry: No such file or directory no retry data available @@ -185,6 +185,6 @@ LOG: MAIN end delivery of 10HmaX-0005vi-00 search_tidyup called search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5008 b/test/stderr/5008 index b3bf8f785..6d0dd7390 100644 --- a/test/stderr/5008 +++ b/test/stderr/5008 @@ -35,8 +35,8 @@ LOG: MAIN => userx R=r1 T=t1 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -75,5 +75,5 @@ LOG: MAIN => userx R=r1 T=t1 LOG: MAIN Completed ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5204 b/test/stderr/5204 index 32754009b..4d169591f 100644 --- a/test/stderr/5204 +++ b/test/stderr/5204 @@ -23,7 +23,7 @@ command wrote: DECLINE cannot route this one (DECLINE) q router declined for "DECLINE cannot route this one (DECLINE)"@some.host "more" is false: skipping remaining routers no more routers ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -45,7 +45,7 @@ q router called for "FAIL cannot route this one (FAIL)"@some.host: domain = some requires uid=EXIM_UID gid=EXIM_GID current_directory=/ command wrote: FAIL cannot route this one (FAIL) q router forced address failure ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -70,7 +70,7 @@ LOG: PANIC q router: bad command yield: ERROR cannot route this one (ERROR) q router: defer for "ERROR cannot route this one (ERROR)"@some.host message: bad command yield: ERROR cannot route this one (ERROR) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -93,7 +93,7 @@ requires uid=EXIM_UID gid=EXIM_GID current_directory=/ command wrote: DEFER cannot route this one (DEFER) q router: defer for "DEFER cannot route this one (DEFER)"@some.host message: cannot route this one (DEFER) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -124,7 +124,7 @@ routed by q router envelope to: "ACCEPT transport = other_smtp hosts=ten-1.test.ex"@some.host transport: other_smtp host ten-1.test.ex [V4NET.0.0.1] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -167,7 +167,7 @@ routed by s router envelope to: PASS@some.host transport: smtp host 127.0.0.1 [127.0.0.1] ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -190,7 +190,7 @@ requires uid=EXIM_UID gid=EXIM_GID current_directory=/ command wrote: FREEZE cannot route this one (FREEZE) q router: defer for "FREEZE cannot route this one (FREEZE)"@some.host message: cannot route this one (FREEZE) ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -248,7 +248,7 @@ domain = test.ex routed by pm router envelope to: postmaster@test.ex transport: null ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -299,4 +299,4 @@ LOG: MAIN REJECT H=(some.name) [V4NET.2.3.4] F= rejected RCPT <"FAIL cannot route this one (FAIL)"@some.host>: cannot route this one (FAIL) LOG: smtp_connection MAIN SMTP connection from (some.name) [V4NET.2.3.4] closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stderr/5410 b/test/stderr/5410 index b4db690ab..515d05334 100644 --- a/test/stderr/5410 +++ b/test/stderr/5410 @@ -166,7 +166,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -197,18 +197,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -256,7 +244,7 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -392,7 +380,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -423,18 +411,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -482,7 +458,7 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -618,7 +594,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -649,18 +625,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -708,6 +672,6 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stderr/5420 b/test/stderr/5420 index b34440046..430a82dd9 100644 --- a/test/stderr/5420 +++ b/test/stderr/5420 @@ -165,7 +165,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -196,18 +196,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -255,7 +243,7 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -391,7 +379,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -422,18 +410,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -481,7 +457,7 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> Exim version x.yz .... configuration file is TESTSUITE/test-config admin user @@ -617,7 +593,7 @@ end of inline ACL: ACCEPT }}id $message_exim_id${if def:received_for { for $received_for}} ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name) - ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol ╎}} (Exim $version_number) + ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number) ╎ ${if def:sender_address {(envelope-from <$sender_address>) ╎ }}id $message_exim_id${if def:received_for { ╎ for $received_for}} @@ -648,18 +624,6 @@ end of inline ACL: ACCEPT for $received_for}} ├──expanding: with $received_protocol └─────result: with local-esmtp - ├──condition: def:tls_cipher - ├─────result: false - ┌───scanning: ($tls_cipher) - }}(Exim $version_number) - ${if def:sender_address {(envelope-from <$sender_address>) - }}id $message_exim_id${if def:received_for { - for $received_for}} - ├──expanding: ($tls_cipher) - - ├─────result: () - - └───skipping: result is not used ├──condition: def:sender_address ├─────result: true ┌considering: (envelope-from <$sender_address>) @@ -707,6 +671,6 @@ LOG: MAIN Completed LOG: smtp_connection MAIN SMTP connection from CALLER closed by QUIT ->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>> ******** SERVER ******** diff --git a/test/stdout/0002 b/test/stdout/0002 index 5593f06cc..1422289a7 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -123,6 +123,7 @@ > addresses: local-part@dom.ain+xyz@abc > addresses: local-part@dom.ain:xyz@abc:p@q:r@s > addresses: +> Failed: output separator missing in expanding ${addresses:>} > > escape: B7\267F2\362 > excape8bit: undisturbed text tab diff --git a/test/stdout/0572 b/test/stdout/0572 index 8b7a17a78..96ab5611b 100644 --- a/test/stdout/0572 +++ b/test/stdout/0572 @@ -53,7 +53,6 @@ hosts_avoid_esmtp = hosts_avoid_pipelining = hosts_max_try = 5 hosts_max_try_hardlimit = 50 -hosts_noproxy_tls = * no_hosts_override no_hosts_randomize hosts_require_auth = diff --git a/test/stdout/0901 b/test/stdout/0901 index a982ac8b6..c4020ae5f 100644 --- a/test/stdout/0901 +++ b/test/stdout/0901 @@ -330,11 +330,7 @@ Connecting to 127.0.0.1 port 1225 ... connected >>> RCPT TO:CALLER@test.ex ??? 250 <<< 250 Accepted ->>> BDAT 1\r\nTBDAT 87 last ->>> o: Susan@random.com ->>> From: Sam@random.com ->>> Subject: This is a bodyless test message ->>> +>>> BDAT 1\r\nTBDAT 87 last\r\no: Susan@random.com\r\nFrom: Sam@random.com\r\nSubject: This is a bodyless test message\r\n\r\n ??? 554 SMTP synchronization error <<< 554 SMTP synchronization error End of script diff --git a/test/stdout/2102 b/test/stdout/2102 index 0d96d1279..2df808595 100644 --- a/test/stdout/2102 +++ b/test/stdout/2102 @@ -93,11 +93,15 @@ Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected ??? 250 <<< 250 HELP >>> starttls -??? 220 +??? 220 TLS go ahead <<< 220 TLS go ahead Attempting to start TLS pppp:error:dddddddd:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:[...]:SSL alert number 40 Failed to start TLS ++++ 1 +>>> help +??? 554 +<<< 554 Security failure End of script Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected Certificate file = TESTSUITE/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.pem diff --git a/test/stdout/2132 b/test/stdout/2132 index 322237463..64915c1fb 100644 --- a/test/stdout/2132 +++ b/test/stdout/2132 @@ -98,6 +98,10 @@ Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected Attempting to start TLS pppp:error:dddddddd:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:[...]:SSL alert number 40 Failed to start TLS ++++ 1 +>>> help +??? 554 +<<< 554 Security failure End of script Connecting to ip4.ip4.ip4.ip4 port 1225 ... connected Certificate file = TESTSUITE/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.pem diff --git a/test/stdout/3000 b/test/stdout/3000 index ca7b094e6..50be468c2 100644 --- a/test/stdout/3000 +++ b/test/stdout/3000 @@ -17,7 +17,7 @@ > 42 > 30 > 3 -> X/X +> X > > Tue, 2 Mar 1999 09:44:33 +0000 // Changed locale // Tue, 2 Mar 1999 09:44:33 +0000 > diff --git a/test/stdout/4012 b/test/stdout/4012 new file mode 100644 index 000000000..fa6770563 --- /dev/null +++ b/test/stdout/4012 @@ -0,0 +1,35 @@ +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +250-myhost.test.ex Hello CALLER at test.ex +250-SIZE 52428800 +250-8BITMIME +250-PIPELINING +250 HELP +250 OK +250 Accepted +354 Enter message, ending with "." on a line by itself +250 OK id=10HmaY-0005vi-00 +221 myhost.test.ex closing connection +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000 +250-myhost.test.ex Hello CALLER at test.ex +250-SIZE 52428800 +250-8BITMIME +250-PIPELINING +250 HELP +250 OK +250 Accepted +354 Enter message, ending with "." on a line by itself +550 Administrative prohibition +221 myhost.test.ex closing connection + +******** SERVER ******** +Listening on port 1224 ... +Connection request from [IP_LOOPBACK_ADDR] +TESTSUITE/spool/scan/10HmaY-0005vi-00/10HmaY-0005vi-00.eml +>LF>RESULT: OK +End of script +Listening on port 1224 ... +Connection request from [IP_LOOPBACK_ADDR] +TESTSUITE/spool/scan/10HmaX-0005vi-00/10HmaX-0005vi-00.eml +>LF>RESULT: BAD +>LF>NAME: wibble +End of script