I've found out that the milter doesn't work with the postfix-milter implementation.
This happens because the xxfi_negotiate function is not implemented.
Sendmail seems to ignore this, but postfix needs this function.
I've patched the sourcecode with an implementation of this function. This shouldn't touch the sendmail functionallity but makes the milter lib work with postfix.
patch >>> snip here <<<
diff -Naur Sendmail-Milter-0.18.org/callbacks.c Sendmail-Milter-0.18/callbacks.c
--- Sendmail-Milter-0.18.org/callbacks.c 2000-07-19 08:20:36.000000000 +0200
+++ Sendmail-Milter-0.18/callbacks.c 2007-11-12 16:15:12.000000000 +0100
@@ -50,6 +50,7 @@
/* Callback prototypes for first-level callback wrappers. */
+sfsistat hook_negotiate(SMFICTX *,unsigned long ,unsigned long ,unsigned long ,unsigned long ,unsigned long *,unsigned long *,unsigned lon
g *,unsigned long *);
sfsistat hook_connect(SMFICTX *, char *, _SOCK_ADDR *);
sfsistat hook_helo(SMFICTX *, char *);
sfsistat hook_envfrom(SMFICTX *, char **);
@@ -165,6 +166,8 @@
desc->xxfi_version = SMFI_VERSION;
desc->xxfi_flags = flags;
+ desc->xxfi_negotiate = hook_negotiate;
if (hv_exists_ent(my_callback_table, KEY_CONNECT, 0))
@@ -766,3 +769,17 @@
+hook_negotiate(ctx, f0, f1, f2, f3, pf0, pf1, pf2, pf3)
+ SMFICTX *ctx;
+ unsigned long f0;
+ unsigned long f1;
+ unsigned long f2;
+ unsigned long f3;
+ unsigned long *pf0;
+ unsigned long *pf1;
+ unsigned long *pf2;
+ unsigned long *pf3;
+ return SMFIS_ALL_OPTS;
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.