summaryrefslogtreecommitdiff
path: root/mail-filter/policyd
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/policyd
reinit the tree, so we can have metadata
Diffstat (limited to 'mail-filter/policyd')
-rw-r--r--mail-filter/policyd/Manifest11
-rw-r--r--mail-filter/policyd/files/policyd-cleanup.cron2
-rw-r--r--mail-filter/policyd/files/policyd-makefile.patch39
-rw-r--r--mail-filter/policyd/files/policyd-post182.patch52
-rw-r--r--mail-filter/policyd/files/policyd.confd2
-rw-r--r--mail-filter/policyd/files/policyd.rc21
-rw-r--r--mail-filter/policyd/metadata.xml11
-rw-r--r--mail-filter/policyd/policyd-1.82-r1.ebuild74
-rw-r--r--mail-filter/policyd/policyd-1.82-r2.ebuild75
9 files changed, 287 insertions, 0 deletions
diff --git a/mail-filter/policyd/Manifest b/mail-filter/policyd/Manifest
new file mode 100644
index 000000000000..ededeed9cbcd
--- /dev/null
+++ b/mail-filter/policyd/Manifest
@@ -0,0 +1,11 @@
+AUX policyd-cleanup.cron 59 SHA256 b7bd9b05d72872e9cc6d46f2233e060109471acb1a744983cfa8e5643597e5b7 SHA512 220fb388adf3d7f7021992b8866f23a5f308d429885028d2b52a49140b965748d3934e7a8ebd7a6d3443878948a461271638199a44d496a90fdfebcc811e7bac WHIRLPOOL cc3a22507766d00ea6f1668af722aafdb7bb3ed50e7b973d80bca90d8d47a8afc29764df9f275e9ad56191c7af36fa8ab75b32abe862689df59a64442f8a7482
+AUX policyd-makefile.patch 1439 SHA256 a3cee9caac402102bb581cbba4d2e7f456627cd0d212e2e787f70df95a05056c SHA512 b1b27490dc3bff75f353d51091c97864562b077980e042ab2c973dcf84a1071d0c3942aa06a9a4667e286c24377fcf3db6e43606639c3ebdefce7b489c64944b WHIRLPOOL 594a5c74a62332e509111c3d0c08a550b80a4584621f926df4bf325186cefcee375b8a27137e04b73c666de2c30eb2ad53ee3b80e63dcf881c275a02fb150451
+AUX policyd-post182.patch 1567 SHA256 54f8d8cfe38309c1ba5a7230e534d259bfe7a6a9aaa8e2191219cde35a1c9658 SHA512 155e919d8411cbeb0265b11324b234bb687d9d4125b38cdc174ad4128234d745b7ec38487b518f8a2a923868f3dfd2071f53f768aea407de814c6f53354d2718 WHIRLPOOL fd5332e249548a592cf68f37cc5fbb2e3608b50229dec60b6733cd26e96c30846e4e382a01efdc982169a079f3e64bf825fb2d55c0abca9c7b0d3425d19925ea
+AUX policyd.confd 61 SHA256 1b5e38189d93e2348d0633bd1f3399020008ef9dfb94cf11b13ab05ecbc3382c SHA512 6fbac91a71bd556e864b70534a57fcc60bf4a838ff780ee878b257313e12205ae95402c591cc62604dad8d1ee349ecea74c1646429c39587dc0ba13a697ca68f WHIRLPOOL 2d311b9f8275f5d8d50037fea76686dde7827560d115fa6fa287872cca0192456a6ec66cf9ca9792abadcd61a7d30b4945be5bf22b2931136ccf3ce920c787a8
+AUX policyd.rc 443 SHA256 f2d1de6aa690b74d1e34bf9eaea83e660bba2f31419e5d91d425751c81d07fbb SHA512 32f2dec8b9067bcf219ee4edec2b36d010cadc34a018e6597339b238b21db7782975d12098d1232854b70e19bbdbe355bc8c4f23a5675ecc6171eeca81bfa69c WHIRLPOOL 84f418ea476da9f503f59b932eb41772b7003af69b40691b0b2992a627ff224df483fd5d91c74ebeaa24f10b4f4ee054689e12474e34a6b409208aa4ceab8d8c
+DIST policyd-1.82.tar.gz 68372 SHA256 63a90d26732ed24f8d8fa8623d74b73104a61a2c80b0e062437777cf13b80566 SHA512 08de114736620d5f1c11f7183135ecf4589c2d6258dee486b5f4f5a9156e4feabd7eaf19fa09428e79d5d5c72ac4757c83af86f43a7547030b1a59cb368e82a8 WHIRLPOOL 538c0cc7a6b5fa75b9f188d2fd6ee4864da44cd8eaee2e9250d397435b1335ce67631bebe7c99e5d833aea4df5843d775c90fdf9bf99ad7786a63b5df3d44f7d
+EBUILD policyd-1.82-r1.ebuild 1966 SHA256 ff15a47b53751eb9fc9f98964b538df62ad01ef0f2c5a9b40082f8df21e89a60 SHA512 aac7afcabf9f10ec7d438528b8f42ccef289c881ac6b05ed1691dda83c6bf92e823d5024cfcd9a04a92a8a3b051d05a7aa785bef1f01da6ac2191d980aadded5 WHIRLPOOL 3e7c57f4d7647b12bb1c471d59a4cc5acf748ce101e596cc6f9e40956e156090a02c1416ad52ff53e09241587708dd8c122ff8c6fa0cbd310ebef22ba3d8903a
+EBUILD policyd-1.82-r2.ebuild 2012 SHA256 f5f9b4f5c86eacde66b841b2f05e14fd55f4e5943293e6dde35a759487e1623b SHA512 12c74c85941fca22caadf4d8e1dc8b64b7562a784f2611507039cd4c5582addd3e8e8fc6f6a0f41cb70915510ab9b64f9df6a59bf89f23bdf3486e6e5c329a59 WHIRLPOOL aa8caec2cfaf169530746c363ad86d591137dd63940099907c4ed3503ab7604ca5d4e066cef544368289e2774cba951e7995dccb8ef31f8b2af6d2921a4ff08c
+MISC ChangeLog 3534 SHA256 e5ed32462b3c561c0aa0dc7433338a54ae423a432e315892bc5b209faff80bec SHA512 ac0e19ace3a232079babfae83e77c84c77a930cb53f85552bc92e2aad0735c0e04fa0c9ab29db04fb466fff9d30233cafab653460d40aedb970b9cc75eec73cc WHIRLPOOL 4932180a5dbccf94f2b0ed0ccd4d1e7000ad617fafce4ab0b9d5a32c94b1ba9ddfce15ec3790e7c13e17a7cc0879cc1fc2725f7e1e2a7d837efd7234d801ed12
+MISC ChangeLog-2015 1830 SHA256 2c33cb4a76a0ccccbb34b8412d74a690716aba3ff3f6ee2d69bf09b69b3d09d3 SHA512 9a8987c7f46e6082bfa61d33e1b57fee9376b82b6ff1a8468420fc5c698e22afbbe8d37da416949c5f640f0a722ae7b19d3ef37fb3f062e81a2d7a55d60c081b WHIRLPOOL 81aefd88d97ee1dccc3a40538547b5ee2df865ae0b0dd7d63e0e3ea1b94cc8b929e10385c31341a77c0f96d67659b3dadeb8c7acb4673b2aa860ab9eec4af46f
+MISC metadata.xml 331 SHA256 a2fbae57711ff1ec3fcf1e4b12e19a3d8bd84724c2c7a8c28164543368eefb99 SHA512 5241c40be23d5183ef4d5d07901ce582e98a404da73cb5bbac6f51767d028b870315ef3dea6db0341fca1697b9f4d2b2b4a7ad99cd8e1ca9d601b3743ad677e8 WHIRLPOOL 08c87cf4441a344fa6f643bfd285397ff0c0bb42d7e878c6a66ab7762360060da09aa4063f6b317f25285ca5d8a9cd102871d404a1a62bf9379e6c1cda3746b0
diff --git a/mail-filter/policyd/files/policyd-cleanup.cron b/mail-filter/policyd/files/policyd-cleanup.cron
new file mode 100644
index 000000000000..fef8d275bd63
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-cleanup.cron
@@ -0,0 +1,2 @@
+#!/bin/bash
+/usr/sbin/policyd_cleanup -c /etc/policyd.conf
diff --git a/mail-filter/policyd/files/policyd-makefile.patch b/mail-filter/policyd/files/policyd-makefile.patch
new file mode 100644
index 000000000000..94e3edb1c193
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-makefile.patch
@@ -0,0 +1,39 @@
+diff --git a/Makefile b/Makefile
+index ded74ce..6f2afd1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,8 +16,8 @@ lib += -L/usr/local/mysql
+
+
+ CC := gcc
+-CPPFLAGS := -O $(inc)
+-CFLAGS := -g -W -Wall -DMAXFDS=4096
++CPPFLAGS := $(inc) ${CPPFLAGS}
++CFLAGS := -g -W -Wall -DMAXFDS=`ulimit -n` ${CFLAGS}
+ OS_NAME := $(shell uname | tr [A-Z] [a-z])
+ LDLIBS = $(lib) -lmysqlclient -lz
+
+@@ -50,20 +50,20 @@ policyd: syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o ci
+ whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o
+ @echo ""
+ @echo "[*] Linking policyd*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o cidr.o spamtrap.o blacklist.o blacklist_helo.o \
+ whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o \
+ $(LDLIBS) -o policyd
+
+ cleanup: syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o
+ @echo "[*] Linking cleanup*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o \
+ $(LDLIBS) -o cleanup
+
+ stats: cidr.o syslog.o stats.o generic.o sockets.o mysql.o
+ @echo "[*] Linking stats*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ cidr.o syslog.o stats.o generic.o sockets.o mysql.o \
+ $(LDLIBS) -o stats
+ @echo ""
diff --git a/mail-filter/policyd/files/policyd-post182.patch b/mail-filter/policyd/files/policyd-post182.patch
new file mode 100644
index 000000000000..fc684aab7cb3
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-post182.patch
@@ -0,0 +1,52 @@
+First patch from debian. The other two mostly cosmetic patches from bug #288438.
+--- a/syslog.c
++++ b/syslog.c
+@@ -214,14 +214,15 @@ char
+ if (strlen (str) == 0)
+ return (str);
+
++ p = str + strlen(str);
++
+ for (i = 0; isspace (str[i]); i++)
+ ;
+
+- strcpy (str, str + i);
++ str += i;
+
+- p = str + strlen (str);
+- while ((p--) != str && isspace (*p))
+- *p = 0;
++ while ((p--) != str && isspace (*p))
++ *p = 0;
+
+ return (str);
+ }
+diff -ur policyd-1.82-orig/throttle.c policyd-1.82/throttle.c
+--- a/throttle.c 2007-08-20 08:42:05.000000000 +0200
++++ b/throttle.c 2009-10-10 03:49:25.000000000 +0200
+@@ -145,11 +145,11 @@
+
+ if(tcount[fd] >= tquota[fd] && tcount[fd] >= trcpt[fd]) {
+ tresult = tcount[fd];
+- if (DEBUG >= 4) logmessage("tquota[fd] won\n"); }
++ if (DEBUG >= 4) logmessage("tcount[fd] won\n"); }
+
+ if(trcpt[fd] >= tcount[fd] && trcpt[fd] >= tquota[fd]) {
+ tresult = trcpt[fd];
+- if (DEBUG >= 4) logmessage("tquota[fd] won\n"); }
++ if (DEBUG >= 4) logmessage("trcpt[fd] won\n"); }
+
+ if(DEBUG >= 4)
+ logmessage("DEBUG: fd: %d: tresult: %d\n", fd, tresult);
+diff -ur policyd-1.82-orig/throttle_sasl.c policyd-1.82/throttle_sasl.c
+--- a/throttle_sasl.c 2007-08-20 08:42:05.000000000 +0200
++++ b/throttle_sasl.c 2009-10-10 03:50:27.000000000 +0200
+@@ -188,7 +188,7 @@
+ "UPDATE throttle SET"
+ " _abuse_cur=1"
+ " WHERE _from='%s'",
+- triplet_array[fd][1]);
++ triplet_array[fd][4]);
+ if(db_doquery(fd) == -1) return(db_failure(fd, "throttle"));
+
+ return (-5);
diff --git a/mail-filter/policyd/files/policyd.confd b/mail-filter/policyd/files/policyd.confd
new file mode 100644
index 000000000000..1fc697d451f2
--- /dev/null
+++ b/mail-filter/policyd/files/policyd.confd
@@ -0,0 +1,2 @@
+# Config file for policyd
+POLICYD_CONFIG="/etc/policyd.conf"
diff --git a/mail-filter/policyd/files/policyd.rc b/mail-filter/policyd/files/policyd.rc
new file mode 100644
index 000000000000..54fda4611ef9
--- /dev/null
+++ b/mail-filter/policyd/files/policyd.rc
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ before mta
+ provide postfix_greylist
+}
+
+start() {
+ ebegin "Starting policyd"
+ start-stop-daemon --name policyd --start --quiet --exec /usr/sbin/policyd \
+ -- -c ${POLICYD_CONFIG}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping policyd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/policyd.pid
+ eend $?
+}
diff --git a/mail-filter/policyd/metadata.xml b/mail-filter/policyd/metadata.xml
new file mode 100644
index 000000000000..de98e9cc06d1
--- /dev/null
+++ b/mail-filter/policyd/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">policyd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/policyd/policyd-1.82-r1.ebuild b/mail-filter/policyd/policyd-1.82-r1.ebuild
new file mode 100644
index 000000000000..2288a3739b61
--- /dev/null
+++ b/mail-filter/policyd/policyd-1.82-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Policy daemon for postfix and other MTAs"
+HOMEPAGE="http://policyd.sf.net/"
+
+# This is not available through SF mirrors
+SRC_URI="http://policyd.sourceforge.net/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+IUSE=""
+DEPEND="virtual/mysql
+ dev-libs/openssl"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-post182.patch"
+ epatch "${FILESDIR}/${PN}-makefile.patch"
+ sed -i -e "s/gcc/$(tc-getCC)/" Makefile
+
+ ebegin "Applying config patches"
+ sed -i -e s:UID=0:UID=65534:g \
+ -e s:GID=0:GID=65534:g \
+ -e s:DAEMON=0:DAEMON=1:g \
+ -e s:DEBUG=3:DEBUG=0:g \
+ -e s:DATABASE_KEEPALIVE=0:DATABASE_KEEPALIVE=1:g \
+ policyd.conf || die "sed failed"
+ eend
+}
+
+src_compile() {
+ emake build || die "emake build failed"
+}
+
+src_install() {
+ insopts -o root -g nobody -m 0750
+ mv cleanup policyd_cleanup
+ mv stats policyd_stats
+
+ dosbin policyd policyd_cleanup policyd_stats
+
+ insopts -o root -g nobody -m 0640
+ insinto /etc
+ doins policyd.conf
+
+ insopts -o root -g nobody -m 0700
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}/${PN}-cleanup.cron" ${PN}-cleanup.cron
+
+ dodoc ChangeLog DATABASE.mysql README doc/support.txt
+
+ newinitd "${FILESDIR}/${PN}.rc" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
+
+pkg_postinst() {
+ elog "You will need to create the database using the script DATABASE.mysql"
+ elog "in /usr/share/doc/${PF}/"
+ elog "Read the mysql section of the README.txt for details."
+ elog
+ elog "To use policyd with postfix, update your /etc/postfix/main.cf file by adding"
+ elog " check_policy_service inet:127.0.0.1:10031"
+ elog "to your smtpd_recipient_restrictions line, or similar."
+ elog
+ elog "Also remember to start the daemon at boot:"
+ elog " rc-update add policyd default"
+ elog
+ elog "Read the documentation for more info."
+}
diff --git a/mail-filter/policyd/policyd-1.82-r2.ebuild b/mail-filter/policyd/policyd-1.82-r2.ebuild
new file mode 100644
index 000000000000..b472846f713d
--- /dev/null
+++ b/mail-filter/policyd/policyd-1.82-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Policy daemon for postfix and other MTAs"
+HOMEPAGE="http://policyd.sf.net/"
+
+# This is not available through SF mirrors
+SRC_URI="http://policyd.sourceforge.net/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="libressl"
+DEPEND="virtual/mysql
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-post182.patch"
+ epatch "${FILESDIR}/${PN}-makefile.patch"
+ sed -i -e "s/gcc/$(tc-getCC)/" Makefile
+
+ ebegin "Applying config patches"
+ sed -i -e s:UID=0:UID=65534:g \
+ -e s:GID=0:GID=65534:g \
+ -e s:DAEMON=0:DAEMON=1:g \
+ -e s:DEBUG=3:DEBUG=0:g \
+ -e s:DATABASE_KEEPALIVE=0:DATABASE_KEEPALIVE=1:g \
+ policyd.conf || die "sed failed"
+ eend
+}
+
+src_compile() {
+ emake build || die "emake build failed"
+}
+
+src_install() {
+ insopts -o root -g nobody -m 0750
+ mv cleanup policyd_cleanup
+ mv stats policyd_stats
+
+ dosbin policyd policyd_cleanup policyd_stats
+
+ insopts -o root -g nobody -m 0640
+ insinto /etc
+ doins policyd.conf
+
+ insopts -o root -g nobody -m 0700
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}/${PN}-cleanup.cron" ${PN}-cleanup.cron
+
+ dodoc ChangeLog DATABASE.mysql README doc/support.txt
+
+ newinitd "${FILESDIR}/${PN}.rc" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
+
+pkg_postinst() {
+ elog "You will need to create the database using the script DATABASE.mysql"
+ elog "in /usr/share/doc/${PF}/"
+ elog "Read the mysql section of the README.txt for details."
+ elog
+ elog "To use policyd with postfix, update your /etc/postfix/main.cf file by adding"
+ elog " check_policy_service inet:127.0.0.1:10031"
+ elog "to your smtpd_recipient_restrictions line, or similar."
+ elog
+ elog "Also remember to start the daemon at boot:"
+ elog " rc-update add policyd default"
+ elog
+ elog "Read the documentation for more info."
+}