X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/36a3b0416e0bed61d78e44f119cdafb1fde941ba..b90c388a0e57c501cd55cc701dc57fe824bc115b:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index 14cd03228..0ed6c7ae5 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/exim.c,v 1.16 2005/03/15 14:09:12 ph10 Exp $ */ +/* $Cambridge: exim/src/src/exim.c,v 1.20 2005/05/31 11:10:50 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -586,7 +586,8 @@ exit(rc); *************************************************/ /* Called to extract the port from the values given to -oMa and -oMi. -It also checks the syntax of the address. +It also checks the syntax of the address, and terminates it before the +port data when a port is extracted. Argument: address the address, with possible port on the end @@ -829,6 +830,9 @@ fprintf(f, "Support for:"); #ifdef EXIM_PERL fprintf(f, " Perl"); #endif +#ifdef EXPAND_DLFUNC + fprintf(f, " Expand_dlfunc"); +#endif #ifdef USE_TCP_WRAPPERS fprintf(f, " TCPwrappers"); #endif @@ -3234,8 +3238,8 @@ a debugging feature for finding out what arguments certain MUAs actually use. Don't attempt it if logging is disabled, or if listing variables or if verifying/testing addresses or expansions. */ -if ((log_extra_selector & LX_arguments) != 0 && really_exim - && !list_options && !checking) +if (((debug_selector & D_any) != 0 || (log_extra_selector & LX_arguments) != 0) + && really_exim && !list_options && !checking) { int i; uschar *p = big_buffer; @@ -3267,7 +3271,11 @@ if ((log_extra_selector & LX_arguments) != 0 && really_exim (p - big_buffer) - 4), printing, quote); while (*p) p++; } - log_write(0, LOG_MAIN, "%s", big_buffer); + + if ((log_extra_selector & LX_arguments) != 0) + log_write(0, LOG_MAIN, "%s", big_buffer); + else + debug_printf("%s\n", big_buffer); } /* Set the working directory to be the top-level spool directory. We don't rely @@ -4696,6 +4704,12 @@ while (more) close_unwanted(); /* Close unwanted file descriptors and TLS */ exim_nullstd(); /* Ensure std{in,out,err} exist */ + /* Occasionally in the test harness we don't have synchronous delivery + set (can happen with bounces). In that case, let the old process finish + before continuing, to keep the debug output the same. */ + + if (running_in_test_harness && !synchronous_delivery) millisleep(100); + /* Re-exec Exim if we need to regain privilege (note: in mua_wrapper mode, deliver_drop_privilege is forced TRUE). */