Re: [Exim] no exit error on duplications for dbmbuild

Top Page
Delete this message
Reply to this message
Author: Chris Bayliss
Date:  
To: J.Goldberg
CC: exim-users
Subject: Re: [Exim] no exit error on duplications for dbmbuild
> The "new" (3.0 and above) version of exim_dbmbuild as clearly documented
> in the specs and the READMEs behaves differently with respect to duplicate
> keys in the records.


It nearly caught us out.

> If others think that this is a good idea, feel free to use it. It's only
> three lines of added/modified code, but for all that it's GPLed.
>
> If there are better ways to approach the problem, I'd be happy to hear
> about it.
>
> I know that it is reasonable to say that the input should be clean with no
> duplicate records, but for some cases checking that is expensive and
> collisions aren't such a problem (I have for example a list of "expired
> addresses" with things like
>


This isn't necessarily reasonable. For example we allow our users to
redirect their email to a server of their choice (none of whom have
accounts on the server running exim). It is mush easier to maintain
such redirections in a separate file and append or prepend it,
depending on the version of exim than editing the aliases file for
each request for redirection.

> address1: :fail: This addresses expired on ...
>
> Because we do resuse aliases (yuck!) there will be duplications. But
> there might be other cases where people want a make to continue on
> duplicaitons, while stopping on other db errors.
>


We rely on the ability to ignore duplicates in quite a few
circumstamces. Every other mailer we have used works this way. It is
a minor nuisance when the duplicate that is used used changes (ie last
or first), but this is nothing that a variant of tail -r won't fix
when building the tables. For us the main issue is that a
modification in this area won't mean more unnecessary change.

Chris Bayliss
The University of Birmingham