From: Anthony Howe
Date: 2004-10-22 01:43:02 -0400
Subject: Re: socket error on FreeBSD 4.10
More information..: http://www.milter.info/#Support
Dirk Meyer wrote:
> Anthony Howe schrieb:,
>>Dirk Meyer wrote:
>>>I suggest to build sendmail without an extra berkley db installed.
>>>Then you build milter-sender with the db of your choice.
>>For milter-sender (and any of my other milters using cache/access
>>databases), you must build Sendmail and the milters with the same
>>version of Berkely DB. As I understood in an email from Keith Bostic on
>>the matter, newer versions of Berkely DB can not read BDB 1.85 file
>>format, so applications that must access the same database, must be
>>linked with the same BDB library.
> 1. Milter has not dependency on the sendmaildb.
> 2. A milter can use and db it want.
> 3. Only if you have to read/write the databases sendmail uses,
> you have to match the db version.
I don't think you read Keith Bostic of Sleepycat, author of Berkeley DB,
response's on the matter:
Its true a milter can link with any BDB for its own completely
independent needs, like a private cache, BUT a milter that wants to just
do read-only operations on a BDB that is managed by Sendmail MUST link
with the same BDB, especially if that BDB is 1.85, because no newer
version of BDB can read version 1.85 databases! So said Keith.
Many of my milters need a) a read/write a cache.db, b) to read the
Sendmail access.db. In order to just read access.db, the milter must be
linked with the same BDB library in order to read the BDB format used by
> If you milter must do this, you can have a nice workaround:
> You have "access" and "access.db" in native sendmail.
> Your milter can still use a new db scheme.
I don't need to write access.db. Only read.
> mkdir /etc/mail/milter
> ln -s /etc/mail/milter/access /etc/mail/access
> cd /etc/mail && makemap hash access <access
> cd /etc/mail/milter && makemap-db42 hash access <access
> giving each program its own hash to work on may work
> even with an unmodifed sendamil.
> tell me if I am wrong.
This is so wrong.
Maintaining different copies of the access.db (and aliases.db,
virtusertable.db, mailertable.db, domaintable.db, generics.db, etc.),
one for each distinct BDB format, is inefficent and prone to error. My
milters current detect when access.db has been modified and reopens the
access.db. Every time you add a new entry to access.db and rebuild it
with makemap, then you have make sure to update the other copies using a
different version of makemap compiled. You have to remember to maintain
two different makemap tools also.
That is such a horrible hack.
Anthony C Howe +33 6 11 89 73 78
7116561 AIM: Sir Wumpus
"Once...we were here." - Last of The Mohicans
Copyright 2009, 2012 by SnertSoft. All rights reserved.