RE: [Exim] Exim 4: handling case sensitivity - opinions want…

Top Page
Delete this message
Reply to this message
Author: John Horne
Date:  
To: exim-users
Subject: RE: [Exim] Exim 4: handling case sensitivity - opinions wanted
On 06-Feb-01 at 15:07:41 Philip Hazel wrote:
> This copes with all cases, I think, including the following pathological
> example:
>
> . Consider a message containing the addresses x@domain and X@domain.
>
> . The first router operates casefully, and routes x@domain.
>
>  . X@domain falls through to the second router, which routes it
>    caselessly.

>
>  . Should the second router discard X@domain because x@domain has 
>    already been routed?

>

Perhaps I'm missing something here but I would have said that your scenario
is not quite valid. If any user-id is going to be handled in a caseful way
then surely *all* combinations of that user-id must be handled casefully.
This is for the administrator to configure exim to do. The answer in your
scenario is yes it should be discarded because it has been routed, but that
is probably wrong (not what is wanted) and the administrators fault. If you
consider 'abc' casefully, then you must consider 'ABC', 'Abc', aBC', etc, as
well.

I would suspect that with Exim4 the use of router options - in particular
'domains' and 'local_parts' will be used more. I would think that what you
want is something like:

router-1:
  caseful
  domains = some.domain
  local_parts = x : X : abc                 (using 'x' literally here)
  driver = smartuser                        (aliasfile or whatever)


router-2:
caseful
domains = some.domain
local_parts = ! abc
driver = smartuser


The problem for the administrator is how to handle all combinations of
user-id 'abc' which are not (caseful) 'abc' (router-2), and such that they
all go to one mailbox. That is:

'abc' => bill
'ABC', 'Abc', 'ABc' etc => fred

I don't think you can solve this by just making it caseless (lowercase), for
the very reason you have with your scenario. It will be for the
administrator to recognise that 'abc' (any combination) must be dealt with
specifically. I would suspect that (as at present) they would include
something like 'new_address = ${uc:local_part}@$domain' - so that 'abc' is a
mailbox and 'ABC' is a mailbox, but all mail for 'ABc', 'aBc' etc goes to
'ABC'.

John.

------------------------------------------------------------------------
John Horne, University of Plymouth, UK           Tel: +44 (0)1752 233914
E-mail: jhorne@???
PGP key available from public key servers