* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
/* Functions concerned with rewriting headers */
{
if (expand_string_forcedfail)
{ if ((rule->flags & rewrite_quit) != 0) break; else continue; }
+
+ /* Avoid potentially exposing a password */
+
+ if ( ( Ustrstr(expand_string_message, "failed to expand") != NULL
+ || Ustrstr(expand_string_message, "expansion of ") != NULL
+ )
+ && ( Ustrstr(expand_string_message, "mysql") != NULL
+ || Ustrstr(expand_string_message, "pgsql") != NULL
+ || Ustrstr(expand_string_message, "redis") != NULL
+ || Ustrstr(expand_string_message, "sqlite") != NULL
+ || Ustrstr(expand_string_message, "ldap:") != NULL
+ || Ustrstr(expand_string_message, "ldaps:") != NULL
+ || Ustrstr(expand_string_message, "ldapi:") != NULL
+ || Ustrstr(expand_string_message, "ldapdn:") != NULL
+ || Ustrstr(expand_string_message, "ldapm:") != NULL
+ ) )
+ expand_string_message = US"Temporary internal error";
+
log_write(0, LOG_MAIN|LOG_PANIC, "Expansion of %s failed while rewriting: "
"%s", rule->replacement, expand_string_message);
break;
/* We have a validly rewritten address */
- if ((log_write_selector & L_address_rewrite) != 0 ||
- (debug_selector & D_rewrite) != 0)
+ if (LOGGING(address_rewrite) || (debug_selector & D_rewrite) != 0)
{
int i;
const uschar *where = CUS"?";