diff options
-rw-r--r-- | doc/doc-txt/ChangeLog | 2 | ||||
-rw-r--r-- | src/src/expand.c | 17 |
2 files changed, 12 insertions, 7 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6b36763fe..3ebc92531 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -59,6 +59,8 @@ JH/11 Bug 2264: Exim now only follows CNAME chains one step by default. We'd "error, loop". A new main option is added so the older capability of following some limited number of chain links is maintained. +JH/12 Add client-ip info to non-pass iprev ${authres } lines. + Exim version 4.91 ----------------- diff --git a/src/src/expand.c b/src/src/expand.c index 07c6edfc5..b9eeb7c46 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -1675,13 +1675,16 @@ static gstring * authres_iprev(gstring * g) { if (sender_host_name) - return string_append(g, sender_host_address ? 5 : 3, - US";\n\tiprev=pass (", sender_host_name, US")", - US" smtp.client-ip=", sender_host_address); -if (host_lookup_deferred) - return string_catn(g, US";\n\tiprev=temperror", 19); -if (host_lookup_failed) - return string_catn(g, US";\n\tiprev=fail", 13); + g = string_append(g, 3, US";\n\tiprev=pass (", sender_host_name, US")"); +else if (host_lookup_deferred) + g = string_catn(g, US";\n\tiprev=temperror", 19); +else if (host_lookup_failed) + g = string_catn(g, US";\n\tiprev=fail", 13); +else + return g; + +if (sender_host_address) + g = string_append(g, 2, US" smtp.client-ip=", sender_host_address); return g; } |