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