git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle a v4mapped sender address given us by a proxy. Bug 2855
[exim.git]
/
src
/
src
/
host.c
diff --git
a/src/src/host.c
b/src/src/host.c
index f69e0341a03ff446bafbaa922a22acb3afd1b055..e43b507e5e29b68df784a1dcace0ce16006ea42a 100644
(file)
--- 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 *
*************************************************/
* 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
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.
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
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