Steffen Nurpmeso via Postfix-users:
> Wietse Venema via Postfix-users wrote in
>  <4tqc213rcwzj...@spike.porcupine.org>:
>  |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 -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to