summaryrefslogtreecommitdiffstats
path: root/src/libserver/milter.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-05-07 13:27:46 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-05-07 14:05:12 +0100
commitce12e4e392eb70b1f9b35597c297dbbf8330fc04 (patch)
tree574fce335f0fcab34afde51103e668a5956a288c /src/libserver/milter.c
parentd9d0fa5e86db2f4470d34395a233b450478b2f60 (diff)
downloadrspamd-ce12e4e392eb70b1f9b35597c297dbbf8330fc04.tar.gz
rspamd-ce12e4e392eb70b1f9b35597c297dbbf8330fc04.zip
[Fix] Fix milter connections persistence
Diffstat (limited to 'src/libserver/milter.c')
-rw-r--r--src/libserver/milter.c16
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