X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/2fe767453007d1b015f52313d16dc61635085621..76aa570c217ad2fad1e73fb91e2aa39ce5e3c4ff:/src/src/route.c diff --git a/src/src/route.c b/src/src/route.c index 324de2ab8..346a7c6a7 100644 --- a/src/src/route.c +++ b/src/src/route.c @@ -1952,6 +1952,22 @@ if (unseen && r->next != NULL) /* Unset the address expansions, and return the final result. */ ROUTE_EXIT: +if (yield == DEFER) { + if ( + ((Ustrstr(addr->message, "failed to expand") != NULL) || (Ustrstr(addr->message, "expansion of ") != NULL)) && + ( + Ustrstr(addr->message, "mysql") != NULL || + Ustrstr(addr->message, "pgsql") != NULL || + Ustrstr(addr->message, "sqlite") != NULL || + Ustrstr(addr->message, "ldap:") != NULL || + Ustrstr(addr->message, "ldapdn:") != NULL || + Ustrstr(addr->message, "ldapm:") != NULL + ) + ) { + addr->message = string_sprintf("Temporary internal error"); + } +} + deliver_set_expansions(NULL); disable_logging = FALSE; return yield;