X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/b70d25860f3e7dfe54ad69a5695a9bff7d380f08..ebd9bd7d2ef66379770eb415b360b6b880784f7b:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index f1c3199c3..cf48c04b3 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -931,8 +931,13 @@ DEBUG(D_any) do { " Runtime: %s\n", PCRE_MAJOR, PCRE_MINOR, /* PRE_PRERELEASE is either defined and empty or a string. - * This should work: */ + * unless its an ancient version of PCRE in which case it + * is not defined */ +#ifdef PCRE_PRERELEASE PCRE_PRERELEASE "", +#else + "", +#endif pcre_version()); init_lookup_list(); @@ -1276,7 +1281,7 @@ for (m = macros; m != NULL; m = m->next) return FALSE; } } -debug_printf("macros_trusted overriden to true by whitelisting\n"); +DEBUG(D_any) debug_printf("macros_trusted overriden to true by whitelisting\n"); return TRUE; #endif } @@ -3338,9 +3343,13 @@ if (( /* EITHER */ and should be used for any logging information because attempts to write to the log will usually fail. To arrange this, we unset really_exim. However, if no stderr is available there is no point - we might as well have a go - at the log (if it fails, syslog will be written). */ + at the log (if it fails, syslog will be written). + + Note that if the invoker is Exim, the logs remain available. Messing with + this causes unlogged successful deliveries. */ - if (log_stderr != NULL) really_exim = FALSE; + if ((log_stderr != NULL) && (real_uid != exim_uid)) + really_exim = FALSE; } /* Privilege is to be retained for the moment. It may be dropped later,