X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1fe64dcc7107853e28d02700674b640ed24c0fea..75e0e026a196fa852a855d5148f29be29ac2d92f:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index 4c8366951..ef1865541 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/exim.c,v 1.21 2005/06/27 14:29:04 ph10 Exp $ */ +/* $Cambridge: exim/src/src/exim.c,v 1.33 2006/02/16 10:05:33 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* Copyright (c) University of Cambridge 1995 - 2006 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -599,7 +599,7 @@ Returns: the port, or zero if there isn't one static int check_port(uschar *address) { -int port = host_extract_port(address); +int port = host_address_extract_port(address); if (string_is_ip_address(address, NULL) == 0) { fprintf(stderr, "exim abandoned: \"%s\" is not an IP address\n", address); @@ -833,6 +833,9 @@ fprintf(f, "Using tdb\n"); #endif fprintf(f, "Support for:"); +#ifdef SUPPORT_CRYPTEQ + fprintf(f, " crypteq"); +#endif #if HAVE_ICONV fprintf(f, " iconv()"); #endif @@ -858,6 +861,12 @@ fprintf(f, "Support for:"); fprintf(f, " OpenSSL"); #endif #endif +#ifdef SUPPORT_TRANSLATE_IP_ADDRESS + fprintf(f, " translate_ip_address"); +#endif +#ifdef SUPPORT_MOVE_FROZEN_MESSAGES + fprintf(f, " move_frozen_messages"); +#endif #ifdef WITH_CONTENT_SCAN fprintf(f, " Content_Scanning"); #endif @@ -918,6 +927,9 @@ fprintf(f, "Lookups:"); #ifdef LOOKUP_PGSQL fprintf(f, " pgsql"); #endif +#ifdef LOOKUP_SQLITE + fprintf(f, " sqlite"); +#endif #ifdef LOOKUP_TESTDB fprintf(f, " testdb"); #endif @@ -1000,6 +1012,8 @@ if (fixed_never_users[0] > 0) fprintf(f, "%d:", (unsigned int)fixed_never_users[i]); fprintf(f, "%d\n", (unsigned int)fixed_never_users[i]); } + +fprintf(f, "Size of off_t: %d\n", sizeof(off_t)); } @@ -1987,6 +2001,7 @@ for (i = 1; i < argc; i++) { badarg = TRUE; break; } } originator_name = argrest; + sender_name_forced = TRUE; break; @@ -3297,11 +3312,12 @@ if (((debug_selector & D_any) != 0 || (log_extra_selector & LX_arguments) != 0) on this in the code, which always uses fully qualified names, but it's useful for core dumps etc. Don't complain if it fails - the spool directory might not be generally accessible and calls with the -C option (and others) have lost -privilege by now. */ +privilege by now. Before the chdir, we try to ensure that the directory exists. +*/ if (Uchdir(spool_directory) != 0) { - (void)directory_make(spool_directory, US"", SPOOL_DIRECTORY_MODE, TRUE); + (void)directory_make(spool_directory, US"", SPOOL_DIRECTORY_MODE, FALSE); (void)Uchdir(spool_directory); } @@ -3905,7 +3921,7 @@ for (i = 0;;) /* If we cannot get a user login, log the incident and give up, unless the configuration specifies something to use. When running in the test harness, -any setting of unknown_login overrides the actual login name. */ +any setting of unknown_login overrides the actual name. */ if (originator_login == NULL || running_in_test_harness) { @@ -3939,12 +3955,17 @@ DEBUG(D_receive) debug_printf("originator: uid=%d gid=%d login=%s name=%s\n", /* Run in daemon and/or queue-running mode. The function daemon_go() never returns. We leave this till here so that the originator_ fields are available -for incoming messages via the daemon. */ +for incoming messages via the daemon. The daemon cannot be run in mua_wrapper +mode. */ if (daemon_listen || queue_interval > 0) { - if (mua_wrapper) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Daemon cannot be " - "run when mua_wrapper is set"); + if (mua_wrapper) + { + fprintf(stderr, "Daemon cannot be run when mua_wrapper is set\n"); + log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Daemon cannot be run when " + "mua_wrapper is set"); + } daemon_go(); } @@ -4719,12 +4740,6 @@ 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). */