Milter xxfi_abort()
Handle envelope abort All Milter versions
As long as all your envelope-oriented xxfi_
functions return
SMFIS_CONTINUE
,
the Milter library guarantees that either your
xxfi_eom
() or
xxfi_abort
()
function will be called. The xxfi_eom
() function
(Milter xxfi_eom()
on page 1215), if used, is called after all the
chunks of the message body have been processed with
xxfi_body
()
(Milter xxfi_body() on page 1207). This xxfi_abort
() function is called if
another Milter or sendmail
rejected, temporarily failed, discarded, or
final-accepted the current envelope, outside the
control of your Milter.
Note that xxfi_eom
() and xxfi_abort
() are
mutually exclusive, that is, if one is called the
other will not be called.
The xxfi_abort
()
function is called like this:
sfsistat
xxfi_abort(SMFICTX *ctx
)
Here, ctx
is the context
pointer passed to all xxfi_
functions to maintain state in a
multithreaded environment. Nothing else is passed.
Because there is nothing left of the envelope to
process, the value returned by xxfi_abort
() is
ignored. If no abort function is listed in the
smfiDesc
structure (Milter smfi_register()
on page 1194), SMFIS_CONTINUE
is returned by
default.
Note that xxfi_abort
() marks the end of the
current envelope. There may be multiple envelopes
per connection. The xxfi_close
() function (Milter xxfi_close() on
page 1208), if used, ends processing of the
connection. This xxfi_abort
() mirrors xxfi_eom
() and should be used to deallocate any envelope-specific private data ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.