Autor: Chris Bayliss Data: A: J.Goldberg CC: exim-users Assumpte: 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.