Re: [exim-dev] Exim Bug 1031

Top Page
Delete this message
Reply to this message
Author: Axel Rau
Date:  
To: Todd Lyons
CC: exim-dev
Subject: Re: [exim-dev] Exim Bug 1031

Am 05.06.2012 um 18:04 schrieb Todd Lyons:

> I have some questions about this patch as provided in your second to
> last comment.
> 1. Are you running this patch in production?

yes, on my 2 outgoing relays.
> 2. Does mail suddenly stop flowing if the database server dies?

No, it just logs a warning and does not record delivery, i think.
I will verify later.
> 3. Some kind of "Unable to log to database" would be good if #2
> happens. I didn't see any error handling code if the database write
> fails, but that appears to be a function of the expand_string() call
> and I haven't looked at it in detail yet.

I found that error message in the logs:
    exim[25631]: ERDB: ?record_RCPT: localToLocal: No 2nd MB
So error logging works (You find it in the backend function, see below).

> 4. I didn't see a schema anywhere, could you include a sample schema for this?

Here is the ERDB project:
    https://www.chaos1.de/svn-public/repos/network-tools/ERDB/trunk/database/
erdb.sql is the schema, ERDB.pdf is the ERD. The backend function which does the logging
is record_Delivery (in erdb.sql). The relevant part from the exim config is:
---
dbl_delivery_query = ${lookup pgsql {SELECT * FROM record_Delivery( \
    '${quote_pgsql:$sender_address_domain}', '${quote_pgsql:${lc:$sender_address_local_part}}', \
    '${quote_pgsql:$dbl_delivery_domain}', '${quote_pgsql:${lc:$dbl_delivery_local_part}}', \
    '${quote_pgsql:$dbl_delivery_ip}', '${quote_pgsql:${lc:$dbl_delivery_fqdn}}', \
    '${quote_pgsql:$message_exim_id}', '${quote_pgsql:$dbl_delivery_confirmation}')}}
---


> 5. What happens if one email has multiple recipients? If one
> recipient is accepted and the other is deferred and the third is
> rejected, does all of that get logged individually? The answer
> appears to be yes, but I am looking for verification.

Yes. ERDB is an email reputation database, which is mail relation centric.
Each recipient belongs to a different mail relation.
>
> There may be more as I experiment with it. The patch as it stands
> looks pretty complete. I'll try to get this added into 4.81 if we can
> clean up all the loose ends, but only if I fully understand it, how it
> works, and if error modes are handled or non-impacting of regular mail
> delivery.

That would be great. Let me know, if I can assist.
Should I start, porting the patch to 4.80?

Axel
---
PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius