ports/131000: New port: mail/postfix-policyd-spf-perl SPF policy service for Postfix written in Perl

Darren Pilgrim ports.maintainer at evilphi.com
Mon Jan 26 07:30:02 UTC 2009


>Number:         131000
>Category:       ports
>Synopsis:       New port: mail/postfix-policyd-spf-perl SPF policy service for Postfix written in Perl
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 26 07:30:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Darren Pilgrim
>Release:        
>Organization:
>Environment:
>Description:
postfix-policyd-spf-perl is an RFC-4408-compliant Sender Policy Framework (SPF) postfix policy service written in Perl by the SPF Project.
>How-To-Repeat:

>Fix:
port skeleton shar attached

Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mail/postfix-policyd-spf-perl
#	mail/postfix-policyd-spf-perl/files
#	mail/postfix-policyd-spf-perl/files/patch-postfix-policyd-spf-perl
#	mail/postfix-policyd-spf-perl/files/pkg-message.in
#	mail/postfix-policyd-spf-perl/distinfo
#	mail/postfix-policyd-spf-perl/Makefile
#	mail/postfix-policyd-spf-perl/pkg-descr
#
echo c - mail/postfix-policyd-spf-perl
mkdir -p mail/postfix-policyd-spf-perl > /dev/null 2>&1
echo c - mail/postfix-policyd-spf-perl/files
mkdir -p mail/postfix-policyd-spf-perl/files > /dev/null 2>&1
echo x - mail/postfix-policyd-spf-perl/files/patch-postfix-policyd-spf-perl
sed 's/^X//' >mail/postfix-policyd-spf-perl/files/patch-postfix-policyd-spf-perl << '739494420cc8c68e18c2651a15e443ba'
X--- postfix-policyd-spf-perl.orig	2008-07-25 19:35:01.000000000 -0700
X+++ postfix-policyd-spf-perl	2009-01-25 16:46:38.991336330 -0800
X@@ -263,14 +263,14 @@
X             info => "%s: SPF %s: HELO/EHLO: %s",
X             $attr->{queue_id}, $helo_result, $attr->{helo_name}
X         );
X-        return "550 $helo_authority_exp";
X+        return "%%SPF_FAIL%% $helo_authority_exp";
X     }
X     elsif ($helo_result->is_code('temperror')) {
X         syslog(
X             info => "%s: SPF %s: HELO/EHLO: %s",
X             $attr->{queue_id}, $helo_result, $attr->{helo_name}
X         );
X-        return "DEFER_IF_PERMIT SPF-Result=$helo_local_exp";
X+        return "%%SPF_TEMPERROR%% SPF-Result=$helo_local_exp";
X     }
X     elsif ($attr->{sender} eq '') {
X         syslog(
X@@ -334,10 +334,10 @@
X         $attr->{queue_id}, $mfrom_result, $attr->{sender}
X     );
X     if ($mfrom_result->is_code('fail')) {
X-        return "550 $mfrom_authority_exp";
X+        return "%%SPF_FAIL%% $mfrom_authority_exp";
X     }
X     elsif ($mfrom_result->is_code('temperror')) {
X-        return "DEFER_IF_PERMIT SPF-Result=$mfrom_local_exp";
X+        return "%%SPF_TEMPERROR%% SPF-Result=$mfrom_local_exp";
X     }
X     else {
X         return "PREPEND $mfrom_spf_header"
739494420cc8c68e18c2651a15e443ba
echo x - mail/postfix-policyd-spf-perl/files/pkg-message.in
sed 's/^X//' >mail/postfix-policyd-spf-perl/files/pkg-message.in << '90b59edcb4cc2e7aae8e52f00a679588'
XThe service is not enabled by default.  Enable it by doing the following:
X
X1. Add the following to /etc/postfix/master.cf:
X
X	spf-policy unix -       n       n       -       0       spawn
X	  user=nobody argv=%%PREFIX%%/sbin/postfix-policyd-spf-perl
X
X   The user nobody is fine if you have no other daemons running as nobody.
X   Otherwise, you should use a dedicated user and group for this policy
X   service.
X
X2. Add "spf-policy_time_limit = 3600" to main.cf.
X
X3. Configure the Postfix policy service in %%PREFIX%%/etc/postfix/main.cf:
X
X	smtpd_recipient_restrictions =
X		...
X		reject_unauth_destination
X		...
X		check_policy_service unix:private/spf-policy
X		...
X
X   NOTE: Specify check_policy_service AFTER reject_unauth_destination or your
X   system may become an open relay.
X
X4. Restart Postfix.
90b59edcb4cc2e7aae8e52f00a679588
echo x - mail/postfix-policyd-spf-perl/distinfo
sed 's/^X//' >mail/postfix-policyd-spf-perl/distinfo << '746166d87c77f35afcaa5f643eb4c40f'
XMD5 (postfix-policyd-spf-perl-2.007.tar.gz) = 69b501012907236fd39975eadf29848a
XSHA256 (postfix-policyd-spf-perl-2.007.tar.gz) = 5137b03d9b6009684fe432451acb25db5513d7e9f69ccd218279d81d152a8cd3
XSIZE (postfix-policyd-spf-perl-2.007.tar.gz) = 13460
746166d87c77f35afcaa5f643eb4c40f
echo x - mail/postfix-policyd-spf-perl/Makefile
sed 's/^X//' >mail/postfix-policyd-spf-perl/Makefile << 'd5edfe564cae9fbce472610a1a4d7c87'
X# New ports collection makefile for:	postfix-policyd-spf-perl
X# Date created:				2008-01-25
X# Whom:					Darren Pilgrim <ports.maintainer at evilphi.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	postfix-policyd-spf-perl
XPORTVERSION=	2.007
XCATEGORIES=	mail
XMASTER_SITES=	http://www.openspf.org/blobs/
X
XMAINTAINER=	ports.maintainer at evilphi.com
XCOMMENT=	SPF policy service for Postfix written in Perl
X
XRUN_DEPENDS=	${SITE_PERL}/Mail/SPF.pm:${PORTSDIR}/mail/p5-Mail-SPF \
X		p5-NetAddr-IP>=4:${PORTSDIR}/net-mgmt/p5-NetAddr-IP \
X		${SITE_PERL}/${PERL_ARCH}/version.pm:${PORTSDIR}/devel/p5-version
X
XUSE_PERL5_RUN=	5.6.0+
XNO_BUILD=	yes
X
XPLIST_FILES=	sbin/postfix-policyd-spf-perl
X
XSUB_LIST=	PREFIX=${PREFIX}
XSUB_FILES=	pkg-message
X
XSPF_FAIL?=	550
XSPF_TEMPERROR?=	DEFER_IF_PERMIT
XREINPLACE=	s/%%SPF_FAIL%%/${SPF_FAIL}/g;\
X		s/%%SPF_TEMPERROR%%/${SPF_TEMPERROR}/g;
X
Xpre-patch:
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "You can change the actions returned by the server by setting the following"
X	@${ECHO_MSG} "environment variables:"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "  SPF_FAIL      - Used when the SPF record(s) determine client is not"
X	@${ECHO_MSG} "                  authorized.  Default: 550"
X	@${ECHO_MSG} "  SPF_TEMPERROR - Used when the SPF check itself fails due to a transient"
X	@${ECHO_MSG} "                  error (i.e. DNS timeout).  Default: DEFER_IF_PERMIT"
X	@${ECHO_MSG} ""
X
Xpost-patch:
X	@${REINPLACE_CMD} -e '${REINPLACE}' ${WRKSRC}/postfix-policyd-spf-perl
X
Xdo-install:
X	@${INSTALL_SCRIPT} ${WRKSRC}/postfix-policyd-spf-perl ${PREFIX}/sbin
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
d5edfe564cae9fbce472610a1a4d7c87
echo x - mail/postfix-policyd-spf-perl/pkg-descr
sed 's/^X//' >mail/postfix-policyd-spf-perl/pkg-descr << '55069145aa539e5fb3b5415cb8305656'
Xpostfix-policyd-spf-perl is an RFC-4408-compliant SPF policy service for
Xpostfix written in Perl.
X
XWWW: http://www.openspf.org/Software/
55069145aa539e5fb3b5415cb8305656
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list