diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-05-07 13:27:46 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-05-07 14:05:12 +0100 |
commit | ce12e4e392eb70b1f9b35597c297dbbf8330fc04 (patch) | |
tree | 574fce335f0fcab34afde51103e668a5956a288c /src/libserver/milter.c | |
parent | d9d0fa5e86db2f4470d34395a233b450478b2f60 (diff) | |
download | rspamd-ce12e4e392eb70b1f9b35597c297dbbf8330fc04.tar.gz rspamd-ce12e4e392eb70b1f9b35597c297dbbf8330fc04.zip |
[Fix] Fix milter connections persistence
Diffstat (limited to 'src/libserver/milter.c')
-rw-r--r-- | src/libserver/milter.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libserver/milter.c b/src/libserver/milter.c index fab8709ba..b733956ab 100644 --- a/src/libserver/milter.c +++ b/src/libserver/milter.c @@ -584,6 +584,8 @@ rspamd_milter_process_command (struct rspamd_milter_session *session, REF_RETAIN (session); priv->fin_cb (priv->fd, session, priv->ud); REF_RELEASE (session); + + return FALSE; break; case RSPAMD_MILTER_CMD_RCPT: msg_debug_milter ("rcpt command"); @@ -1182,6 +1184,7 @@ rspamd_milter_to_http (struct rspamd_milter_session *session) if (session->message) { rspamd_http_message_set_body_from_fstring_steal (msg, session->message); + session->message = NULL; } if (session->hostname && session->hostname->len > 0) { @@ -1209,4 +1212,17 @@ rspamd_milter_to_http (struct rspamd_milter_session *session) rspamd_milter_macro_http (session, msg); return msg; +} + +void * +rspamd_milter_update_userdata (struct rspamd_milter_session *session, + void *ud) +{ + struct rspamd_milter_private *priv = session->priv; + void *prev_ud; + + prev_ud = priv->ud; + priv->ud = ud; + + return prev_ud; }
\ No newline at end of file |