# Copyright 1999-2004 Gentoo Foundation# Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting" SRC_URI="http://isg.ee.ethz.ch/tools/${PN}/pub/${P}.tar.gz" HOMEPAGE="http://isg.ee.ethz.ch/tools/postgrey/" LICENSE="GPL-2" IUSE="" DEPEND=">=mail-mta/postfix-2.0 >=sys-libs/db-4.1 >=dev-lang/perl-5.6.0 dev-perl/net-server dev-perl/IO-Multiplex dev-perl/BerkeleyDB" SLOT="0" KEYWORDS="x86 sparc ~ppc ~alpha mips ~amd64 ~s390" pkg_setup() { id postgrey 2>/dev/null || enewgroup postgrey id postgrey 2>/dev/null || enewuser postgrey -1 /bin/bash /var/spool/postfix/postgrey postgrey } src_compile() { :; } src_install () { cd ${S} || die "changing to ${S} failed" # postgrey data in /var diropts -m0775 -o postgrey -g postgrey dodir /var/spool/postfix/postgrey keepdir /var/spool/postfix/postgrey # postgrey binary dodir /usr/sbin keepdir /usr/sbin exeinto /usr/sbin doexe postgrey || die "installing postgrey failed" doexe contrib/postgreyreport || die "installing postgreyreport failed" # postgrey data in /etc/postfix touch ${T}/postgrey_whitelist_clients.local dodir /etc/postfix keepdir /etc/postfix insinto /etc/postfix newins postgrey_whitelist_clients postgrey_whitelist_clients || die "installing postgrey_whitelist_clients failed" newins postgrey_whitelist_clients.local postgrey_whitelist_clients.local || die "installing postgrey_whitelist_clients.local failed" newins postgrey_whitelist_recipients postgrey_whitelist_recipients || die "installing postgrey_whitelist_recipients failed" # documentation dodoc Changes README # postgrey init script mkdir ${T}/init.d cp ${FILESDIR}/postgrey.rc ${T}/init.d/postgrey dodir /etc/init.d keepdir /etc/init.d exeinto /etc/init.d doexe ${T}/init.d/postgrey || die "installing init.d script postgrey failed" # postgrey config for gentoo mkdir ${T}/conf.d cp ${FILESDIR}/postgrey.conf ${T}/conf.d/postgrey dodir /etc/conf.d keepdir /etc/conf.d insinto /etc/conf.d newins ${T}/conf.d/postgrey postgrey || die "installing conf.d configuration for postgrey failed" } pkg_postinst() { echo einfo "Put something like this in /etc/postfix/main.cf:" einfo " smtpd_recipient_restrictions =" einfo " ..." einfo " reject_unauth_destination" einfo " check_policy_service inet:127.0.0.1:10030" einfo einfo "Postgrey whitelists follow similar syntax rules as Postfix access" einfo "tables. The following can be specified for recipient addresses:" einfo einfo "domain.addr" einfo " \"domain.addr\" domain and subdomains." einfo einfo "name@" einfo " \"name@.*\" and extended addresses \"name+blabla@.*\"." einfo einfo "name@domain.addr" einfo " \"name@domain.addr\" and extended addresses." einfo einfo "/regexp/" einfo " anything that matches \"regexp\" (the full address is matched)." einfo einfo einfo "The following can be specified for client addresses:" einfo einfo "domain.addr" einfo " \"domain.addr\" domain and subdomains." einfo einfo "IP1.IP2.IP3.IP4" einfo " IP address IP1.IP2.IP3.IP4. You can also leave off one number," einfo " in which case only the first specified numbers will be checked." einfo einfo "/regexp/" einfo " anything that matches \"regexp\" (the full address is matched)." echo ewarn "Read the documentation for more info (perldoc postgrey)" echo }