summaryrefslogtreecommitdiff
path: root/mail-filter/spamass-milter
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /mail-filter/spamass-milter
reinit the tree, so we can have metadata
Diffstat (limited to 'mail-filter/spamass-milter')
-rw-r--r--mail-filter/spamass-milter/Manifest9
-rw-r--r--mail-filter/spamass-milter/files/README.gentoo52
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter-auth_users.patch92
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter.conf329
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter.rc454
-rw-r--r--mail-filter/spamass-milter/metadata.xml8
-rw-r--r--mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild41
7 files changed, 285 insertions, 0 deletions
diff --git a/mail-filter/spamass-milter/Manifest b/mail-filter/spamass-milter/Manifest
new file mode 100644
index 000000000000..2fc43ac94bb8
--- /dev/null
+++ b/mail-filter/spamass-milter/Manifest
@@ -0,0 +1,9 @@
+AUX README.gentoo 1680 SHA256 3ae980f0f8f6c82e2ae8a0677751275e0467e9c1f33b1a835a964a2ee3e80bbf SHA512 03e2c067fff97c0aabdca1c47011df72ca0671969980df95d34fb7a519fe16755359bbb72ce33d64430dbdb986a6d2e719451b38288df717ac8378a89cb16b2b WHIRLPOOL e8fede7062bf5d9d54ebcc690155d58ee15354ca5f002295994f0b2796f3dd0f3fb9dba909a802abf0fae37b3ac8dfbf925856f73185f1bac408930b667edc9a
+AUX spamass-milter-auth_users.patch 3570 SHA256 7838552434d4da78bf33d3ce1f21243adcf1df5b1bd39f9550d2453c832049b9 SHA512 d941af831410142de5d445aa188f3736f29ddad1e722c71c66578c7f01e55617729aefc1d50f09ecadf6a71a1f16f7530456da8b0f1c484bb50ada12702bb130 WHIRLPOOL 7a62317194cec9277d4d8ddefd874e6357a46d00189aa96431ae22496dd0b4518617a41276aa6ddd7c0f82d2180b1959154007ec0ce0bda6dff4ebdecd3960f6
+AUX spamass-milter.conf3 763 SHA256 4d180cd78bb51af81c4eb5cde409c6bcfd51510c41b64c83dd7dfc9b8817f862 SHA512 35b44ad73f29135259fc6546e3823374a59a607eff7e45b835ac2ab6491000e2d2b44105d4f8fa164512b887de242fe59b0351c53deab41bf2de9f6a5e3aaca9 WHIRLPOOL 022b5bdbea44ba09cc73fb12337a7d4ca1d93d7ca3c699f28aca12cf58d9eeec4993774086ad9915cb201294fcb827174fca1de0c49648a0cbe9896a1181796f
+AUX spamass-milter.rc4 1323 SHA256 682bd765da091d33445a226f49dce6a5de9e4d0e8d8ffb1ccf76b34eaaa74b51 SHA512 dae8b53478302a4001e86222406716f1f77f61252ecfb693b94722e2c7f623bef9b4204261168228a16f0bf24e994e02ebfb97925ed133c92930720d0b63d140 WHIRLPOOL e02cbecb1203985c25a360b7f064e0e635e636773a4cd42d8310778222ad014ba4f680cc6c88dd366811d934ab966df01c256084b534940e460144b9f7157d60
+DIST spamass-milter-0.3.2.tar.bz2 125350 SHA256 ba2eb8c9e4c50307ffae38bb06444b9830695e742e9fd8c9da40953e7e1d830b SHA512 19279c53c8af738fbdd796e3aa382754474fc8c2ed17a3f857906d61740aefbd30f4759952fc1aaeff31af492fa8782363cbaac8ea1f389b4e2c1237226086d8 WHIRLPOOL e7e9df528b12a1b9b29f1ace8c2d0e7398806aac0ca148ee74f68fa0c2a86240578e36e8d20a21279159ccbef3f651ec27eb2286351f0396014ad4fce5fb6c87
+EBUILD spamass-milter-0.3.2.ebuild 950 SHA256 03c03db81eb47d15e28ff2129ef9c859b87c43cc40850a4532a505b3b84e592b SHA512 ea62739644628c23d6ff6e02c0a9cde881a0e7de42028f9c8ccfbf0d8f24a83041c076ffc4ab5ae068b12d8c68ee31a6027ef44580742b3c4be66183906b181e WHIRLPOOL 845eeae79edb5a898435b3de7170d8468ea91c9d06f6f7d4e3a0b3f3fda85758375e136be13a36db894e18f4c2b55ea7214cf8c88e209875ee74f7ed95f68194
+MISC ChangeLog 2821 SHA256 6ca4c2abe7b3da7dc2231684041dcab7dbeebfb1c93bb83af81a0bce3d375833 SHA512 d4faef8fb99a05c9db6d9ea6bd4fbe87a052452638ba29dbae16b6b1444788f1a404861389dfe688a8cce9039f3570e76ca2f310f54dca4d09dab2eb6f3e706a WHIRLPOOL 58acbd1406c85581adbdd57c7a1d8c15bfbf551c8e312160bf31bc9774d8c25521be8731441355b45113e454b450cda943495cd8bbe05f15638b66a70025cb53
+MISC ChangeLog-2015 6150 SHA256 997e480da62074e66f37eb8465610bb87f5df99080bf49e2b38837adbeb7bfd1 SHA512 2576bcc883b73ffd44243356aa57421368c0636123c43bdcdd8d0a6d75135ceb27ed65c5cc42eb518629745fb89b9652c340a2b2b772b56d094128a32a005ae8 WHIRLPOOL 84bcd0383c87eff683eb2f8665e10a5a97a86f5a2ffa22584c0a21888377271917f7053ae8aad3e1f990f29d8e9f4e51925c0d45ad711c14a80c2e986341805c
+MISC metadata.xml 244 SHA256 856e819659934229aa18649e0c783b9714fa33065cb5113e7b667ed68392b39a SHA512 0e856f808459b6d83c6eaeee418d87d85385968a39e6c1871a0eb76c04b533bbba16996a6f18613b7c550da90c76843bd01237be9b9f290394048e904535653c WHIRLPOOL 2aa292ef66863766df8920a2ebd497218854f9a41724cdef1d63a93c94620fbea641a688af2bb374673773dd5b1b8afff80867c974f49d5600991ab44f9b8752
diff --git a/mail-filter/spamass-milter/files/README.gentoo b/mail-filter/spamass-milter/files/README.gentoo
new file mode 100644
index 000000000000..49035c0ac5a5
--- /dev/null
+++ b/mail-filter/spamass-milter/files/README.gentoo
@@ -0,0 +1,52 @@
+Simple install instructions by raker @ g.o
+updates by gustavoz
+updates by SteveB
+---------------------------------------------------------------
+
+For Sendmail:
+-------------
+Add these lines in /etc/mail/sendmail.mc before MAILER(local):
+INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
+define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')dnl
+define(`confMILTER_MACROS_ENVRCPT',`r, v, Z')
+
+When that's done run this command:
+ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
+
+Restart associated services:
+ /etc/init.d/sendmail stop
+ /etc/init.d/spamass-milter start
+ /etc/init.d/sendmail start
+
+OPTIONAL: To run it automatically after booting:
+ rc-update add spamass-milter default
+ rc-update add sendmail default
+
+
+For Postfix >= 2.3.0 and < 2.4.0:
+---------------------------------
+Add those lines to /etc/postfix/main.cf:
+smtpd_milters = unix:/var/run/milter/spamass-milter.sock
+milter_end_of_data_macros = b i j _ {daemon_name} {if_name} {if_addr} {mail_addr}
+milter_default_action = accept
+
+Change in /etc/conf.d/spamass-milter the socket group owner to mail:
+SOCKET_GROUP="mail"
+
+Change in /etc/conf.d/spamass-milter the options for spamass-milter to include "-m":
+OPTIONS="${OPTIONS} -m"
+
+Restart associated services:
+ /etc/init.d/postfix stop
+ /etc/init.d/spamass-milter start
+ /etc/init.d/postfix start
+
+OPTIONAL: To run it automatically after booting:
+ rc-update add spamass-milter default
+ rc-update add postfix default
+
+
+For Postfix >= 2.4.0:
+---------------------
+Same settings as for Postfix >= 2.3.0 (see above) but you can now use the option "-m"
+in /etc/conf.d/spamass-milter.
diff --git a/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch b/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch
new file mode 100644
index 000000000000..8bfc24e4306f
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch
@@ -0,0 +1,92 @@
+Based on the debian patch:
+http://patch-tracker.debian.org/patch/series/view/spamass-milter/0.3.1-10/10_dont_handle_authenticated_users.diff
+
+--- spamass-milter.cpp 2011-06-08 11:56:33.000000000 +0000
++++ spamass-milter.cpp 2011-06-08 12:04:41.000000000 +0000
+@@ -170,6 +170,7 @@
+ bool flag_full_email = false; /* pass full email address to spamc */
+ bool flag_expand = false; /* alias/virtusertable expansion */
+ bool warnedmacro = false; /* have we logged that we couldn't fetch a macro? */
++bool ignore_authenticated_senders = false;
+
+ #if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
+ static pthread_mutex_t popen_mutex = PTHREAD_MUTEX_INITIALIZER;
+@@ -181,7 +182,7 @@
+ main(int argc, char* argv[])
+ {
+ int c, err = 0;
+- const char *args = "fd:mMp:P:r:u:D:i:b:B:e:x";
++ const char *args = "fd:mMp:P:r:u:D:i:Ib:B:e:x";
+ char *sock = NULL;
+ bool dofork = false;
+ char *pidfilename = NULL;
+@@ -213,6 +214,10 @@
+ debug(D_MISC, "Parsing ignore list");
+ parse_networklist(optarg, &ignorenets);
+ break;
++ case 'I':
++ debug(D_MISC, "Ignore authenticated senders");
++ ignore_authenticated_senders = true;
++ break;
+ case 'm':
+ dontmodifyspam = true;
+ smfilter.xxfi_flags &= ~SMFIF_CHGBODY;
+@@ -280,7 +285,7 @@
+ cout << PACKAGE_NAME << " - Version " << PACKAGE_VERSION << endl;
+ cout << "SpamAssassin Sendmail Milter Plugin" << endl;
+ cout << "Usage: spamass-milter -p socket [-b|-B bucket] [-d xx[,yy...]] [-D host]" << endl;
+- cout << " [-e defaultdomain] [-f] [-i networks] [-m] [-M]" << endl;
++ cout << " [-e defaultdomain] [-f] [-i networks] [-I] [-m] [-M]" << endl;
+ cout << " [-P pidfile] [-r nn] [-u defaultuser] [-x]" << endl;
+ cout << " [-- spamc args ]" << endl;
+ cout << " -p socket: path to create socket" << endl;
+@@ -294,6 +299,7 @@
+ cout << " -f: fork into background" << endl;
+ cout << " -i: skip (ignore) checks from these IPs or netblocks" << endl;
+ cout << " example: -i 192.168.12.5,10.0.0.0/8,172.16.0.0/255.255.0.0" << endl;
++ cout << " -I: skip (ignore) checks if sender is authenticated" << endl;
+ cout << " -m: don't modify body, Content-type: or Subject:" << endl;
+ cout << " -M: don't modify the message at all" << endl;
+ cout << " -P pidfile: Put processid in pidfile" << endl;
+@@ -783,6 +789,22 @@
+ }
+ /* debug(D_ALWAYS, "ZZZ got private context %p", sctx); */
+
++ if (ignore_authenticated_senders)
++ {
++ char *auth_authen;
++
++ auth_authen = smfi_getsymval(ctx, "{auth_authen}");
++ debug(D_MISC, "auth_authen=%s", auth_authen ?: "<unauthenticated>");
++
++ if (auth_authen)
++ {
++ debug(D_MISC, "sender authenticated (%s) - accepting message",
++ auth_authen);
++ debug(D_FUNC, "mlfi_envfrom: exit ignore");
++ return SMFIS_ACCEPT;
++ }
++ }
++
+ debug(D_FUNC, "mlfi_envfrom: enter");
+ try {
+ // launch new SpamAssassin
+--- spamass-milter.1.in 2011-06-08 12:05:35.000000000 +0000
++++ spamass-milter.1.in 2011-06-08 12:06:57.000000000 +0000
+@@ -14,6 +14,7 @@
+ .Op Fl e Ar defaultdomain
+ .Op Fl f
+ .Op Fl i Ar networks
++.Op Fl I
+ .Op Fl m
+ .Op Fl M
+ .Op Fl P Ar pidfile
+@@ -119,6 +120,8 @@
+ flags will append to the list.
+ For example, if you list all your internal networks, no outgoing emails
+ will be filtered.
++.It Fl I
++Ignores messages if the sender has authenticated via SMTP AUTH.
+ .It Fl m
+ Disables modification of the
+ .Ql Subject:
diff --git a/mail-filter/spamass-milter/files/spamass-milter.conf3 b/mail-filter/spamass-milter/files/spamass-milter.conf3
new file mode 100644
index 000000000000..6cdbc1e4dd73
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter.conf3
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+DAEMON=/usr/sbin/spamass-milter
+SOCKET=/var/run/milter/spamass-milter.sock
+PIDFILE=/var/run/milter/spamass-milter.pid
+
+# User owning the socket
+SOCKET_USER="milter"
+
+# Group owning the socket
+# Note: Change this to mail if you run Postfix
+SOCKET_GROUP="milter"
+
+# Permission for the socket
+SOCKET_MODE="664"
+
+# spamass-milter options
+OPTIONS=""
+
+# Example: Reject mails above score 20
+#OPTIONS="${OPTIONS} -r 20"
+
+# Example: Do not modify mail body
+# NOTE: This needs to be enabled if you use Postfix >= 2.3.0 and < 2.4.0
+#OPTIONS="${OPTIONS} -m"
+
+# Example: Pass the remaining flags to spamc
+#OPTIONS="${OPTIONS} -- --headers --username spamc"
diff --git a/mail-filter/spamass-milter/files/spamass-milter.rc4 b/mail-filter/spamass-milter/files/spamass-milter.rc4
new file mode 100644
index 000000000000..9688501bcd93
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter.rc4
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net spamd
+ use logger
+ before mta
+}
+
+piddir=${PIDFILE%/*}
+socketdir=${SOCKET%/*}
+
+checkconfig() {
+ if [ ! -d ${piddir:=/var/run/milter} ]; then
+ checkpath -q -d -o milter:milter -m 0755 ${piddir} || return 1
+ fi
+ if [ ! -d ${socketdir:=/var/run/milter} ]; then
+ checkpath -q -d -o ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \
+ -m 0755 ${socketdir} || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting spamass-milter"
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} -u ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \
+ --exec ${DAEMON} -- -P ${PIDFILE} -p ${SOCKET} -f ${OPTIONS}
+ eend $? "Failed to start ${DAEMON}"
+ spamass_timeout=0
+ while [ $spamass_timeout -le 20 ]
+ do
+ if [ ! -S "${SOCKET}" -o ! -r "${SOCKET}" ]
+ then
+ sleep 1
+ spamass_timeout=$(( $spamass_timeout+1 ))
+ else
+ break
+ fi
+ done
+ echo $spamass_timeout
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${SOCKET} 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${SOCKET} 1>/dev/null 2>&1
+}
+
+stop() {
+ ebegin "Stopping spamass-milter"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE} &&
+ {
+ sleep 5
+ rm -f ${SOCKET}
+ }
+ eend $? "Failed to stop ${DAEMON}"
+}
diff --git a/mail-filter/spamass-milter/metadata.xml b/mail-filter/spamass-milter/metadata.xml
new file mode 100644
index 000000000000..1c3bc7b3fcef
--- /dev/null
+++ b/mail-filter/spamass-milter/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild b/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild
new file mode 100644
index 000000000000..0cc66a15a34c
--- /dev/null
+++ b/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+IUSE=""
+
+DESCRIPTION="A milter for SpamAssassin"
+HOMEPAGE="https://savannah.nongnu.org/projects/spamass-milt/"
+SRC_URI="https://savannah.nongnu.org/download/spamass-milt/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ >=mail-filter/spamassassin-3.1.0"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ enewgroup milter
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-auth_users.patch
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}"/spamass-milter.rc4 spamass-milter
+ newconfd "${FILESDIR}"/spamass-milter.conf3 spamass-milter
+ dodir /var/lib/milter
+ keepdir /var/lib/milter
+ fowners milter:milter /var/lib/milter
+
+ dodoc AUTHORS NEWS README ChangeLog "${FILESDIR}/README.gentoo"
+}