X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/c2046b73572e3b2ea94b4bf7fea9810b73d606c4..2b68e140a846db4f24f4e29dfa16db73dc35c37f:/src/src/host.c diff --git a/src/src/host.c b/src/src/host.c index f69e0341a..e43b507e5 100644 --- a/src/src/host.c +++ b/src/src/host.c @@ -370,15 +370,18 @@ while ((name = string_nextinlist(&list, &sep, NULL, 0))) * Extract port from address string * *************************************************/ -/* In the spool file, and in the -oMa and -oMi options, a host plus port is -given as an IP address followed by a dot and a port number. This function -decodes this. +/* In the -oMa and -oMi options, a host plus port is given as an IP address +followed by a dot and a port number. This function decodes this. An alternative format for the -oMa and -oMi options is [ip address]:port which -is what Exim 4 uses for output, because it seems to becoming commonly used, +is what Exim uses for output, because it seems to becoming commonly used, whereas the dot form confuses some programs/people. So we recognize that form too. +The spool file used to use the first form, but this breaks with a v4mapped ipv6 +hybrid, because the parsing here is not clever. So for spool we now use the +second form. + Argument: address points to the string; if there is a port, the '.' in the string is overwritten with zero to terminate the address; if the string