From 8dde16b89efe2138f92cbfa6c59fb31dc80ec22a Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Tue, 19 Feb 2019 14:45:27 +0000 Subject: [PATCH 2/5] Docs: Add note on lsearch for IPv4-mapped IPv6 addresses Cherry-picked from: 52af443324, c77d3d85fe --- doc/doc-docbook/spec.xfpt | 11 ++++++++++- doc/ChangeLog | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -18,7 +18,7 @@ JH/07 GnuTLS: Our use of late (post-hand TLS connection attempt, so that the normal retry-in-clear can work (if suitably configured). -JB/01 BZg 2375: fix expansions of 822 addresses having comments in local-part +JB/01 Bug 2375: fix expansions of 822 addresses having comments in local-part and/or domain. Found and fixed by Jason Betts. --- a/doc/spec.txt +++ b/doc/spec.txt @@ -6302,6 +6302,10 @@ The following single-key lookup types ar implicit key is the host's IP address rather than its name (see section 10.12). + Warning 3: Do not use an IPv4-mapped IPv6 address for a key; use the + IPv4, in dotted-quad form. (Exim converts IPv4-mapped IPv6 addresses to + this notation before executing the lookup.) + * lsearch: The given file is a text file that is searched linearly for a line beginning with the search key, terminated by a colon or white space or the end of the line. The search is case-insensitive; that is, upper and lower @@ -8003,7 +8007,11 @@ quote keys was made available in lsearch implemented iplsearch files do require colons in IPv6 keys (notated using the quoting facility) so as to distinguish them from IPv4 keys. For this reason, when the lookup type is iplsearch, IPv6 addresses are converted using colons -and not dots. In all cases, full, unabbreviated IPv6 addresses are always used. +and not dots. + +In all cases except IPv4-mapped IPv6, full, unabbreviated IPv6 addresses +are always used. The latter are converted to IPv4 addresses, in dotted-quad +form. Ideally, it would be nice to tidy up this anomalous situation by changing to colons in all cases, given that quoting is now available for lsearch. However,