diff options
Diffstat (limited to 'mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch')
-rw-r--r-- | mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch b/mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch deleted file mode 100644 index 4238c838dfa9..000000000000 --- a/mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 2bda2989eee893c42ff04f48a904f00a33a7d07a Mon Sep 17 00:00:00 2001 -From: Vsevolod Stakhov <vsevolod@highsecure.ru> -Date: Tue, 27 Feb 2018 16:37:44 +0000 -Subject: [PATCH] [CritFix] Do not send reject messages after set reply - -Libmilter seems to be totally brain damaged: -https://github.com/freebsd/freebsd/blob/386ddae58459341ec567604707805814a2128a57/contrib/sendmail/libmilter/engine.c#L66 - ---- - src/libserver/milter.c | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - - Back-ported for rspamd 1.5.6 - -diff -ur rspamd-1.6.6/src/libserver/milter.c rspamd-1.6.6-badmilter/src/libserver/milter.c ---- rspamd-1.6.6/src/libserver/milter.c 2018-02-16 13:47:47.000000000 +0000 -+++ rspamd-1.6.6-badmilter/src/libserver/milter.c 2018-03-07 16:07:58.591483869 +0000 -@@ -99,6 +99,8 @@ - guint i; - - if (how & RSPAMD_MILTER_RESET_IO) { -+ msg_debug_milter ("cleanup IO on abort"); -+ - DL_FOREACH_SAFE (priv->out_chain, obuf, obuf_tmp) { - rspamd_milter_obuf_free (obuf); - } -@@ -111,8 +113,11 @@ - } - - if (how & RSPAMD_MILTER_RESET_COMMON) { -+ msg_debug_milter ("cleanup common data on abort"); -+ - if (session->message) { - session->message->len = 0; -+ msg_debug_milter ("cleanup message on abort"); - } - - if (session->rcpts) { -@@ -120,30 +125,38 @@ - rspamd_email_address_unref (cur); - } - -+ msg_debug_milter ("cleanup %d recipients on abort", -+ (gint)session->rcpts->len); -+ - g_ptr_array_free (session->rcpts, TRUE); - session->rcpts = NULL; - } - - if (session->from) { -+ msg_debug_milter ("cleanup from"); - rspamd_email_address_unref (session->from); - session->from = NULL; - } - - if (session->helo) { -+ msg_debug_milter ("cleanup helo"); - session->helo->len = 0; - } - - if (session->hostname) { -+ msg_debug_milter ("cleanup hostname"); - session->hostname->len = 0; - } - - if (priv->headers) { -+ msg_debug_milter ("cleanup headers"); - g_hash_table_remove_all (priv->headers); - } - } - - if (how & RSPAMD_MILTER_RESET_ADDR) { - if (session->addr) { -+ msg_debug_milter ("cleanup addr"); - rspamd_inet_address_free (session->addr); - session->addr = NULL; - } -@@ -151,6 +164,7 @@ - - if (how & RSPAMD_MILTER_RESET_MACRO) { - if (session->macros) { -+ msg_debug_milter ("cleanup macros"); - g_hash_table_unref (session->macros); - session->macros = NULL; - } -@@ -1612,7 +1626,7 @@ - msg_err_milter ("cannot find scan results, tempfail"); - rspamd_milter_send_action (session, RSPAMD_MILTER_TEMPFAIL); - -- return; -+ goto cleanup; - } - - elt = ucl_object_lookup (results, "action"); -@@ -1621,7 +1635,7 @@ - msg_err_milter ("cannot find action in results, tempfail"); - rspamd_milter_send_action (session, RSPAMD_MILTER_TEMPFAIL); - -- return; -+ goto cleanup; - } - - rspamd_action_from_str (ucl_object_tostring (elt), &action); -@@ -1681,7 +1695,6 @@ - } - - rspamd_milter_set_reply (session, rcode, xcode, reply); -- rspamd_milter_send_action (session, RSPAMD_MILTER_REJECT); - } - break; - case METRIC_ACTION_SOFT_REJECT: -@@ -1696,7 +1709,6 @@ - } - - rspamd_milter_set_reply (session, rcode, xcode, reply); -- rspamd_milter_send_action (session, RSPAMD_MILTER_REJECT); - break; - - case METRIC_ACTION_REWRITE_SUBJECT: -@@ -1741,6 +1753,8 @@ - rspamd_fstring_free (rcode); - rspamd_fstring_free (xcode); - rspamd_fstring_free (reply); -+ -+ rspamd_milter_session_reset (session, RSPAMD_MILTER_RESET_ABORT); - } - - void |