d8d54b21f4
MFC after: 3 days
113 lines
2.8 KiB
HTML
113 lines
2.8 KiB
HTML
<HTML>
|
|
<HEAD><TITLE>smfi_setsymlist</TITLE></HEAD>
|
|
<BODY>
|
|
<!--
|
|
$Id: smfi_setsymlist.html,v 1.7 2013-11-22 20:51:39 ca Exp $
|
|
-->
|
|
<H1>smfi_setsymlist</H1>
|
|
|
|
<TABLE border="0" cellspacing=4 cellpadding=4>
|
|
<!---------- Synopsis ----------->
|
|
<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD>
|
|
<PRE>
|
|
#include <libmilter/mfapi.h>
|
|
int smfi_setsymlist(
|
|
SMFICTX *ctx,
|
|
int stage,
|
|
char *macros
|
|
);
|
|
</PRE>
|
|
Set the list of macros that the milter wants to receive from the MTA
|
|
for a protocol stage.
|
|
</TD></TR>
|
|
|
|
<!----------- Description ---------->
|
|
<TR><TH valign="top" align=left>DESCRIPTION</TH><TD>
|
|
<TABLE border="1" cellspacing=1 cellpadding=4>
|
|
<TR align="left" valign=top>
|
|
<TH width="80">Called When</TH>
|
|
<TD>This function must only be called during
|
|
<A HREF="xxfi_negotiate.html">xxfi_negotiate()</A>.
|
|
</TD>
|
|
</TR>
|
|
<TR align="left" valign=top>
|
|
<TH width="80">Effects</TH>
|
|
<TD>This function can be used to override the list of macros that the
|
|
milter wants to receive from the MTA.
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<!----------- Arguments ---------->
|
|
<TR><TH valign="top" align=left>ARGUMENTS</TH><TD>
|
|
<TABLE border="1" cellspacing=0>
|
|
<TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR>
|
|
|
|
<TR><TD>ctx</TD>
|
|
<TD>the opaque context structure.
|
|
</TD></TR>
|
|
|
|
<TR><TD>stage</TD>
|
|
<TD>the protocol stage during which the macro list should be used.
|
|
See the file
|
|
<CODE>include/libmilter/mfapi.h</CODE> for legal values,
|
|
look for the C macros with the prefix
|
|
<CODE>SMFIM_</CODE>.
|
|
Available protocol stages are at least
|
|
the initial connection, HELO/EHLO, MAIL, RCPT, DATA,
|
|
end of header, and
|
|
the end of a message.
|
|
</TD></TR>
|
|
|
|
<TR><TD>macros</TD>
|
|
<TD>list of macros (separated by space).
|
|
Example: "{rcpt_mailer} {rcpt_host}"
|
|
<BR>
|
|
An empty string ("", not NULL) can be used to specify that no macros
|
|
should be sent.
|
|
</TD></TR>
|
|
|
|
</TABLE>
|
|
</TD></TR>
|
|
|
|
<!----------- Return values ---------->
|
|
<TR>
|
|
<TH valign="top" align=left>RETURN VALUES</TH>
|
|
|
|
<TD>MI_FAILURE is returned if
|
|
<UL>
|
|
<LI>there is not enough free memory to make a copy of the macro list,
|
|
<LI><CODE>macros</CODE> is <CODE>NULL</CODE>,
|
|
<LI><CODE>stage</CODE> is not a valid protocol stage,
|
|
<LI>the macro list for
|
|
<CODE>stage</CODE> has been set before.
|
|
</UL>
|
|
Otherwise MI_SUCCESS is returned.
|
|
</TD>
|
|
</TR>
|
|
|
|
<!----------- Notes ---------->
|
|
<TR align="left" valign=top>
|
|
<TH>NOTES</TH>
|
|
<TD>There is an internal limit on the number of macros
|
|
that can be set
|
|
<!-- XREF: MAXFILTERMACROS -->
|
|
(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.</TD>
|
|
</TR>
|
|
|
|
</TABLE>
|
|
|
|
<HR size="1">
|
|
<FONT size="-1">
|
|
Copyright (c) 2006, 2012 Proofpoint, Inc. and its suppliers.
|
|
All rights reserved.
|
|
<BR>
|
|
By using this file, you agree to the terms and conditions set
|
|
forth in the LICENSE.
|
|
</FONT>
|
|
</BODY>
|
|
</HTML>
|