[milters] Archive

Lists Index Date Thread Search

Article: 1126
From: Rob McMahon
Date: 2006-09-05 06:01:10 -0400
Subject: Problem reloading access.db

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support
--------------------------------------------------------

I've recently put milter-ahead into production, and I'm having issues 
when the access.db is updated.  This is

libsnert-1.60
milter-ahead-1.3
sendmail-8.13.8
    on
SunOS harebell 5.9 Generic_118559-11 i86pc i386
    milter-ahead.cf looks like
-f /etc/mail/sendmail-rx.cf
-H
-N /etc/mail/nexthopdb.db
-c 86400
-C 86400
-v info

When the access.db is updated by makemap, I start getting errors like this:

Sep  5 09:55:20 mail-relay-1 milter-ahead[29478]: [ID 889226 mail.info] 
reopening "/etc/mail/access_db.db"
Sep  5 09:55:20 mail-relay-1 milter-ahead[29478]: [ID 820735 
mail.warning] 08725 NOQUEUE: host jester-snat-dflt [137.205.195.97] from 
unknown TLD

but 137.205/16 is explicitly white-listed:

milter-ahead-connect:137.205    OK

after a restart it returns to:

Sep  5 09:55:42 mail-relay-1 milter-ahead[27216]: [ID 930459 mail.info] 
00013 NOQUEUE: host jester-snat-dflt [137.205.195.97] OK

Sounds like a locking issue ?  Any ideas ?

My current thinking is to move to milter-ahead-1.5, turn on 
smdb-use-stat, and point milter-ahead at a copy of the access.db which 
is atomically replaced.  I'd like to understand the issue, though.  I do 
note that libsnert uses flock, rather than fcntl, and that the man page 
for flock says

NOTES
     Use  of these interfaces should be restricted to only applications 
written on BSD platforms.  Use of  these  interfaces
     with any of the system libraries or in multi-thread applications is 
unsupported.

So I wonder if it's tripping over this.

Cheers,

Rob

-- 
E-Mail:	Rob.McMahon@warwick.ac.uk		PHONE:  +44 24 7652 3037
Rob McMahon, IT Services, Warwick University, Coventry, CV4 7AL, England


Lists Index Date Thread Search