Skip site navigation (1)Skip section navigation (2)
Date:      Sat,  9 Jan 2010 01:42:37 +0100 (CET)
From:      Giel van Schijndel <me@mortis.eu>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Giel van Schijndel <me@mortis.eu>
Subject:   ports/142508: Submission of a port for python-postfix-policyd-spf
Message-ID:  <20100109004237.E908A17036@hyde.il.fontys.nl>
Resent-Message-ID: <201001090050.o090o2ta042382@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         142508
>Category:       ports
>Synopsis:       Submission of a port for python-postfix-policyd-spf
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 09 00:50:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Giel van Schijndel
>Release:        FreeBSD 7.2-STABLE i386
>Organization:
Interlink
>Environment:
System: FreeBSD hyde.il.fontys.nl 7.2-STABLE FreeBSD 7.2-STABLE #0: Fri Jun 12 00:01:27 CEST 2009 root@hyde.il.fontys.nl:/usr/obj/usr/src/sys/HYDE i386

>Description:

This PR includes a port for python-postfix-policyd-spf. This is a Python
package implementing a Postfix policy checking filter to check SPF records to
be able to prevent envelope sender forgery.

I'm not all too familiar with the ports system from a developer's perspective.
So I've already had someone look it over (Ed Schouten), but if you've got any
remarks/criticisms please let me know so I can fix any problems.

I suggest putting this port in the 'mail' category (since it's clearly mail
related).

>How-To-Repeat:
>Fix:
The port, as a shar. Regarding the license, you're free to use it under the GPL
(v2 or more recent), similar to the source package itself, or the FreeBSD
license (the two clause BSD license), whichever suits better.

