Re[4]: [Exim] exim 3.952 -- sender reject issue

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Richard Welty
CC: exim-users
Subject: Re[4]: [Exim] exim 3.952 -- sender reject issue
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.