summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-filter/milter-regex')
-rw-r--r--mail-filter/milter-regex/Manifest1
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.7-gentoo.patch52
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.7-rules.patch11
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.7-yacc.patch12
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.8-gentoo.patch129
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.8-rules.patch12
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch38
-rw-r--r--mail-filter/milter-regex/files/milter-regex-conf8
-rw-r--r--mail-filter/milter-regex/files/milter-regex-init42
-rw-r--r--mail-filter/milter-regex/metadata.xml7
-rw-r--r--mail-filter/milter-regex/milter-regex-1.9.ebuild61
11 files changed, 373 insertions, 0 deletions
diff --git a/mail-filter/milter-regex/Manifest b/mail-filter/milter-regex/Manifest
new file mode 100644
index 000000000000..f95be296370a
--- /dev/null
+++ b/mail-filter/milter-regex/Manifest
@@ -0,0 +1 @@
+DIST milter-regex-1.9.tar.gz 19880 SHA256 6a708b0ff31d9f6db0e5b96915354c15f65ca09a730c599970b37e30699b18e4 SHA512 55cb97eba01220eb57c29498a090152c05d259abbe6f771e47a67499e7c2a1d4121ec9d0bce84cc8b6490bcd20dea8eaaba753e61f1ce9002edd8440b13f7148 WHIRLPOOL a8c1d75c016f32ec357e80498b7de5a89da50cf8a32bcbfd9e0467c829870c468beb6b12f138a352f518ff26a3f95c83ed25892670bf1a7f76f2b728cf626f30
diff --git a/mail-filter/milter-regex/files/milter-regex-1.7-gentoo.patch b/mail-filter/milter-regex/files/milter-regex-1.7-gentoo.patch
new file mode 100644
index 000000000000..bd5d926ce218
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.7-gentoo.patch
@@ -0,0 +1,52 @@
+diff -Nru milter-regex-1.7.orig/Makefile.linux milter-regex-1.7/Makefile.linux
+--- milter-regex-1.7.orig/Makefile.linux 2007-01-11 17:49:52.000000000 +0200
++++ milter-regex-1.7/Makefile.linux 2008-02-18 10:17:35.000000000 +0200
+@@ -6,13 +6,12 @@
+ # see milter-regex.init for an init script for RedHat/Fedora
+ # (contributed by admin@2ka.mipt.ru)
+
+-CFLAGS= -g
+-LDFLAGS= -lmilter -lpthread
++LIBS= -lmilter -lpthread
+
+ all: milter-regex milter-regex.cat8
+
+ milter-regex: milter-regex.o eval.o strlcpy.o y.tab.o
+- gcc -o milter-regex milter-regex.o eval.o strlcpy.o y.tab.o $(LDFLAGS)
++ gcc $(LDFLAGS) -o milter-regex milter-regex.o eval.o strlcpy.o y.tab.o $(LIBS)
+
+ milter-regex.o: milter-regex.c eval.h
+ gcc $(CFLAGS) -c milter-regex.c
+@@ -27,7 +26,7 @@
+ gcc $(CFLAGS) -c y.tab.c
+
+ y.tab.c: parse.y
+- yacc -d parse.y
++ yacc -d -y parse.y
+
+ milter-regex.cat8: milter-regex.8
+ nroff -Tascii -mandoc milter-regex.8 > milter-regex.cat8
+diff -Nru milter-regex-1.7.orig/parse.y milter-regex-1.7/parse.y
+--- milter-regex-1.7.orig/parse.y 2007-01-11 17:49:52.000000000 +0200
++++ milter-regex-1.7/parse.y 2008-02-18 10:16:02.000000000 +0200
+@@ -71,6 +71,7 @@
+ } v;
+ int lineno;
+ } YYSTYPE;
++#define YYSTYPE_IS_DECLARED 1
+
+ %}
+
+@@ -481,9 +482,9 @@
+ *r = rs;
+ return (0);
+ }
+-#ifdef __linux__
+- (void)&yyrcsid; /* warning about yyrcsid declared but unused */
+-#endif
++//#ifdef __linux__
++// (void)&yyrcsid; /* warning about yyrcsid declared but unused */
++//#endif
+ }
+
+ static int
diff --git a/mail-filter/milter-regex/files/milter-regex-1.7-rules.patch b/mail-filter/milter-regex/files/milter-regex-1.7-rules.patch
new file mode 100644
index 000000000000..2e85be4c28b2
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.7-rules.patch
@@ -0,0 +1,11 @@
+--- rules~ 2007-01-11 08:49:52.000000000 -0700
++++ rules 2008-01-28 11:52:49.629153456 -0700
+@@ -21,7 +21,7 @@
+ header /From/ /ebay\.com/i
+ header /From/ /sabresfc11@aol\.com/i
+ header /From/ /ictp\.ch/i
+-header /From/ /(sgi.org.uk/ei
++header /From/ /(sgi.org.uk)/ei
+ header /From/ /tera-byte/i
+ header /From/ /google\.com/i
+ header /Subject/ /item/i
diff --git a/mail-filter/milter-regex/files/milter-regex-1.7-yacc.patch b/mail-filter/milter-regex/files/milter-regex-1.7-yacc.patch
new file mode 100644
index 000000000000..880f05d1fa7b
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.7-yacc.patch
@@ -0,0 +1,12 @@
+diff -Nru milter-regex-1.7.orig/Makefile.linux milter-regex-1.7/Makefile.linux
+--- milter-regex-1.7.orig/Makefile.linux 2008-12-11 20:54:05.000000000 +0000
++++ milter-regex-1.7/Makefile.linux 2008-12-11 20:54:22.000000000 +0000
+@@ -26,7 +26,7 @@
+ gcc $(CFLAGS) -c y.tab.c
+
+ y.tab.c: parse.y
+- yacc -d -y parse.y
++ yacc -d parse.y
+
+ milter-regex.cat8: milter-regex.8
+ nroff -Tascii -mandoc milter-regex.8 > milter-regex.cat8
diff --git a/mail-filter/milter-regex/files/milter-regex-1.8-gentoo.patch b/mail-filter/milter-regex/files/milter-regex-1.8-gentoo.patch
new file mode 100644
index 000000000000..27caafb654c3
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.8-gentoo.patch
@@ -0,0 +1,129 @@
+diff -Nru milter-regex-1.8.orig/Makefile.linux milter-regex-1.8/Makefile.linux
+--- milter-regex-1.8.orig/Makefile.linux 2007-01-11 16:49:52.000000000 +0100
++++ milter-regex-1.8/Makefile.linux 2010-09-24 22:33:19.000000000 +0200
+@@ -6,13 +6,12 @@
+ # see milter-regex.init for an init script for RedHat/Fedora
+ # (contributed by admin@2ka.mipt.ru)
+
+-CFLAGS= -g
+-LDFLAGS= -lmilter -lpthread
++LIBS= -lmilter -lpthread
+
+ all: milter-regex milter-regex.cat8
+
+-milter-regex: milter-regex.o eval.o strlcpy.o y.tab.o
+- gcc -o milter-regex milter-regex.o eval.o strlcpy.o y.tab.o $(LDFLAGS)
++milter-regex: milter-regex.o eval.o strlcpy.o strlcat.o y.tab.o
++ gcc $(LDFLAGS) -o milter-regex milter-regex.o eval.o strlcpy.o strlcat.o y.tab.o $(LIBS)
+
+ milter-regex.o: milter-regex.c eval.h
+ gcc $(CFLAGS) -c milter-regex.c
+@@ -22,7 +21,10 @@
+
+ strlcpy.o: strlcpy.c
+ gcc $(CFLAGS) -c strlcpy.c
+-
++
++strlcat.o: strlcat.c
++ gcc $(CFLAGS) -c strlcat.c
++
+ y.tab.o: y.tab.c
+ gcc $(CFLAGS) -c y.tab.c
+
+diff -Nru milter-regex-1.8.orig/parse.y milter-regex-1.8/parse.y
+--- milter-regex-1.8.orig/parse.y 2007-01-11 16:49:52.000000000 +0100
++++ milter-regex-1.8/parse.y 2010-09-24 22:33:19.000000000 +0200
+@@ -71,6 +71,7 @@
+ } v;
+ int lineno;
+ } YYSTYPE;
++#define YYSTYPE_IS_DECLARED 1
+
+ %}
+
+@@ -481,9 +482,9 @@
+ *r = rs;
+ return (0);
+ }
+-#ifdef __linux__
+- (void)&yyrcsid; /* warning about yyrcsid declared but unused */
+-#endif
++//#ifdef __linux__
++// (void)&yyrcsid; /* warning about yyrcsid declared but unused */
++//#endif
+ }
+
+ static int
+diff -Nru milter-regex-1.8.orig/strlcat.c milter-regex-1.8/strlcat.c
+--- milter-regex-1.8.orig/strlcat.c 1970-01-01 01:00:00.000000000 +0100
++++ milter-regex-1.8/strlcat.c 2010-09-24 22:34:31.000000000 +0200
+@@ -0,0 +1,69 @@
++/* $OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $ */
++
++/*-
++ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. The name of the author may not be used to endorse or promote products
++ * derived from this software without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
++ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
++ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
++ * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
++ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
++ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
++ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#include <sys/types.h>
++#include <string.h>
++
++/*
++ * Appends src to string dst of size siz (unlike strncat, siz is the
++ * full size of dst, not space left). At most siz-1 characters
++ * will be copied. Always NUL terminates (unless siz <= strlen(dst)).
++ * Returns strlen(src) + MIN(siz, strlen(initial dst)).
++ * If retval >= siz, truncation occurred.
++ */
++size_t
++strlcat(dst, src, siz)
++ char *dst;
++ const char *src;
++ size_t siz;
++{
++ char *d = dst;
++ const char *s = src;
++ size_t n = siz;
++ size_t dlen;
++
++ /* Find the end of dst and adjust bytes left but don't go past end */
++ while (n-- != 0 && *d != '\0')
++ d++;
++ dlen = d - dst;
++ n = siz - dlen;
++
++ if (n == 0)
++ return(dlen + strlen(s));
++ while (*s != '\0') {
++ if (n != 1) {
++ *d++ = *s;
++ n--;
++ }
++ s++;
++ }
++ *d = '\0';
++
++ return(dlen + (s - src)); /* count does not include NUL */
++}
diff --git a/mail-filter/milter-regex/files/milter-regex-1.8-rules.patch b/mail-filter/milter-regex/files/milter-regex-1.8-rules.patch
new file mode 100644
index 000000000000..7103e7e6c59e
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.8-rules.patch
@@ -0,0 +1,12 @@
+diff -Nru milter-regex-1.8.orig/rules milter-regex-1.8/rules
+--- milter-regex-1.8.orig/rules 2007-01-11 16:49:52.000000000 +0100
++++ milter-regex-1.8/rules 2010-09-24 22:11:46.000000000 +0200
+@@ -21,7 +21,7 @@
+ header /From/ /ebay\.com/i
+ header /From/ /sabresfc11@aol\.com/i
+ header /From/ /ictp\.ch/i
+-header /From/ /(sgi.org.uk/ei
++header /From/ /(sgi.org.uk)/ei
+ header /From/ /tera-byte/i
+ header /From/ /google\.com/i
+ header /Subject/ /item/i
diff --git a/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch b/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch
new file mode 100644
index 000000000000..38ba17af0d88
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch
@@ -0,0 +1,38 @@
+--- Makefile.linux 2011-07-16 16:51:34.000000000 +0300
++++ Makefile.linux 2012-08-05 18:15:30.906378968 +0300
+@@ -6,28 +6,27 @@
+ # see milter-regex.init for an init script for RedHat/Fedora
+ # (contributed by admin@2ka.mipt.ru)
+
+-CFLAGS= -g
+-LDFLAGS= -L/usr/lib/libmilter -lmilter -lpthread
++LIBS= -lmilter -lpthread
+
+ all: milter-regex milter-regex.cat8
+
+ milter-regex: milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o
+- gcc -o milter-regex milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o $(LDFLAGS)
++ $(CC) $(LDFLAGS) -o milter-regex milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o $(LIBS)
+
+ milter-regex.o: milter-regex.c eval.h
+- gcc $(CFLAGS) -c milter-regex.c
++ $(CC) $(CFLAGS) -c milter-regex.c
+
+ eval.o: eval.c eval.h
+- gcc $(CFLAGS) -c eval.c
++ $(CC) $(CFLAGS) -c eval.c
+
+ strlcat.o: strlcat.c
+- gcc $(CFLAGS) -c strlcat.c
++ $(CC) $(CFLAGS) -c strlcat.c
+
+ strlcpy.o: strlcpy.c
+- gcc $(CFLAGS) -c strlcpy.c
++ $(CC) $(CFLAGS) -c strlcpy.c
+
+ y.tab.o: y.tab.c
+- gcc $(CFLAGS) -c y.tab.c
++ $(CC) $(CFLAGS) -c y.tab.c
+
+ y.tab.c: parse.y
+ yacc -d parse.y
diff --git a/mail-filter/milter-regex/files/milter-regex-conf b/mail-filter/milter-regex/files/milter-regex-conf
new file mode 100644
index 000000000000..51846a214e4e
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-conf
@@ -0,0 +1,8 @@
+# Daemon user
+USER="milter"
+
+# The location of the Unix socket
+SOCKET="/var/run/milter-regex/milter-regex.sock"
+
+# Regular expression rules
+CONFIG="/etc/mail/milter-regex.conf"
diff --git a/mail-filter/milter-regex/files/milter-regex-init b/mail-filter/milter-regex/files/milter-regex-init
new file mode 100644
index 000000000000..e032d08f09df
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-init
@@ -0,0 +1,42 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use dns logger net
+}
+
+check_cfg() {
+ if [ -z "${USER}" ] ; then
+ eerror "USER is unset"
+ return 1
+ fi
+
+ if [ ! -s "${CONFIG}" ]; then
+ eerror "configuration file ${CONFIG} doesn't seem to be valid"
+ return 1
+ fi
+}
+
+start() {
+ check_cfg || return 1
+
+ # Remove stalled Unix socket if no other process is using it
+ if [ -S "${SOCKET}" ] && ! fuser -s "${SOCKET}"; then
+ rm "${SOCKET}"
+ fi
+
+ ebegin "Starting milter-regex"
+ start-stop-daemon --start --exec /usr/bin/milter-regex -- \
+ -u "${USER}" -p "${SOCKET}" -c "${CONFIG}"
+ EXIT=$?
+ [ $? == 0 ] && chmod a+rw "${SOCKET}"
+ eend ${EXIT}
+}
+
+stop() {
+ ebegin "Stopping milter-regex"
+ start-stop-daemon --stop --exec /usr/bin/milter-regex
+ eend $?
+}
diff --git a/mail-filter/milter-regex/metadata.xml b/mail-filter/milter-regex/metadata.xml
new file mode 100644
index 000000000000..b3efcc51b39c
--- /dev/null
+++ b/mail-filter/milter-regex/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-mail</herd>
+<longdescription>milter-regex is a very simple milter-based plugin that rejects or discards messages matching
+regular expressions. It doesn't add much processing overhead, so even a busy mail server can afford to run it.</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/milter-regex/milter-regex-1.9.ebuild b/mail-filter/milter-regex/milter-regex-1.9.ebuild
new file mode 100644
index 000000000000..df9ba89662ed
--- /dev/null
+++ b/mail-filter/milter-regex/milter-regex-1.9.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="A milter-based regular expression filter"
+HOMEPAGE="http://www.benzedrine.cx/milter-regex.html"
+SRC_URI="http://www.benzedrine.cx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )"
+DEPEND="${RDEPEND}
+ virtual/yacc"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" -f Makefile.linux milter-regex
+}
+
+src_install() {
+ dobin milter-regex
+
+ keepdir /var/run/milter-regex
+
+ insinto /etc/mail
+ newins rules milter-regex.conf
+
+ newconfd "${FILESDIR}"/milter-regex-conf milter-regex
+ newinitd "${FILESDIR}"/milter-regex-init milter-regex
+
+ doman *.8
+}
+
+pkg_preinst() {
+ enewgroup milter
+ # mail-milter/spamass-milter creates milter user with this home directory
+ # For consistency reasons, milter user must be created here with this home directory
+ # even though this package doesn't need a home directory for this user (#280571)
+ enewuser milter -1 -1 /var/lib/milter milter
+
+ fowners milter:milter /var/run/milter-regex
+}
+
+pkg_postinst() {
+ elog "If you're using Sendmail, you'll need to add this to your sendmail.mc:"
+ elog " INPUT_MAIL_FILTER(\`milter-regex', \`S=unix:/var/run/milter-regex/milter-regex.sock, T=S:30s;R:2m')"
+ echo
+ elog "If you are using Postfix, you'll need to add this to your main.cf:"
+ elog " smtpd_milters = unix:/var/run/milter-regex/milter-regex.sock"
+ elog " non_smtpd_milters = unix:/var/run/milter-regex/milter-regex.sock"
+}