diff options
-rw-r--r-- | doc/doc-docbook/spec.xfpt | 4 | ||||
-rw-r--r-- | doc/doc-txt/ChangeLog | 3 | ||||
-rw-r--r-- | src/src/routers/manualroute.c | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 4a239b73c..aab8c00d5 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -19469,6 +19469,10 @@ instead of TRY_AGAIN. That is why the default action is to try a DNS lookup first. Only if that gives a definite &"no such host"& is the local function called. +&*Compatibility*&: From Exim 4.85 until fixed for 4.90, there was an +inadvertent constraint that a transport name as an option had to be the last +option specified. + If no IP address for a host can be found, what happens is controlled by the diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 336935329..03ec157ec 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -109,6 +109,9 @@ JH/15 Fix a crash in the smtp transport caused when two hosts in succession JH/16 Fix logging of delivery remote port, when specified by router, under callout/hold. +PP/06 Repair manualroute's ability to take options before hostnames. + Fixes bug 2140. + Exim version 4.89 ----------------- diff --git a/src/src/routers/manualroute.c b/src/src/routers/manualroute.c index 95c69328d..31185e160 100644 --- a/src/src/routers/manualroute.c +++ b/src/src/routers/manualroute.c @@ -333,7 +333,7 @@ while (*options != 0) { transport_instance *t; for (t = transports; t != NULL; t = t->next) - if (Ustrcmp(t->name, s) == 0) + if (Ustrncmp(t->name, s, n) == 0) { transport = t; individual_transport_set = TRUE; |