diff options
author | Dirkjan Ochtman <djc@gentoo.org> | 2018-03-11 14:56:25 +0100 |
---|---|---|
committer | Dirkjan Ochtman <djc@gentoo.org> | 2018-03-11 15:06:53 +0100 |
commit | 49f2c10c2df125c6e3afa9edaf80a3d1223e943e (patch) | |
tree | 19c88964616fc38239d0487aba4a908e3f5b3e6e /mail-filter | |
parent | sys-fs/btrfs-progs: Added package to base-system project. (diff) | |
download | gentoo-49f2c10c2df125c6e3afa9edaf80a3d1223e943e.tar.gz gentoo-49f2c10c2df125c6e3afa9edaf80a3d1223e943e.tar.bz2 gentoo-49f2c10c2df125c6e3afa9edaf80a3d1223e943e.zip |
mail-filter/rspamd: version bump to 1.6.6 (fixes bug 647978)
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'mail-filter')
-rw-r--r-- | mail-filter/rspamd/Manifest | 1 | ||||
-rw-r--r-- | mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch | 128 | ||||
-rw-r--r-- | mail-filter/rspamd/rspamd-1.6.6.ebuild | 76 |
3 files changed, 205 insertions, 0 deletions
diff --git a/mail-filter/rspamd/Manifest b/mail-filter/rspamd/Manifest index 5eda82e2b6fc..94bea3662bb5 100644 --- a/mail-filter/rspamd/Manifest +++ b/mail-filter/rspamd/Manifest @@ -1 +1,2 @@ DIST rspamd-1.6.5.tar.gz 2484271 BLAKE2B 880e862eecd4a082b87bee2ba8c7b17a475efbfe90dbb0cbf34c5ad6c42c80d6ea142f11c7632763d7f9e4155a4521274f2d5a26a77dfbdab9f585bb1e3fff5f SHA512 789abc994cf96a0d88662e14f0e77f95f5c7c7bd1f808ffd64af21cf73cef643b5aee4c1f066d81d04e79d6bb7f72f12095ff08d8515a40bcca23153715fc9f1 +DIST rspamd-1.6.6.tar.gz 2487482 BLAKE2B f18640f64a8c0bcf6077267a1715f0bb096ab18484c24de56a012c42666cdc9f8671237c5336dce7cd47f44f9aba7905ce3723232d53a5b8ddfe143df682bd9b SHA512 14c7144017df69600dbd09541d16dae19d87105b09f95811fc09624b60e89ca68200654e88dea242508afd3c4963ea7cac086abddec8ca1a3d8fc73d7c27e899 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 new file mode 100644 index 000000000000..4238c838dfa9 --- /dev/null +++ b/mail-filter/rspamd/files/1.6.6-dont-send-reject-message-after-set-reply.patch @@ -0,0 +1,128 @@ +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 diff --git a/mail-filter/rspamd/rspamd-1.6.6.ebuild b/mail-filter/rspamd/rspamd-1.6.6.ebuild new file mode 100644 index 000000000000..8ded37e068e3 --- /dev/null +++ b/mail-filter/rspamd/rspamd-1.6.6.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils pax-utils user systemd + +DESCRIPTION="Rapid spam filtering system" +SRC_URI="https://github.com/vstakhov/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE="https://github.com/vstakhov/rspamd" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cpu_flags_x86_ssse3 fann gd jemalloc +jit libressl pcre2" + +RDEPEND="!libressl? ( dev-libs/openssl:0=[-bindist] ) + libressl? ( dev-libs/libressl:0= ) + fann? ( sci-mathematics/fann ) + pcre2? ( dev-libs/libpcre2[jit=] ) + !pcre2? ( dev-libs/libpcre[jit=] ) + jit? ( dev-lang/luajit:2 ) + jemalloc? ( dev-libs/jemalloc ) + dev-libs/libevent + dev-db/sqlite:3 + dev-libs/glib:2 + <dev-util/ragel-7.0 + sys-apps/file + gd? ( media-libs/gd[jpeg] ) + dev-libs/icu + cpu_flags_x86_ssse3? ( dev-libs/hyperscan )" +DEPEND="dev-util/ragel + ${RDEPEND}" + +QA_MULTILIB_PATHS="usr/lib/rspamd/.*" +PATCHES=( "${FILESDIR}/${PV}-dont-send-reject-message-after-set-reply.patch" ) + +pkg_setup() { + enewgroup rspamd + enewuser rspamd -1 -1 /var/lib/rspamd rspamd +} + +src_configure() { + local mycmakeargs=( + -DCONFDIR=/etc/rspamd + -DRUNDIR=/var/run/rspamd + -DDBDIR=/var/lib/rspamd + -DLOGDIR=/var/log/rspamd + -DENABLE_LUAJIT=$(usex jit ON OFF) + -DENABLE_FANN=$(usex fann ON OFF) + -DENABLE_PCRE2=$(usex pcre2 ON OFF) + -DENABLE_JEMALLOC=$(usex jemalloc ON OFF) + -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF) + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + newinitd "${FILESDIR}/rspamd.init-r5" rspamd + + # Remove mprotect for JIT support + if use jit; then + pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* || die + fi + + dodir /var/lib/rspamd + dodir /var/log/rspamd + + fowners rspamd:rspamd /var/lib/rspamd /var/log/rspamd + + insinto /etc/logrotate.d + newins "${FILESDIR}/rspamd.logrotate" rspamd + + systemd_newunit rspamd.service rspamd.service +} |