Date: Mon, 26 Jan 2009 07:20:53 GMT From: Darren Pilgrim <ports.maintainer@evilphi.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/131000: New port: mail/postfix-policyd-spf-perl SPF policy service for Postfix written in Perl Message-ID: <200901260720.n0Q7Krop013275@www.freebsd.org> Resent-Message-ID: <200901260730.n0Q7U1wT048265@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901260720.n0Q7Krop013275>