# 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:
#
#	.
#	./postfix-policyd-spf-python
#	./postfix-policyd-spf-python/files
#	./postfix-policyd-spf-python/files/pkg-message.in
#	./postfix-policyd-spf-python/distinfo
#	./postfix-policyd-spf-python/pkg-descr
#	./postfix-policyd-spf-python/pkg-plist
#	./postfix-policyd-spf-python/Makefile
#
echo c - .
mkdir -p . > /dev/null 2>&1
echo c - ./postfix-policyd-spf-python
mkdir -p ./postfix-policyd-spf-python > /dev/null 2>&1
echo c - ./postfix-policyd-spf-python/files
mkdir -p ./postfix-policyd-spf-python/files > /dev/null 2>&1
echo x - ./postfix-policyd-spf-python/files/pkg-message.in
sed 's/^X//' >./postfix-policyd-spf-python/files/pkg-message.in << '92d16dceaecb749ce5c792b7376b3a8b'
X#
X# To configure Postfix
X#
X
XThis package must be integrated with Postfix to be effective:
X
X 1. Add to your postfix master.cf:
X
X        policyd-spf  unix  -       n       n       -       0       spawn
X            user=nobody argv=%%PYTHON_CMD%% %%PREFIX%%/bin/policyd-spf %%ETCDIR%%/policyd-spf.conf
X      
X 2. Configure the Postfix policy service in your main.cf so that the
X    "smtpd_recipient_restrictions" includes a call to the policyd-spf policy
X    filter.  If you already have a "smtpd_recipient_restrictions" line, you can
X    add the "check_policy_service" command anywhere *after* the line which
X    reads "reject_unauth_destination" (otherwise you're system can become an
X    open relay).
X
X        smtpd_recipient_restrictions =
X            ...
X            reject_unauth_destination
X            check_policy_service unix:private/policyd-spf
X            ...
X
X        policyd-spf_time_limit = 3600
X
X  3. Please consult the postfix documentation for more information on these and
X     other settings you may wish to have in the "smtpd_recipient_restrictions"
X     configuration.
X
X  4. Reload postfix.
92d16dceaecb749ce5c792b7376b3a8b
echo x - ./postfix-policyd-spf-python/distinfo
sed 's/^X//' >./postfix-policyd-spf-python/distinfo << '86a43fd91891e8b24261e1103637ec9f'
XMD5 (pypolicyd-spf-0.7.3.tar.gz) = 082462de920abf965841636fa8cff4cd
XSHA256 (pypolicyd-spf-0.7.3.tar.gz) = 0104c24d0cde02eb69f496370d326234615439fd1a649e3ddb02f90b52d7749b
XSIZE (pypolicyd-spf-0.7.3.tar.gz) = 29845
86a43fd91891e8b24261e1103637ec9f
echo x - ./postfix-policyd-spf-python/pkg-descr
sed 's/^X//' >./postfix-policyd-spf-python/pkg-descr << '5ad120d6beb6976fd886553f05c8198c'
Xpython-policyd-spf is a Postfix SMTPd policy engine for SPF checking. It is
Ximplemented in pure Python and uses the python-spf module.
X
XWWW: http://www.openspf.org/Software
X
XGiel van Schijndel <me@mortis.eu>
5ad120d6beb6976fd886553f05c8198c
echo x - ./postfix-policyd-spf-python/pkg-plist
sed 's/^X//' >./postfix-policyd-spf-python/pkg-plist << '2e7d3ad5a12ff7eab1239860e50c76b5'
X@exec mkdir -p %D/%%ETCDIR%%
X@unexec if cmp -s %D/%%ETCDIR%%/policyd-spf.conf.sample %D/%%ETCDIR%%/policyd-spf.conf; then rm -f %D/%%ETCDIR%%/policyd-spf.conf; fi
X%%ETCDIR%%/policyd-spf.conf.sample
X@exec if [ ! -f %D/%%ETCDIR%%/policyd-spf.conf ] ; then cp -p %D/%F %B/policyd-spf.conf; fi
Xbin/policyd-spf
X%%PYTHON_SITELIBDIR%%/policydspfsupp.py
X@dirrmtry %%ETCDIR%%
2e7d3ad5a12ff7eab1239860e50c76b5
echo x - ./postfix-policyd-spf-python/Makefile
sed 's/^X//' >./postfix-policyd-spf-python/Makefile << 'fbec9b2aa25188a80a4c9d08355c4021'
X# New ports collection makefile for:	postfix-policyd-spf-python
X# Date created:				8 Jan 2010
X# Whom:					Giel van Schijndel <me@mortis.eu>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	postfix-policyd-spf-python
XPORTVERSION=	0.7.3
XCATEGORIES=	mail python
XMASTER_SITES=	http://launchpad.net/pypolicyd-spf/0.7/${PORTVERSION}/+download/
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
XDISTNAME=	pypolicyd-spf-${PORTVERSION}
X
XMAINTAINER=	me@mortis.eu
XCOMMENT=	Pure Python Postfix policy daemon for SPF checking
X
XRUN_DEPENDS=	${PYTHON_SITELIBDIR}/spf.py:${PORTSDIR}/mail/py-spf
X
XUSE_PYTHON=	yes
XUSE_PYDISTUTILS=	yes
XPYDISTUTILS_PKGNAME=	python-policyd-spf
X
X# Apparently launchpad seems to depend on redirects for their downloads. So
X# ditch the fetch -A flag.
XFETCH_ARGS=	-pRr
X
XMAN1=policyd-spf.1
XMAN5=policyd-spf.conf.5
X
XPORTDOCS=	CHANGES \
X		LICENSE \
X		README \
X		README.per_user_whitelisting \
X		TODO \
X		policyd-spf.conf.commented
X
XPKGMESSAGE=	${WRKSRC}/pkg-message
X
XSUB_FILES=	pkg-message
XSUB_LIST=	PYTHON_CMD=${PYTHON_CMD}
X
Xdo-install:
X	# Install data to an unused directory to ensure it doesn't pollute the system
X	@(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS} --install-data ${WRKDIR}/tmp-datadump-dir)
X	${INSTALL_MAN} ${WRKSRC}/policyd-spf.1 ${MANPREFIX}/man/man1
X	${INSTALL_MAN} ${WRKSRC}/policyd-spf.conf.5 ${MANPREFIX}/man/man5
X	@${INSTALL} -d ${ETCDIR}/
X	${INSTALL_DATA} ${WRKSRC}/policyd-spf.conf ${ETCDIR}/policyd-spf.conf.sample
X.if !defined(NOPORTDOCS)
X	@${INSTALL} -d ${DOCSDIR}/
X	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}/
X.endif
X
Xpost-install:
X.if !exists(${ETCDIR}/policyd-spf.conf)
X	${CP} -p ${ETCDIR}/policyd-spf.conf.sample ${ETCDIR}/policyd-spf.conf
X.endif
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
fbec9b2aa25188a80a4c9d08355c4021
exit

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100109004237.E908A17036>