On Wed, 16 Jan 2002, Richard Welty wrote:
> > Yes that's right. In Exim 3 partial-lookup worked differntly depending
> > on what was looked up, that't not the case with Exim 4 - partial-lookup
> > is partial-lookup no matter what is looked up.
>
> hmm. i just went to section 9.5 in the manual i have on my laptop for
> 3.951, and partial-lsearch as described should have worked in my original
> 3.952 config. i'll have to fetch a copy of the docs that accompany 3.952
> and see if they have changed.
It isn't really partial-lsearch that's changed. It is the handling of
address lists. I had to re-implement them for Exim 4 because there were
some nasty cases that Exim 3 got wrong. For example, Exim 3 believed
that "if there's an @ in the pattern, it consists of localpart@domain".
This was OK in the early days of Exim, but it fails on patterns that
consist of a lookup which happens to have an @ in its query.
So I redid the code to check for lookups first, and generally re-worked
it at the same time. The end result is that it is slightly different,
but I don't think the available facilities are actually reduced, though
you might have to specify them slightly differently.
The convert script ought to be able to pick this up.
> my review of 9.4 and 9.5 leaves me unpersuaded. i'm going to have to spend
> some time reviewing 10.13; it's been a while since i read it (more than a
> couple of releases ago), and it's a complex section.
I can't remember exactly why it ended up that way, but 10.13 now does
say this:
. Complete addresses can be looked up by using a pattern that consists of a
lookup type, a semicolon, and the data for the lookup. For example:
deny senders = cdb;/etc/blocked.senders : \
mysql;select address from blocked where \
address='${quote_mysql:$sender_address}'
For a single-key lookup type, Exim uses the complete address as the key.
Partial matching (section 9.5) cannot be used, and is ignored if
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
specified. However, you can configure a lookup default, as described in
section 9.4.
On thinking about this, I feel that a better specification would be to
diagnose some kind of error if partial searching is specified instead of
silently ignoring it.
I'll see what I can do to (a) diagnose instead of ignore partial-
(b) make convert4r4 stick *@ on the front
Thanks for this in-depth testing. It's nice to know that somebody is
doing it!
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.