summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /mail-filter/policyd
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'mail-filter/policyd')
-rw-r--r--mail-filter/policyd/Manifest1
-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.rc22
-rw-r--r--mail-filter/policyd/metadata.xml5
-rw-r--r--mail-filter/policyd/policyd-1.82-r1.ebuild75
8 files changed, 198 insertions, 0 deletions
diff --git a/mail-filter/policyd/Manifest b/mail-filter/policyd/Manifest
new file mode 100644
index 00000000000..bf13fe4b7c6
--- /dev/null
+++ b/mail-filter/policyd/Manifest
@@ -0,0 +1 @@
+DIST policyd-1.82.tar.gz 68372 RMD160 0258ee9abaa00cde9a139bdeafed36df1ec37537 SHA1 4a9bf4bcf63eb3792794d87682e67b15e4a04707 SHA256 63a90d26732ed24f8d8fa8623d74b73104a61a2c80b0e062437777cf13b80566
diff --git a/mail-filter/policyd/files/policyd-cleanup.cron b/mail-filter/policyd/files/policyd-cleanup.cron
new file mode 100644
index 00000000000..fef8d275bd6
--- /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 00000000000..94e3edb1c19
--- /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 00000000000..fc684aab7cb
--- /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 00000000000..1fc697d451f
--- /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 00000000000..ea36e4ec4ae
--- /dev/null
+++ b/mail-filter/policyd/files/policyd.rc
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 00000000000..196134491c7
--- /dev/null
+++ b/mail-filter/policyd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-mail</herd>
+</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 00000000000..6cf7b2ca5a6
--- /dev/null
+++ b/mail-filter/policyd/policyd-1.82-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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."
+}