Steffen Nurpmeso via Postfix-users:
> Wietse Venema via Postfix-users wrote in
> <[email protected]>:
> |So you're suggesting that as long as an MTA-to Milter connection
> |is not in an error state, sending
> |
> | SMFIC_QUIT_NC
> |
> |and later sending
> |
> | SMTIC_CONNECT
> |
> |are sufficient to make a Milter fully forget a past SMTP session and
> |to make it ready to handle events from a new SMTP session?
> |
> |I'd like to see some documentation for that.
>
> Well. That is how QUIT_NC is documented i would say,
Documentation? there is a partial comment in a Sendmail header file.
#define SMFIC_QUIT_NC 'K' /* QUIT but new connection
follows */
That's all there is. Not even text that is based on observing real
code at work (like Vierling's writeup).
Here's some hard info from libmilter/engine.c:
/* commands received by milter */
static cmdfct cmds[] =
{
/* command, arguments, next state, what to do, macros, function */
{SMFIC_ABORT, CM_ARG0, ST_ABRT, CT_CONT, CI_NONE, st_abortfct }
...
, {SMFIC_QUIT, CM_ARG0, ST_QUIT, CT_END, CI_NONE, st_quit }
...
, {SMFIC_QUIT_NC, CM_ARG0, ST_Q_NC, CT_CONT, CI_NONE, st_quit }
};
This reveals that with both QUIT like commands, libmilter invokes
the same function (st_quit). The two commands differ in their "next
state" (ST_QUIT versus ST_Q_NC) and "what to do" (CT_END versus
CT_CONT).
Wietse
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]