Przeglądaj źródła

[Project] Allow to replace body in milter

tags/2.0
Vsevolod Stakhov 5 lat temu
rodzic
commit
1daef8f706

+ 9
- 1
src/libserver/milter.c Wyświetl plik

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:

+ 1
- 0
src/libserver/milter.h Wyświetl plik

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',

+ 1
- 1
src/libserver/milter_internal.h Wyświetl plik

#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',

Ładowanie…
Anuluj
Zapisz