SYNOPSIS |
#include <libmilter/mfapi.h>
int smfi_setsymlist(
SMFICTX *ctx,
int stage,
char *macros
);
Set the list of macros that the milter wants to receive from the MTA
for a protocol stage.
|
DESCRIPTION |
Called When |
This function must only be called during
xxfi_negotiate().
|
Effects |
This function can be used to override the list of macros that the
milter wants to receive from the MTA.
|
|
ARGUMENTS |
Argument | Description |
ctx |
the opaque context structure.
|
stage |
the protocol stage during which the macro list should be used.
See the file
include/libmilter/mfapi.h for legal values,
look for the C macros with the prefix
SMFIM_ .
Available protocol stages are at least
the initial connection, HELO/EHLO, MAIL, RCPT, DATA,
end of header, and
the end of a message.
|
macros |
list of macros (separated by space).
Example: "{rcpt_mailer} {rcpt_host}"
An empty string ("", not NULL) can be used to specify that no macros
should be sent.
|
|
RETURN VALUES |
MI_FAILURE is returned if
- there is not enough free memory to make a copy of the macro list,
macros is NULL ,
stage is not a valid protocol stage,
- the macro list for
stage has been set before.
Otherwise MI_SUCCESS is returned.
|
NOTES |
There is an internal limit on the number of macros
that can be set
(currently 50),
however, this limit is not enforced by libmilter, only by the MTA,
but a possible violation of this restriction is not communicated back to
the milter. |