From 97f8ecee5b90f72ea183a41a76e2d72ed4a41db6 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 3 Feb 2010 10:40:12 +0000 Subject: main/postgrey: moved from testing, incl dependencies Trying to clean up the mess. --- main/postgrey/APKBUILD | 48 +++++++++-------- main/postgrey/postgrey.conf | 55 -------------------- main/postgrey/postgrey.confd | 55 ++++++++++++++++++++ main/postgrey/postgrey.init | 101 ------------------------------------ main/postgrey/postgrey.initd | 102 +++++++++++++++++++++++++++++++++++++ main/postgrey/postgrey.pre-install | 6 ++- 6 files changed, 189 insertions(+), 178 deletions(-) delete mode 100644 main/postgrey/postgrey.conf create mode 100644 main/postgrey/postgrey.confd delete mode 100644 main/postgrey/postgrey.init create mode 100644 main/postgrey/postgrey.initd mode change 100755 => 100644 main/postgrey/postgrey.pre-install (limited to 'main/postgrey') diff --git a/main/postgrey/APKBUILD b/main/postgrey/APKBUILD index b7ce04f1c..83afce3c6 100644 --- a/main/postgrey/APKBUILD +++ b/main/postgrey/APKBUILD @@ -1,30 +1,36 @@ -# Maintainer: Leonardo Arena +# Contributor: Michael Mason +# Maintainer: Michael Mason pkgname=postgrey pkgver=1.32 -pkgrel=0 -pkgdesc="Postfix Greylisting Policy Server" +pkgrel=2 +pkgdesc="Postfix policy server implementing greylisting" url="http://postgrey.schweikert.ch/" -license="GPL-2" -depends="perl-net-server perl-io-multiplex perl-db postfix" +license="GPL" +depends="perl perl-db perl-net-dns perl-net-server perl-io-multiplex + perl-net-rblclient perl-parse-syslog" +pkgusers="postgrey" +pkggroups="postgrey" makedepends="" -install="$pkgname.pre-install" -subpackages="$pkgname-doc" -source="http://postgrey.schweikert.ch/pub/$pkgname-$pkgver.tar.gz" +install=postgrey.pre-install +subpackages="" +source="http://postgrey.schweikert.ch/pub/$pkgname-$pkgver.tar.gz + postgrey.confd + postgrey.initd" build() { cd "$srcdir"/$pkgname-$pkgver - mkdir -p -m0770 $pkgdir/var/spool/postfix/postgrey - chown postgrey.postgrey $pkgdir/var/spool/postfix/postgrey - install -m755 -D postgrey $pkgdir/usr/sbin/postgrey - install -m755 -D policy-test $pkgdir/usr/bin/policy-test - install -m755 -D contrib/postgreyreport $pkgdir/usr/bin/postgreyreport - install -m644 -D postgrey_whitelist_recipients $pkgdir/etc/postfix/postgrey_whitelist_recipients - install -m644 -D postgrey_whitelist_clients $pkgdir/etc/postfix/postgrey_whitelist_clients - install -m644 -D README $pkgdir/usr/share/doc/$pkgname/README - install -m644 -D Changes $pkgdir/usr/share/doc/$pkgname/Changes - install -m644 -D COPYING $pkgdir/usr/share/doc/$pkgname/COPYING - install -m755 -D ../../postgrey.init $pkgdir/etc/init.d/postgrey - install -m644 -D ../../postgrey.conf $pkgdir/etc/conf.d/postgrey + + install -m755 -D $pkgname "$pkgdir"/usr/sbin/$pkgname + mkdir -p "$pkgdir"/var/spool/postfix/$pkgname + chown postgrey:postgrey "$pkgdir"/var/spool/postfix/$pkgname + chmod 770 "$pkgdir"/var/spool/postfix/$pkgname + install -m755 -D contrib/postgreyreport "$pkgdir"/usr/bin/postgreyreport + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D postgrey_whitelist_clients "$pkgdir"/etc/postfix/postgrey_whitelist_clients + install -m644 -D postgrey_whitelist_recipients "$pkgdir"/etc/postfix/postgrey_whitelist_recipients + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname } -md5sums="524a4e165bf997996f3bccade394712f postgrey-1.32.tar.gz" +md5sums="524a4e165bf997996f3bccade394712f postgrey-1.32.tar.gz +caaad5770ab07fb5af3bbd522a05b84f postgrey.confd +d0611b244202c77ad7ad79862721a738 postgrey.initd" diff --git a/main/postgrey/postgrey.conf b/main/postgrey/postgrey.conf deleted file mode 100644 index 0baa871a8..000000000 --- a/main/postgrey/postgrey.conf +++ /dev/null @@ -1,55 +0,0 @@ -# Config file for /etc/init.d/postgrey - -# LISTEN TYPE -# Set to 'inet' if you want to use a TCP socket. -# Set to 'unix' if you want to use an UNIX socket. -POSTGREY_TYPE="inet" - -# HOST -# What IP should postgrey bind to? -# Leave unchanged unless you know what you are doing. -# (ignored if POSTGREY_TYPE is set to 'unix') -POSTGREY_HOST="127.0.0.1" - -# PORT -# What TCP port should postgrey listen on? -# (ignored if POSTGREY_TYPE is set to 'unix') -POSTGREY_PORT="10030" - -# SOCKET -# Unix socket to listen on, if POSTGREY_TYPE is set to 'unix'. -# Leave unchanged unless you know what you are doing. -# (ignored if POSTGREY_TYPE is set to 'inet') -POSTGREY_SOCKET="/var/spool/postfix/private/postgrey" - -# PID -# Postgrey pid file. -# Do not change, if you don't know what this is! -POSTGREY_PID="/var/run/postgrey.pid" - -# DELAY -# How long to delay mail that is greylisted in seconds. -POSTGREY_DELAY=60 - -# TEXT -# The response we'll send back with delayed mail. -POSTGREY_TEXT="Greylisted for %s seconds" - -# Additional Postgrey options -# -# -v, --verbose increase verbosity level -# --max-age=N delete entries older than N days since the last time -# that they have been seen (default: 30) -# --retry-window=N allow only N days for the first retrial (default: 2) -# append 'h' if you want to specify it in hours -# --greylist-action=A if greylisted, return A to Postfix (default: DEFER_IF_PERMIT) -# --lookup-by-subnet strip the last 8 bits from IP addresses (default) -# --lookup-by-host do not strip the last 8 bits from IP addresses -# --whitelist-clients=FILE default: /etc/postfix/postgrey_whitelist_clients -# --whitelist-recipients=FILE default: /etc/postfix/postgrey_whitelist_recipients -# -# Note that the --whitelist-x options can be specified multiple times, and that -# per default /etc/postfix/postgrey_whitelist_clients.local is also read, so -# that you can put there local entries. -# -POSTGREY_OPTS="" diff --git a/main/postgrey/postgrey.confd b/main/postgrey/postgrey.confd new file mode 100644 index 000000000..7a6deb587 --- /dev/null +++ b/main/postgrey/postgrey.confd @@ -0,0 +1,55 @@ +# Config file for /etc/init.d/postgrey + +# LISTEN TYPE +# Set to 'inet' if you want to use a TCP socket. +# Set to 'unix' if you want to use an UNIX socket. +POSTGREY_TYPE="inet" + +# HOST +# What IP should postgrey bind to? +# Leave unchanged unless you know what you are doing. +# (ignored if POSTGREY_TYPE is set to 'unix') +POSTGREY_HOST="127.0.0.1" + +# PORT +# What TCP port should postgrey listen on? +# (ignored if POSTGREY_TYPE is set to 'unix') +POSTGREY_PORT="10030" + +# SOCKET +# Unix socket to listen on, if POSTGREY_TYPE is set to 'unix'. +# Leave unchanged unless you know what you are doing. +# (ignored if POSTGREY_TYPE is set to 'inet') +POSTGREY_SOCKET="/var/spool/postfix/private/postgrey" + +# PID +# Postgrey pid file. +# Do not change, if you don't know what this is! +POSTGREY_PID="/var/run/postgrey.pid" + +# DELAY +# How long to delay mail that is greylisted in seconds. +POSTGREY_DELAY=300 + +# TEXT +# The response we'll send back with delayed mail. +POSTGREY_TEXT="Greylisted for %s seconds" + +# Additional Postgrey options +# +# -v, --verbose increase verbosity level +# --max-age=N delete entries older than N days since the last time +# that they have been seen (default: 30) +# --retry-window=N allow only N days for the first retrial (default: 2) +# append 'h' if you want to specify it in hours +# --greylist-action=A if greylisted, return A to Postfix (default: DEFER_IF_PERMIT) +# --lookup-by-subnet strip the last 8 bits from IP addresses (default) +# --lookup-by-host do not strip the last 8 bits from IP addresses +# --whitelist-clients=FILE default: /etc/postfix/postgrey_whitelist_clients +# --whitelist-recipients=FILE default: /etc/postfix/postgrey_whitelist_recipients +# +# Note that the --whitelist-x options can be specified multiple times, and that +# per default /etc/postfix/postgrey_whitelist_clients.local is also read, so +# that you can put there local entries. +# +POSTGREY_OPTS="" diff --git a/main/postgrey/postgrey.init b/main/postgrey/postgrey.init deleted file mode 100644 index d38538de1..000000000 --- a/main/postgrey/postgrey.init +++ /dev/null @@ -1,101 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/mail-filter/postgrey/files/postgrey.rc.new,v 1.10 2008/05/21 18:45:44 dertobi123 Exp $ - -conf="/etc/conf.d/postgrey" - -opts="${opts} reload" - -depend() { - need net - before postfix - provide postfix_greylist -} - -conf_error() { - eerror "You need to setup ${conf} first" - return 1 -} - -checkconfig() { -if [ -z "${POSTGREY_TYPE}" ] - then - einfo "You need to choose the server type you want" - einfo "by setting the POSTGREY_TYPE variable in ${conf}." - else - if [ "x${POSTGREY_TYPE}" = "xinet" ] - then - if [ -z "${POSTGREY_PORT}" ] || [ -z "${POSTGREY_HOST}" ] - then - einfo "The following entries are missing in ${conf}:" - [ -z "${POSTGREY_HOST}" ] && einfo " - POSTGREY_HOST" - [ -z "${POSTGREY_PORT}" ] && einfo " - POSTGREY_PORT" - conf_error - fi - POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_HOST}:${POSTGREY_PORT}" - else - if [ -z "${POSTGREY_SOCKET}" ] - then - einfo "The following entries are missing in ${conf}:" - [ -z "${POSTGREY_SOCKET}" ] && einfo " - POSTGREY_SOCKET" - conf_error - fi - POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_SOCKET}" - fi -fi - - if [ -z "${POSTGREY_PID}" ] - then - einfo "The following entries are missing in ${conf}:" - [ -z "${POSTGREY_PID}" ] && einfo " - POSTGREY_PID" - conf_error - fi -} - -start() { - checkconfig || return 1 - ebegin "Starting Postgrey" - - # HACK -- start a subshell and corrects perms on the socket... - ( if [ "x${POSTGREY_TYPE}" = "xunix" ]; then - rm -f ${POSTGREY_SOCKET}; - while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done; - chmod a+rw,a-x ${POSTGREY_SOCKET}; fi ) & - - if [ -z ${POSTGREY_DELAY} ] ; then - POSTGREY_DELAY_ARG="" - else - POSTGREY_DELAY_ARG="--delay=${POSTGREY_DELAY}" - fi - - if [ -z "${POSTGREY_TEXT}" ] ; then - POSTGREY_TEXT_ARG="" - else - POSTGREY_TEXT_ARG="--greylist-text=${POSTGREY_TEXT}" - fi - - start-stop-daemon --start --quiet --background \ - --pidfile=${POSTGREY_PID} \ - --name postgrey \ - --exec /usr/sbin/postgrey -- \ - --${POSTGREY_ADDR} \ - --daemonize \ - --pidfile=${POSTGREY_PID} \ - ${POSTGREY_DELAY_ARG} \ - ${POSTGREY_OPTS} \ - "${POSTGREY_TEXT_ARG}" - eend ${?} -} - -stop() { - ebegin "Stopping Postgrey" - start-stop-daemon --stop --quiet --pidfile ${POSTGREY_PID} - eend ${?} -} - -reload() { - ebegin "Reloading Postgrey" - start-stop-daemon --stop --signal HUP --oknodo --pidfile ${POSTGREY_PID} - eend $? -} diff --git a/main/postgrey/postgrey.initd b/main/postgrey/postgrey.initd new file mode 100644 index 000000000..c9e51ceba --- /dev/null +++ b/main/postgrey/postgrey.initd @@ -0,0 +1,102 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/mail-filter/postgrey/files/postgrey.rc.new,v 1.10 2008/05/21 18:45:44 dertobi123 Exp $ + +conf="/etc/conf.d/postgrey" + +opts="${opts} reload" + +depend() { + need net + after firewall + before postfix + provide postfix_greylist +} + +conf_error() { + eerror "You need to setup ${conf} first" + return 1 +} + +checkconfig() { +if [ -z "${POSTGREY_TYPE}" ] + then + einfo "You need to choose the server type you want" + einfo "by setting the POSTGREY_TYPE variable in ${conf}." + else + if [ "x${POSTGREY_TYPE}" = "xinet" ] + then + if [ -z "${POSTGREY_PORT}" ] || [ -z "${POSTGREY_HOST}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_HOST}" ] && einfo " - POSTGREY_HOST" + [ -z "${POSTGREY_PORT}" ] && einfo " - POSTGREY_PORT" + conf_error + fi + POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_HOST}:${POSTGREY_PORT}" + else + if [ -z "${POSTGREY_SOCKET}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_SOCKET}" ] && einfo " - POSTGREY_SOCKET" + conf_error + fi + POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_SOCKET}" + fi +fi + + if [ -z "${POSTGREY_PID}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_PID}" ] && einfo " - POSTGREY_PID" + conf_error + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting Postgrey" + + # HACK -- start a subshell and corrects perms on the socket... + ( if [ "x${POSTGREY_TYPE}" = "xunix" ]; then + rm -f ${POSTGREY_SOCKET}; + while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done; + chmod a+rw,a-x ${POSTGREY_SOCKET}; fi ) & + + if [ -z ${POSTGREY_DELAY} ] ; then + POSTGREY_DELAY_ARG="" + else + POSTGREY_DELAY_ARG="--delay=${POSTGREY_DELAY}" + fi + + if [ -z "${POSTGREY_TEXT}" ] ; then + POSTGREY_TEXT_ARG="" + else + POSTGREY_TEXT_ARG="--greylist-text=${POSTGREY_TEXT}" + fi + + start-stop-daemon --start --quiet --background \ + --pidfile=${POSTGREY_PID} \ + --name postgrey \ + --exec /usr/sbin/postgrey -- \ + --${POSTGREY_ADDR} \ + --daemonize \ + --pidfile=${POSTGREY_PID} \ + ${POSTGREY_DELAY_ARG} \ + ${POSTGREY_OPTS} \ + "${POSTGREY_TEXT_ARG}" + eend ${?} +} + +stop() { + ebegin "Stopping Postgrey" + start-stop-daemon --stop --quiet --pidfile ${POSTGREY_PID} + eend ${?} +} + +reload() { + ebegin "Reloading Postgrey" + start-stop-daemon --stop --signal HUP --oknodo --pidfile ${POSTGREY_PID} + eend $? +} diff --git a/main/postgrey/postgrey.pre-install b/main/postgrey/postgrey.pre-install old mode 100755 new mode 100644 index e37a27f7d..3c34c3fd5 --- a/main/postgrey/postgrey.pre-install +++ b/main/postgrey/postgrey.pre-install @@ -1,2 +1,6 @@ #!/bin/sh -adduser -h /var/spool/postfix/postgrey -g postgrey -s /bin/false -D postgrey &>/dev/null + +addgroup postgrey 2>/dev/null +adduser -H -h /dev/null -s /bin/false -D postgrey 2>/dev/null + +exit 0 -- cgit v1.2.3