[milters] Archive

Lists Index Date Thread Search

Article: 934
From: Rose, Bobby
Date: 2006-05-21 11:19:20 -0400
Subject: milter-sender and SMFI_VERSION

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

I'm currently running 1.08 of milter-sender and lately my cache db has
been getting corrupted and I resolve it by stopping the milter and
removing the cache database and restarting.  I'm not sure why it's been
happening but I noticed that version 1.10 was posted so I decided to
update so as to be current.  But I discovered that I have to change
SMFI_VERSION in my sendmail build and doing so breaks the other milter
that I use called DCC (http://www.dcc-servers.net/dcc/)   After I
recompile sendmail, milter-sender is fine but DCC  logs this error
DCC: smfi_register: version mismatch application: 2 != milter: 4

Now I have posted this question with the DCC list and this was the
response but then this also caused me to wonder about other milters that
people might be running in conjunction with the newer version of
milter-sender that might also be broken.  I've rolled back my
milter-sender version back to 1.08 for now since I prefer to have both
milters in use.
Dccm merely uses libmilter.a and doesn't know what SMFI_VERSION might
mean. Dccm includes the standard block of code prescribed by the milter
documention. You can see it with the hits of

Since dccm is not built as part of sendmail, APPENDDEF() has no effect.

dccm gets SMFI_VERSION from mfapi.h, sometimes

If you want dccm and other external milters to use SMFI_VERSION=4, you
will probably need to modify mfapi.h and then rebuild dccm and any other
external milters.

I have only one clue about how the result might work. When and if the
Sendmail.org folks think SMFI_VERSION=4 is ready for prime time, I
assume they will change that line in mfapi.h or at least document

I don't think there's anything wrong with hacking sendmail internals,
provided you remember two things. I've done it professionally.

The two things to remember are "If you break it, you own it" and
"Warranty void if seal is broken."

Bobby Rose
Senior Systems Administrator
MSIS Network Operations
Wayne State University School of Medicine

Lists Index Date Thread Search