From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Aug 12 06:40:16 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94EC416A4DE for ; Sat, 12 Aug 2006 06:40:16 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id B935043D4C for ; Sat, 12 Aug 2006 06:40:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k7C6eFkj077458 for ; Sat, 12 Aug 2006 06:40:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k7C6eFmJ077452; Sat, 12 Aug 2006 06:40:15 GMT (envelope-from gnats) Resent-Date: Sat, 12 Aug 2006 06:40:15 GMT Resent-Message-Id: <200608120640.k7C6eFmJ077452@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Milan Obuch Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B01FD16A4DD for ; Sat, 12 Aug 2006 06:38:49 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 57D2743D55 for ; Sat, 12 Aug 2006 06:38:49 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k7C6cmKB058394 for ; Sat, 12 Aug 2006 06:38:48 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k7C6cm5F058393; Sat, 12 Aug 2006 06:38:48 GMT (envelope-from nobody) Message-Id: <200608120638.k7C6cm5F058393@www.freebsd.org> Date: Sat, 12 Aug 2006 06:38:48 GMT From: Milan Obuch To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: ports/101862: [new port] courier-pythonfilter X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Aug 2006 06:40:16 -0000 >Number: 101862 >Category: ports >Synopsis: [new port] courier-pythonfilter >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: Sat Aug 12 06:40:15 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Milan Obuch >Release: 6.1-STABLE >Organization: >Environment: FreeBSD lex.dino.sk 6.1-STABLE FreeBSD 6.1-STABLE #2: Fri Jul 14 02:35:35 CEST 2006 root@lex.dino.sk:/usr/obj/usr/src/sys/LEX i386 >Description: Courier filtering framework in puthon >How-To-Repeat: >Fix: # 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: # # courier-pythonfilter/Makefile # courier-pythonfilter/distinfo # courier-pythonfilter/files # courier-pythonfilter/pkg-descr # courier-pythonfilter/pkg-plist # courier-pythonfilter/files/patch-filters::comeagain.py # courier-pythonfilter/files/patch-filters::dialback.py # courier-pythonfilter/files/patch-pythonfilter.conf # courier-pythonfilter/files/patch-setup.py # courier-pythonfilter/files/patch-whitelist_auth.py # echo x - courier-pythonfilter/Makefile sed 's/^X//' >courier-pythonfilter/Makefile << 'END-of-courier-pythonfilter/Makefile' X# New ports collection makefile for: courier-pythonfilter X# Date created: Jun 19, 2006 X# Whom: Milan Obuch X# X# $FreeBSD: ??? $ X# X XPORTNAME= courier-pythonfilter XPORTVERSION= 0.9 XCATEGORIES= mail python XMASTER_SITES= http://phantom.dragonsdawn.net/~gordon/courier-patches/courier-pythonfilter/ X XMAINTAINER= bsd@dino.sk XCOMMENT= Framework for courier filter development in python X XUSE_PYTHON= yes XUSE_PYDISTUTILS= yes X XBUILD_DEPENDS= courier-config:${PORTSDIR}/mail/courier X XMAILOWN= courier XMAILGRP= courier XMAILUID= 465 XMAILGID= 465 X Xpost-extract: X ${MV} ${WRKSRC}/filters/whitelist-auth.py ${WRKSRC}/filters/whitelist_auth.py X XLOCALSTATEDIR= /var/spool/courier XSCRIPTSDIR= ${PREFIX}/libexec/filters X Xpost-install: X ${MKDIR} ${LOCALSTATEDIR}/pythonfilter X ${CHOWN} ${MAILOWN}:${MAILGRP} ${LOCALSTATEDIR}/pythonfilter X X.include X XPYDISTUTILS_INSTALLARGS:= ${PYDISTUTILS_INSTALLARGS} --install-scripts=${SCRIPTSDIR} END-of-courier-pythonfilter/Makefile echo x - courier-pythonfilter/distinfo sed 's/^X//' >courier-pythonfilter/distinfo << 'END-of-courier-pythonfilter/distinfo' XMD5 (courier-pythonfilter-0.9.tar.gz) = 06d2c901ba6b700298da1c649d2788b9 XSHA256 (courier-pythonfilter-0.9.tar.gz) = 6840d63817ccae143f2c889d31e91f73a05966db350a7c5472e4859b278c84b3 XSIZE (courier-pythonfilter-0.9.tar.gz) = 27084 END-of-courier-pythonfilter/distinfo echo c - courier-pythonfilter/files mkdir -p courier-pythonfilter/files > /dev/null 2>&1 echo x - courier-pythonfilter/pkg-descr sed 's/^X//' >courier-pythonfilter/pkg-descr << 'END-of-courier-pythonfilter/pkg-descr' XCourier pythonfilter X Xpythonfilter is a framework for developing courierfilter programs in XPython. The pythonfilter program itself is a multi-threaded daemon Xthat loads filters as python modules and passes the control and data Xfiles from courier to each module in turn. X Xpythonfilter includes several modules that provide utility functions. XThese modules are found in the "courier" directory. The "config" Xmodule provides functions to access or interpret Courier's Xconfiguration settings. The "control" module provides functions Xto interpret Courier's control files. X Xpythonfilter is distributed under the GNU General Public License X(GPL), as described in the COPYING file. END-of-courier-pythonfilter/pkg-descr echo x - courier-pythonfilter/pkg-plist sed 's/^X//' >courier-pythonfilter/pkg-plist << 'END-of-courier-pythonfilter/pkg-plist' Xetc/pythonfilter.conf Xlibexec/filters/pythonfilter X%%PYTHON_SITELIBDIR%%/courier/__init__.py X%%PYTHON_SITELIBDIR%%/courier/__init__.pyc X%%PYTHON_SITELIBDIR%%/courier/__init__.pyo X%%PYTHON_SITELIBDIR%%/courier/config.py X%%PYTHON_SITELIBDIR%%/courier/config.pyc X%%PYTHON_SITELIBDIR%%/courier/config.pyo X%%PYTHON_SITELIBDIR%%/courier/control.py X%%PYTHON_SITELIBDIR%%/courier/control.pyc X%%PYTHON_SITELIBDIR%%/courier/control.pyo X%%PYTHON_SITELIBDIR%%/courier/xfilter.py X%%PYTHON_SITELIBDIR%%/courier/xfilter.pyc X%%PYTHON_SITELIBDIR%%/courier/xfilter.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/__init__.py X%%PYTHON_SITELIBDIR%%/pythonfilter/__init__.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/__init__.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/attachments.py X%%PYTHON_SITELIBDIR%%/pythonfilter/attachments.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/attachments.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/clamav.py X%%PYTHON_SITELIBDIR%%/pythonfilter/clamav.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/clamav.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/comeagain.py X%%PYTHON_SITELIBDIR%%/pythonfilter/comeagain.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/comeagain.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/debug.py X%%PYTHON_SITELIBDIR%%/pythonfilter/debug.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/debug.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/dialback.py X%%PYTHON_SITELIBDIR%%/pythonfilter/dialback.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/dialback.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/noduplicates.py X%%PYTHON_SITELIBDIR%%/pythonfilter/noduplicates.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/noduplicates.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/nosuccessdsn.py X%%PYTHON_SITELIBDIR%%/pythonfilter/nosuccessdsn.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/nosuccessdsn.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/ratelimit.py X%%PYTHON_SITELIBDIR%%/pythonfilter/ratelimit.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/ratelimit.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/spfcheck.py X%%PYTHON_SITELIBDIR%%/pythonfilter/spfcheck.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/spfcheck.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist_auth.py X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist_auth.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist_auth.pyo X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist.py X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist.pyc X%%PYTHON_SITELIBDIR%%/pythonfilter/whitelist.pyo X@dirrm %%PYTHON_SITELIBDIR%%/courier X@dirrm %%PYTHON_SITELIBDIR%%/pythonfilter END-of-courier-pythonfilter/pkg-plist echo x - courier-pythonfilter/files/patch-filters::comeagain.py sed 's/^X//' >courier-pythonfilter/files/patch-filters::comeagain.py << 'END-of-courier-pythonfilter/files/patch-filters::comeagain.py' X--- filters/comeagain.py.orig Mon Dec 13 09:26:13 2004 X+++ filters/comeagain.py Thu Jul 27 08:34:25 2006 X@@ -27,7 +27,7 @@ X X # Keep a dictionary of sender/recipient pairs that we've seen before X _sendersLock = thread.allocate_lock() X-_sendersDir = '/var/state/pythonfilter' X+_sendersDir = '/var/spool/courier/pythonfilter' X try: X _senders = anydbm.open(_sendersDir + '/correspondents', 'c') X except: END-of-courier-pythonfilter/files/patch-filters::comeagain.py echo x - courier-pythonfilter/files/patch-filters::dialback.py sed 's/^X//' >courier-pythonfilter/files/patch-filters::dialback.py << 'END-of-courier-pythonfilter/files/patch-filters::dialback.py' X--- filters/dialback.py.orig Sun Dec 26 00:01:02 2004 X+++ filters/dialback.py Thu Jul 27 08:33:13 2006 X@@ -32,7 +32,7 @@ X # Keep a dictionary of authenticated senders to avoid more work than X # required. X _sendersLock = thread.allocate_lock() X-_sendersDir = '/var/state/pythonfilter' X+_sendersDir = '/var/spool/courier/pythonfilter' X try: X _goodSenders = anydbm.open(_sendersDir + '/goodsenders', 'c') X _badSenders = anydbm.open(_sendersDir + '/badsenders', 'c') END-of-courier-pythonfilter/files/patch-filters::dialback.py echo x - courier-pythonfilter/files/patch-pythonfilter.conf sed 's/^X//' >courier-pythonfilter/files/patch-pythonfilter.conf << 'END-of-courier-pythonfilter/files/patch-pythonfilter.conf' X--- pythonfilter.conf.orig Thu Jul 27 07:44:46 2006 X+++ pythonfilter.conf Thu Jul 27 07:44:56 2006 X@@ -11,8 +11,8 @@ X # whitelist: exempts IP addresses for which you relay from further filtering. X whitelist X X-# whitelist-auth: exempts users who authenticate from further filtering. X-whitelist-auth X+# whitelist_auth: exempts users who authenticate from further filtering. X+whitelist_auth X X # spfcheck: checks the sender against SPF records. X # Requires: spf - http://www.wayforward.net/spf/ END-of-courier-pythonfilter/files/patch-pythonfilter.conf echo x - courier-pythonfilter/files/patch-setup.py sed 's/^X//' >courier-pythonfilter/files/patch-setup.py << 'END-of-courier-pythonfilter/files/patch-setup.py' X--- setup.py.orig Mon Mar 13 20:44:45 2006 X+++ setup.py Wed Jul 26 21:21:34 2006 X@@ -15,5 +15,5 @@ X scripts=['pythonfilter'], X packages=['courier', 'pythonfilter'], X package_dir = {'pythonfilter': 'filters'}, X- data_files=[('/etc/', ['pythonfilter.conf'])] X+ data_files=[('/usr/local/etc/', ['pythonfilter.conf'])] X ) END-of-courier-pythonfilter/files/patch-setup.py echo x - courier-pythonfilter/files/patch-whitelist_auth.py sed 's/^X//' >courier-pythonfilter/files/patch-whitelist_auth.py << 'END-of-courier-pythonfilter/files/patch-whitelist_auth.py' X--- filters/whitelist_auth.py.orig Sun Dec 26 00:01:02 2004 X+++ filters/whitelist_auth.py Thu Jul 27 07:46:24 2006 X@@ -1,5 +1,5 @@ X #!/usr/bin/python X-# whitelist-auth -- Courier filter which exempts authenticated users from filtering X+# whitelist_auth -- Courier filter which exempts authenticated users from filtering X # Copyright (C) 2004 Gordon Messmer X # X # This program is free software; you can redistribute it and/or modify X@@ -28,7 +28,7 @@ X _auth_regex = re.compile(r'\(AUTH: \w* \w*([^)]*)\)\s*by %s' % _hostname) X X # Record in the system log that this filter was initialized. X-sys.stderr.write('Initialized the "whitelist-auth" python filter\n') X+sys.stderr.write('Initialized the "whitelist_auth" python filter\n') X X X def checkHeader(header): X@@ -105,6 +105,6 @@ X # is whitelisted, or nothing to indicate that the remaining X # filters would be run. X if not sys.argv[1:]: X- print 'Use: whitelist-auth.py ' X+ print 'Use: whitelist_auth.py ' X sys.exit(1) X print doFilter(sys.argv[1], []) END-of-courier-pythonfilter/files/patch-whitelist_auth.py exit >Release-Note: >Audit-Trail: >Unformatted: