--- pymilter-milters-0.8.12+dfsg.orig/debian/python-milter-docs.doc +++ pymilter-milters-0.8.12+dfsg/debian/python-milter-docs.doc @@ -0,0 +1,2 @@ +HOWTO +doc/* --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.manpages +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.manpages @@ -0,0 +1,2 @@ +debian/spfmilter.1 + --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.postrm +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.postrm @@ -0,0 +1,25 @@ +#!/bin/sh + +set -e + +if [ "$1" = "purge" ] ; then + for dir in /etc/spf-milter-python/ /var/log/spf-milter-python; do + if [ -d "$dir" ]; then + rmdir "$dir" --ignore-fail-on-non-empty || true + fi + done + + if [ -x "/usr/sbin/userdel" ]; then + userdel spf-milter-python || true + fi + if [ -x "/usr/sbin/groupdel" ]; then + groupdel spf-milter-python || true + fi + +fi + + +#DEBHELPER# + +exit 0 + --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.postinst +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.postinst @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ]; then + if ! id -u spf-milter-python >/dev/null 2>&1; then + adduser --quiet --system --group --home /var/run/spf-milter-python spf-milter-python + elif [ -n "$2" ]; then + addgroup --quiet --system spf-milter-python + usermod -g spf-milter-python spf-milter-python + fi + chown -R spf-milter-python:spf-milter-python /var/log/spf-milter-python +fi + +#DEBHELPER# + +exit 0 + --- pymilter-milters-0.8.12+dfsg.orig/debian/spfmilter.1 +++ pymilter-milters-0.8.12+dfsg/debian/spfmilter.1 @@ -0,0 +1,166 @@ +\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "spfmilter 1" +.TH python-spf 1 "2008-05-02" +.SH "NAME" +spfmilter \- pure-Python SPF milter +.SH "VERSION" +.IX Header "VERSION" +0\.8\.9 + +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" + +This is a simple milter for SPF checking written in Python. + +SPF does email sender validation. For more information about SPF, +please see http://www.openspf.org/. SPF is defined in RFC 4408. This +spfmilter is the first milter to support all final RFC 4408 requirements. + +.SH "USAGE" +.IX Header "USAGE" + +To use this with sendmail, add the following to sendmail.cf: + +O InputMailFilters=%s +X%s, S=local:%s + +See the sendmail README for libmilter. + +.SH "SEE ALSO" +.IX Header "SEE ALSO" + +RFC 4408, + +.SH "AUTHORS" +.IX Header "AUTHORS" +This version of \fBspfmilter\fR was written by Stuart Gathman . +.PP +This man-page was created by Scott Kitterman . --- pymilter-milters-0.8.12+dfsg.orig/debian/pycompat +++ pymilter-milters-0.8.12+dfsg/debian/pycompat @@ -0,0 +1 @@ +2 --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.dirs +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.dirs @@ -0,0 +1,3 @@ +/var/log/spf-milter-python/save +/etc/spf-milter-python + --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.init +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.init @@ -0,0 +1,128 @@ +#! /bin/sh +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg . +# Modified for Debian +# by Ian Murdock . +# +# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl +# +### BEGIN INIT INFO +# Provides: spf-milter spf-milter-python +# Required-Start: $local_fs $syslog $network $time +# Required-Stop: $local_fs $syslog $network +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: spf-milter-python +# Description: Python SPF Milter for Sendmail and Postfix +### END INIT INFO +prefix="/usr" +exec_prefix=${prefix} +sysconfdir="/etc/spf-milter-python" +bindir="${exec_prefix}/bin/" +RUNDIR="/var/run/spf-milter-python" +DAEMON=${bindir}/spfmilter +PATH=/sbin:/bin:/usr/sbin:/usr/bin: +NAME=spfmilter +DESC="Python SPF Milter" +USER=spf-milter-python +GROUP=spf-milter-python +SOCKET=$RUNDIR/spfmiltersock + +test -x $DAEMON || exit 0 + +# Include spf-python-milter defaults if available +if [ -f /etc/default/spf-milter-python ] ; then + . /etc/default/spf-milter-python +fi + +set -e + +. /lib/lsb/init-functions + +case "$1" in + start) + echo -n "Starting $DESC: " + # Create the run directory if it doesn't exist + if [ ! -d $RUNDIR ]; then + install -o $USER -g $GROUP -m 755 -d $RUNDIR || return 2 + fi + + # Clean up stale sockets + if [ -f $RUNDIR/$NAME.pid ]; then + pid=`cat $RUNDIR/$NAME.pid` + if ! ps -C $DAEMON -s $pid >/dev/null; then + rm $RUNDIR/$NAME.pid + # UNIX sockets may be specified with or without the + # local: prefix; handle both + t=`echo $SOCKET | cut -d: -f1` + s=`echo $SOCKET | cut -d: -f2` + if [ -e $s -a -S $s ]; then + if [ "$t" = "$s" -o "$t" = "local" ]; then + rm $s + fi + fi + fi + fi + + start-stop-daemon --start --background --quiet --pidfile \ + $RUNDIR/$NAME.pid --exec $DAEMON + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + if [ -f $RUNDIR/$NAME.pid ]; then + start-stop-daemon --stop --pidfile $RUNDIR/$NAME.pid + rm $RUNDIR/$NAME.pid + #echo $SOCKET + if [ -e $SOCKET ]; then + rm $SOCKET + fi + fi + echo "$NAME." + ;; + force-reload) + echo -n "Force reloading $DESC: " + if [ -f $RUNDIR/$NAME.pid ]; then + start-stop-daemon --stop --pidfile $RUNDIR/$NAME.pid + rm $RUNDIR/$NAME.pid + #echo $SOCKET + if [ -e $SOCKET ]; then + rm $SOCKET + fi + fi + sleep 1 + start-stop-daemon --start --background --quiet --pidfile \ + $RUNDIR/$NAME.pid --exec $DAEMON + echo "$NAME." + ;; + restart) + echo "Restarting $DESC: " + echo -n "Stopping $DESC: " + if [ -f $RUNDIR/$NAME.pid ]; then + start-stop-daemon --stop --pidfile $RUNDIR/$NAME.pid + rm $RUNDIR/$NAME.pid + #echo $SOCKET + if [ -e $SOCKET ]; then + rm $SOCKET + fi + fi + echo "$NAME." + sleep 1 + echo -n "Starting $DESC: " + start-stop-daemon --start --background --quiet --pidfile \ + $RUNDIR/$NAME.pid --exec $DAEMON + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|force-reload|restart|}" >&2 + exit 1 + ;; +esac + +exit 0 --- pymilter-milters-0.8.12+dfsg.orig/debian/copyright +++ pymilter-milters-0.8.12+dfsg/debian/copyright @@ -0,0 +1,43 @@ +This package was debianized by Scott Kitterman on +Friday August 24, 2007 19:04:29 -0400. + +It was downloaded from http://sourceforge.net/projects/pymilter/ + +Copyright Holder: + * Copyright 2007 Business Management Systems, Inc. + +License: + +This is free software; you can redistribute it and/or modify it under the terms +of the GNU General Public License (version 2), or (at your option) any later +version. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +On Debian systems, the complete text of the GPL v2 can be found here: + /usr/share/common-licenses/GPL-2 + +The file rhsbl.m4 is copyright/licensed: + +Copyright (c) 2002 Derek J. Balling + All rights reserved. + +Permission to use granted for all purposes. If modifications are made +they are requested to be sent to for inclusion in future +versions + +The Debian packaging is (C) 2007,2008 Scott Kitterman +and is licensed under the GPL version 2 or later. See above. + --- pymilter-milters-0.8.12+dfsg.orig/debian/compat +++ pymilter-milters-0.8.12+dfsg/debian/compat @@ -0,0 +1 @@ +5 --- pymilter-milters-0.8.12+dfsg.orig/debian/watch +++ pymilter-milters-0.8.12+dfsg/debian/watch @@ -0,0 +1,4 @@ +version=3 +opts=dversionmangle=s/+dfsg$// \ +http://sf.net/pymilter/milter-(.*).tar.gz debian uupdate + --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.lintian-overrides +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.lintian-overrides @@ -0,0 +1,4 @@ +# This package will not be rewritten in another language as being in Python is +# a core part of the package, so the language extension will not be a problem. +spf-milter-python: script-with-language-extension usr/bin/spfmilter.py + --- pymilter-milters-0.8.12+dfsg.orig/debian/changelog +++ pymilter-milters-0.8.12+dfsg/debian/changelog @@ -0,0 +1,81 @@ +pymilter-milters (0.8.12+dfsg-1) unstable; urgency=low + + * New upstream release + - Follow upstream split and move provided milters (now in a separate + milter tarball in the pymilter project) into a new source package + - Rename milter to pymilter-milters + - Update packaging for new source package name and drop pymilter bindings + - Add new python-milter-docs package for docs and sample milter + - Change VCS information to Python Applications Packaging Team from Debian + Python Modules Team + - Add new file ban2zone.py to the examples + - Drop removed files from examples (sample.py, testmime.py, testsample.py, + and testutils.py) + * Remove undistributable test/amazon file and repack tarball as + 0.8.12~dfsg + * Add ${misc:Depends} for spf-milter-python and python-milter-docs + * Fix debian/spf-setup.py to install the config file in /etc and drop + the bits in debian/rules that move it there + * Move contents of debian/spf-setup.py to a patch of the upstream dir + (debian/patches/add-setup.py.patch) and simplify debian/rules + - Fix shebang + - Fix to install the config file in /etc + * Add symlink from spfmilter.1 to spfmilter.py.1 so each file in + /usr/bin has a man page + * Add debian/spf-milter-python.lintian-overrides and adjust + debian/rules to install it + + -- Scott Kitterman Thu, 26 Feb 2009 14:41:18 -0500 + +pymilter (0.8.10-1) unstable; urgency=low + + * New upstream release + - Add new file temperror.txt to python-milter.examples + + -- Scott Kitterman Fri, 07 Nov 2008 23:38:35 -0500 + +pymilter (0.8.9-3) unstable; urgency=low + + * Bump standards version to 3.8.0.1 + - Add README.source + * Swtich to python-central + - Drop debian/pyversions and add XS/XB-Python-Version in debian/ + control + - Update debian/rules and build-dep in debian/control + * Move postfix/sendmail to suggests for python-milter and spf-milter-python + - MTA need not run on the same system as the milter + * Change priority to extra due to dependencies + * Simplify init process to make it more robust + + -- Scott Kitterman Wed, 23 Jul 2008 16:28:21 -0400 + +pymilter (0.8.9-2) unstable; urgency=low + + [ Piotr Ożarowski ] + * Rename XS-Vcs-* fields to Vcs-* (dpkg supports them now) + * Added "XS-DM-Upload-Allowed: yes" + + [ Sandro Tosi ] + * debian/control + - uniforming Vcs-Browser field + + [ Scott Kitterman ] + * Add binary package for the included spf-milter-python milter + - Add debian/spf-milter-python* files + - Add spf-milter-python binary to debian/control + - Add debian/spfsetup.py to set up spf-milter-python + - Adjust debian rules to build multiple binaries + - Add debian/patches/spfmilter-debian-config so spf-milter-python + works with package init script and has shebang + - Add spfmilter.1 and debian/spf-milter-python.manpages + * Bump standards version to 3.7.3 without further change + * Remove unneeded debian/docs file + * Change section of python-milter to python + + -- Scott Kitterman Thu, 01 May 2008 23:31:12 -0400 + +pymilter (0.8.9-1) unstable; urgency=low + + * Initial Debian package + + -- Scott Kitterman Tue, 25 Sep 2007 13:29:34 -0400 --- pymilter-milters-0.8.12+dfsg.orig/debian/rules +++ pymilter-milters-0.8.12+dfsg/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +DEB_PYTHON_SYSTEM=pycentral +DEB_COMPRESS_EXCLUDE := .py + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/python-distutils.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +install/spf-milter-python:: + python ./setup.py install --root $(CURDIR)/debian/spf-milter-python + cp $(CURDIR)/debian/spfmilter \ + $(CURDIR)/debian/spf-milter-python/usr/bin/ + install -D -p -m0644 debian/spf-milter-python.lintian-overrides \ + debian/spf-milter/python/usr/share/lintian/overrides/spf-milter-python + +clean:: + rm -rf build + --- pymilter-milters-0.8.12+dfsg.orig/debian/spfmilter +++ pymilter-milters-0.8.12+dfsg/debian/spfmilter @@ -0,0 +1,4 @@ +#! /bin/sh +exec /usr/bin/spfmilter.py & +echo $! >/var/run/spf-milter-python/spfmilter.pid + --- pymilter-milters-0.8.12+dfsg.orig/debian/python-milter-docs.examples +++ pymilter-milters-0.8.12+dfsg/debian/python-milter-docs.examples @@ -0,0 +1,18 @@ +ban2zone.py +bms.py +fail.txt +milter.cfg +milter.rc +milter.rc7 +neutral.txt +permerror.txt +quarantine.txt +rejects.py +report.py +rhsbl.m4 +softfail.txt +strike3.txt +temperror.txt +testbms.py +test.py +test/* --- pymilter-milters-0.8.12+dfsg.orig/debian/README.source +++ pymilter-milters-0.8.12+dfsg/debian/README.source @@ -0,0 +1,5 @@ +This package uses CDBS simple patchsys. dpkg-source -x does produce source +ready for building with dpkg-buildpackage. It does not procude source ready +for editing. To edit or update a patch, use cdbs-edit-patch. See man +cdbs-edit-patch for details. + --- pymilter-milters-0.8.12+dfsg.orig/debian/control +++ pymilter-milters-0.8.12+dfsg/debian/control @@ -0,0 +1,36 @@ +Source: pymilter-milters +Section: mail +Priority: extra +Maintainer: Scott Kitterman +Uploaders: Python Applications Packaging Team +Build-Depends: cdbs (>= 0.4.43), debhelper (>= 5.0.37.1), python-dev (>= 2.3.5-11), python-central (>= 0.6) +Standards-Version: 3.8.0.1 +XS-Python-Version: current +Homepage: http://sourceforge.net/projects/pymilter/ +Vcs-Svn: svn://svn.debian.org/python-apps/packages/pymilter-milters/trunk/ +Vcs-Browser: http://svn.debian.org/viewsvn/python-apps/packages/pymilter-milters/ +DM-Upload-Allowed: yes + +Package: python-milter-docs +Architecture: all +Section: doc +Depends: ${misc:Depends} +Suggests: www-browser +Description: Documentation and examples for Python Milter extensions + Python milter provides Python extensions for the Milter protocol + traditionally used by Sendmail and now also used by Postfix. + . + This packages provides documentation and a sample implementation of a complex + milter that includes multiple types of checks to catch spam. This an example, + not a packaged milter. + +Package: spf-milter-python +Architecture: all +XB-Python-Version: current +Depends: ${python:Depends}, ${misc:Depends}, python-milter, python-spf (>= 2.0), lsb-base, adduser +Suggests: postfix (>= 2.3) | sendmail (>= 8.13) +Description: RFC 4408 compliant Python SPF Milter for Sendmail and Postfix + A Python mail filter to add Received-SPF headers and reject forged mail. + Rejection policy is configured via sendmail access file. Updated for RFC 4408 + compliance. + --- pymilter-milters-0.8.12+dfsg.orig/debian/spf-milter-python.links +++ pymilter-milters-0.8.12+dfsg/debian/spf-milter-python.links @@ -0,0 +1 @@ +usr/share/man/man1/spfmilter.1 usr/share/man/man1/spfmilter.py.1 --- pymilter-milters-0.8.12+dfsg.orig/debian/patches/spfmilter-debian-config.patch +++ pymilter-milters-0.8.12+dfsg/debian/patches/spfmilter-debian-config.patch @@ -0,0 +1,53 @@ +diff -Nur -x '*.orig' -x '*~' pymilter-milters-0.8.12/spfmilter.cfg pymilter-milters-0.8.12.new/spfmilter.cfg +--- pymilter-milters-0.8.12/spfmilter.cfg 2007-07-25 15:04:44.000000000 -0400 ++++ pymilter-milters-0.8.12.new/spfmilter.cfg 2008-12-28 01:49:37.000000000 -0500 +@@ -1,6 +1,6 @@ + [milter] + # The socket used to communicate with sendmail +-socketname = /var/run/milter/spfmiltersock ++socketname = /var/run/spf-milter-python/spfmiltersock + # Name of the milter given to sendmail + name = pyspffilter + # Trusted relays such as secondary MXes that should not have SPF checked. +diff -Nur -x '*.orig' -x '*~' pymilter-milters-0.8.12/spfmilter.py pymilter-milters-0.8.12.new/spfmilter.py +--- pymilter-milters-0.8.12/spfmilter.py 2007-07-25 13:14:59.000000000 -0400 ++++ pymilter-milters-0.8.12.new/spfmilter.py 2008-12-28 01:49:37.000000000 -0500 +@@ -1,3 +1,4 @@ ++#!/usr/bin/python + # A simple SPF milter. + # You must install pyspf for this to work. + +@@ -8,6 +9,8 @@ + # This code is under GPL. See COPYING for details. + + import sys ++import os ++import os.path + import Milter + import spf + import syslog +@@ -238,16 +241,16 @@ + Milter.factory = spfMilter + Milter.set_flags(Milter.CHGHDRS + Milter.ADDHDRS) + global config +- config = read_config(['spfmilter.cfg','/etc/mail/spfmilter.cfg']) ++ config = read_config(['spfmilter.cfg','/etc/spf-milter-python/spfmilter.cfg']) + miltername = config.miltername + socketname = config.socketname +- print """To use this with sendmail, add the following to sendmail.cf: ++ ownpid = os.getpid() ++ if not os.path.isfile('/var/run/spf-milter-python/spfmilter.pid'): ++ pidfile = open('/var/run/spf-milter-python/spfmilter.pid',mode='w+',buffsize=-1) ++ pidfile.write(ownpid) ++ pidfile.flush() ++ pidfile.close() + +-O InputMailFilters=%s +-X%s, S=local:%s +- +-See the sendmail README for libmilter. +-sample spfmilter startup""" % (miltername,miltername,socketname) + sys.stdout.flush() + Milter.runmilter("pyspffilter",socketname,240) +- print "sample spfmilter shutdown" ++ --- pymilter-milters-0.8.12+dfsg.orig/debian/patches/add-setup.py.patch +++ pymilter-milters-0.8.12+dfsg/debian/patches/add-setup.py.patch @@ -0,0 +1,36 @@ +diff -Nur -x '*.orig' -x '*~' pymilter-milters-0.8.12/setup.py pymilter-milters-0.8.12.new/setup.py +--- pymilter-milters-0.8.12/setup.py 1969-12-31 19:00:00.000000000 -0500 ++++ pymilter-milters-0.8.12.new/setup.py 2008-12-28 01:52:19.000000000 -0500 +@@ -0,0 +1,32 @@ ++#!/usr/bin/python ++ ++from distutils.core import setup ++import os ++ ++DESC = """spf-milter-python SPF milter for Sendmail and Postfix implemented in Python.""" ++ ++setup(name='spf-milter-python', ++ version='0.8.12', ++ description=DESC, ++ author='Stuart D. Gathman', ++ author_email='stuart@bmsi.com', ++ url='http://sourceforge.net/projects/pymilter/', ++ license='GNU General Public License', ++ keywords = ['Sendmail','Postfix','spf','milter','email'], ++ scripts = ['spfmilter.py'], ++ data_files=[(os.path.join('../', 'etc', 'spf-milter-python'), ++ ['spfmilter.cfg'])], ++ classifiers = [ ++ 'Development Status :: 5 - Production/Stable', ++ 'Environment :: No Input/Output (Daemon)', ++ 'Intended Audience :: Developers', ++ 'License :: OSI Approved :: GNU General Public License (GPL)', ++ 'Natural Language :: English', ++ 'Operating System :: POSIX', ++ 'Programming Language :: Python', ++ 'Topic :: Communications :: Email :: Mail Transport Agents', ++ 'Topic :: Communications :: Email :: Filters', ++ 'Topic :: Software Development :: Libraries :: Python Applications' ++ ] ++) ++