libmiter version

Vernon Schryver
Sun May 21 16:23:04 UTC 2006

> From: "Rose, Bobby" <>

> I'm posting the question with Snertsoft also about this but here is what
> they have in the changelog that explains what they are doing.  It does
> sound like sendmail allows it because sendmail isn't really being
> hacked.

With open source, you're "allowed" to do anything you want, but doing
it violates the warranty, such as it is.  That's the import of this
line in the milter samples in the sendmail source:

	SMFI_VERSION,   /* version code -- do not change */

> Added experimental code to implment milter specific SMTP
> 	commands using the libmilter xxfi_unknown handler. This
> 	requires BOTH sendmail and libmilter be built with
> 	specified in your devtools/Site/site.config.m4 file. This
> ...

The APPENDDEF macros in the sendmail m4 files such as
.../devtools/site/site.config.m4 are used by the sendmail Build scripts
to generate Makefiles.  They do nothing that is visible outside the
sendmail build directory.  Dccm knows the value of SMFI_VERSION only
from the mfapi.h header file exported from the sendmail source.

As I said before, to get dccm to generate milter initialization
structures with SMFI_VERSION=4, your best bet is probably to change
the '2' to '4' in this part of mfapi.h and ensure that dccm is
built with the modified mfapi.h:

    #ifndef SMFI_VERSION
    # define SMFI_VERSION   2               /* version number */
    #endif /* ! SMFI_VERSION */

Also as I said before, that is not a recommendation.  I assume the
people in charge of sendmail have good reasons for not talking about
the mechanisms that Snertsoft is using.  They are probably not yet
even "experimental."  I notice that Snertsoft says their own code
using SMFI_VERSION=4 is "experimental."

Vernon Schryver

More information about the DCC mailing list

Contact by mail or use the form.