summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch128
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