rspamd_fstring_t *reply = NULL; | rspamd_fstring_t *reply = NULL; | ||||
gsize len; | gsize len; | ||||
GString *name, *value; | GString *name, *value; | ||||
const char *reason; | |||||
const char *reason, *body_str; | |||||
struct rspamd_milter_outbuf *obuf; | struct rspamd_milter_outbuf *obuf; | ||||
struct rspamd_milter_private *priv = session->priv; | struct rspamd_milter_private *priv = session->priv; | ||||
pos += name->len + 1; | pos += name->len + 1; | ||||
memcpy (pos, value->str, value->len + 1); | memcpy (pos, value->str, value->len + 1); | ||||
break; | break; | ||||
case RSPAMD_MILTER_REPLBODY: | |||||
len = va_arg (ap, gsize); | |||||
body_str = va_arg (ap, const char *); | |||||
msg_debug_milter ("want to change body; size = %uz", | |||||
len); | |||||
SET_COMMAND (cmd, len, reply, pos); | |||||
memcpy (pos, body_str, len + 1); | |||||
break; | |||||
case RSPAMD_MILTER_REPLYCODE: | case RSPAMD_MILTER_REPLYCODE: | ||||
case RSPAMD_MILTER_ADDRCPT: | case RSPAMD_MILTER_ADDRCPT: | ||||
case RSPAMD_MILTER_DELRCPT: | case RSPAMD_MILTER_DELRCPT: |
RSPAMD_MILTER_ADDHEADER = 'h', | RSPAMD_MILTER_ADDHEADER = 'h', | ||||
RSPAMD_MILTER_CHGHEADER = 'm', | RSPAMD_MILTER_CHGHEADER = 'm', | ||||
RSPAMD_MILTER_INSHEADER = 'i', | RSPAMD_MILTER_INSHEADER = 'i', | ||||
RSPAMD_MILTER_REPLBODY = 'b', | |||||
RSPAMD_MILTER_REJECT = 'r', | RSPAMD_MILTER_REJECT = 'r', | ||||
RSPAMD_MILTER_TEMPFAIL = 't', | RSPAMD_MILTER_TEMPFAIL = 't', | ||||
RSPAMD_MILTER_REPLYCODE = 'y', | RSPAMD_MILTER_REPLYCODE = 'y', |
#define RSPAMD_MILTER_ACTIONS_MASK \ | #define RSPAMD_MILTER_ACTIONS_MASK \ | ||||
(RSPAMD_MILTER_FLAG_ADDHDRS | RSPAMD_MILTER_FLAG_ADDRCPT | \ | (RSPAMD_MILTER_FLAG_ADDHDRS | RSPAMD_MILTER_FLAG_ADDRCPT | \ | ||||
RSPAMD_MILTER_FLAG_DELRCPT | RSPAMD_MILTER_FLAG_CHGHDRS | \ | RSPAMD_MILTER_FLAG_DELRCPT | RSPAMD_MILTER_FLAG_CHGHDRS | \ | ||||
RSPAMD_MILTER_FLAG_QUARANTINE) | |||||
RSPAMD_MILTER_FLAG_CHGBODY | RSPAMD_MILTER_FLAG_QUARANTINE) | |||||
enum rspamd_milter_connect_proto { | enum rspamd_milter_connect_proto { | ||||
RSPAMD_MILTER_CONN_UNKNOWN = 'U', | RSPAMD_MILTER_CONN_UNKNOWN = 'U', |