Auteur: Ian Zimmerman Date: À: exim-dev Sujet: Re: [exim-dev] Bug 2369: single-key lookup type based on
libcorkipset
I am still confused by this paragraph in section 10.12:
When an IPv6 address is converted to a string, dots are normally used
instead of colons, so that keys in lsearch files need not contain colons
(which terminate lsearch keys). This was implemented some time before
the ability to quote keys was made available in lsearch files. However,
the more recently 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.
My naive understanding was that lookups are more primitive than host
lists, and exim converts the subject into a string _once_ and then
matches it against each list item in turn, passing the converted string
to the lookup's *find() entry when an item refers to a lookup. But this
paragraph seems to imply that exim does the conversion anew for each
lookup item; after all there could be multiple lookups of different
kinds in the list, some iplsearch and some plain lsearch.
In fact it seems that iplsearch lookups are somewhat special when used
in lists. And that is what interests me in this situation, because I
want corkipset lookup to share the same specialness. I think the dot
translation is an awful hack, and basically I want nothing to do with it
;-)
Do you know how (where in the code) iplsearch is made special in this way?
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.