Date: Fri, 11 Feb 2005 14:22:11 +0500 From: SeaD <sead@mail.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: sead@mail.ru Subject: ports/77380: new port: mail/clamfilter - small efficient clamav filter for Postfix Message-ID: <E1CzX07-000EDp-BG@newcom.perm.ws> Resent-Message-ID: <200502110930.j1B9UHFB080206@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 77380 >Category: ports >Synopsis: new port: mail/clamfilter - small efficient clamav filter for Postfix >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: Fri Feb 11 09:30:17 GMT 2005 >Closed-Date: >Last-Modified: >Originator: SeaD >Release: FreeBSD 5.2.1-RELEASE-p13 i386 >Organization: none >Environment: System: FreeBSD newcom.perm.ws 5.2.1-RELEASE-p13 FreeBSD 5.2.1-RELEASE-p13 #2: Mon Jan 17 19:04:49 YEKT 2005 sead@newcom.perm.ws:/usr/obj/usr/src/sys/KNEWCOM i386 >Description: This is a small, efficient clamav content filter for Postfix >How-To-Repeat: >Fix: --- clamfilter.shar begins here --- # 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: # # /usr/ports/mail/clamfilter/ # /usr/ports/mail/clamfilter/Makefile # /usr/ports/mail/clamfilter/distinfo # /usr/ports/mail/clamfilter/pkg-descr # /usr/ports/mail/clamfilter/pkg-plist # /usr/ports/mail/clamfilter/files # /usr/ports/mail/clamfilter/files/patch-ab # /usr/ports/mail/clamfilter/files/patch-aa # echo c - /usr/ports/mail/clamfilter/ mkdir -p /usr/ports/mail/clamfilter/ > /dev/null 2>&1 echo x - /usr/ports/mail/clamfilter/Makefile sed 's/^X//' >/usr/ports/mail/clamfilter/Makefile << 'END-of-/usr/ports/mail/clamfilter/Makefile' X# New ports collection makefile for: clamfilter X# Date created: 11 Feb 2005 X# Whom: SeaD X# X# $FreeBSD$ X# X XPORTNAME= clamfilter XPORTVERSION= 0.5 XCATEGORIES= mail XMASTER_SITES= http://www.ensita.net/products/clamfilter/ X XMAINTAINER= sead@mail.ru XCOMMENT= This is a small, efficient clamav content filter for Postfix X Xpost-install: X @${ECHO} "======================================================================" X @${ECHO} " Edit master.cf and put there:" X @${ECHO} " filter unix - n n - - pipe flags=R user=postfix \\" X @${ECHO} " argv=${PREFIX}/bin/clamfilter -F admin@domain.com \\" X @${ECHO} " -f \$${sender} -- \$${recipient}" X @${ECHO} " And add the content_filter option to smtpd binary:" X @${ECHO} " smtp inet n - n - - smtpd -o content_filter=filter:dummy" X @${ECHO} " Restart Postfix." X @${ECHO} "======================================================================" X X.include <bsd.port.mk> END-of-/usr/ports/mail/clamfilter/Makefile echo x - /usr/ports/mail/clamfilter/distinfo sed 's/^X//' >/usr/ports/mail/clamfilter/distinfo << 'END-of-/usr/ports/mail/clamfilter/distinfo' XMD5 (clamfilter-0.5.tar.gz) = 27047253d5eda132f93d276a31798e08 XSIZE (clamfilter-0.5.tar.gz) = 13975 END-of-/usr/ports/mail/clamfilter/distinfo echo x - /usr/ports/mail/clamfilter/pkg-descr sed 's/^X//' >/usr/ports/mail/clamfilter/pkg-descr << 'END-of-/usr/ports/mail/clamfilter/pkg-descr' XThis is a small, efficient clamav content filter for Postfix. What is does Xis just a content filtering of messages passing via Postfix MTA thru clamav. X XThis version will fork and run clamdscan binary. Next version will connect Xto clamd directly via libclamav. X XClamfilter was designed to be the only content filter in Postfix installation, Xand this is why this software appeared. All other content filters for Postfix Xare designed to be flexible; clamfilter is not. It is just designed to perform Xa single task - filtering thru clamav. X XAuthor Egor Egorov <egor@ensita.net> XWWW: http://www.ensita.net/products/clamfilter/ END-of-/usr/ports/mail/clamfilter/pkg-descr echo x - /usr/ports/mail/clamfilter/pkg-plist sed 's/^X//' >/usr/ports/mail/clamfilter/pkg-plist << 'END-of-/usr/ports/mail/clamfilter/pkg-plist' Xbin/clamfilter END-of-/usr/ports/mail/clamfilter/pkg-plist echo c - /usr/ports/mail/clamfilter/files mkdir -p /usr/ports/mail/clamfilter/files > /dev/null 2>&1 echo x - /usr/ports/mail/clamfilter/files/patch-ab sed 's/^X//' >/usr/ports/mail/clamfilter/files/patch-ab << 'END-of-/usr/ports/mail/clamfilter/files/patch-ab' X--- clamfilter.c.orig Thu Dec 2 23:50:42 2004 X+++ clamfilter.c Fri Feb 11 13:44:35 2005 X@@ -11,6 +11,7 @@ X #include <sys/wait.h> X #include <unistd.h> X #include <stdlib.h> X+#include <stdio.h> X #include <syslog.h> X #include <stdarg.h> X #include <errno.h> X@@ -63,7 +64,7 @@ X //skip header, move to header content X *result += strlen(header); X //search for header content end X- if (!(tmp = strstr(*result,"\n"))) X+ if (!(tmp = (char *) strstr(*result,"\n"))) X { X //not found - all header X tmp = *result+strlen(*result); X@@ -77,7 +78,7 @@ X //skip header, move to header content X *result += strlen(header); X //search for header content end X- if (!(tmp = strstr(*result,"\n"))) X+ if (!(tmp = (char *) strstr(*result,"\n"))) X { X //not found - all header X tmp = *result+strlen(*result); X@@ -291,7 +292,7 @@ X int readfd,writefd; X int status; X char buffer[102401]; X- int size; X+ int size, res; X X if (pipe(childread)) { X syslog(LOG_MAIL|LOG_ERR, "check_file: " \ X@@ -314,7 +315,7 @@ X dup2(open("/dev/null","w"),2); X dup2(readfd,0); X dup2(open("/dev/null","w"),1); X- int res=execl(CLAMDSCAN, CLAMDSCAN, "--quiet", temporalfile, NULL); X+ res=execl(CLAMDSCAN, CLAMDSCAN, "--quiet", temporalfile, NULL); X syslog(LOG_MAIL|LOG_ERR, "check_file: " \ X "child: cannot exec, return code %d", res); X return(EX_TEMPFAIL); X@@ -339,8 +340,8 @@ X } X X X-void read_args(int argc, char** argv, const char** returnpath, X- const char** receipent, const char ** fromemail) { X+void read_args(int argc, char** argv, char** returnpath, X+ char** receipent, char ** fromemail) { X int opt, i, j; int restlen; X X while(-1 != (opt = getopt(argc, argv, "f:F:D"))) { X@@ -433,9 +434,9 @@ X int exitcode = 0; X int len = 0; X int virusresult = 0; X- const char *returnpath = NULL; X- const char *receipent = NULL; X- const char *fromemail = NULL; X+ char *returnpath = NULL; X+ char *receipent = NULL; X+ char *fromemail = NULL; X X read_args(argc, argv, &returnpath, &receipent, &fromemail); X END-of-/usr/ports/mail/clamfilter/files/patch-ab echo x - /usr/ports/mail/clamfilter/files/patch-aa sed 's/^X//' >/usr/ports/mail/clamfilter/files/patch-aa << 'END-of-/usr/ports/mail/clamfilter/files/patch-aa' X--- Makefile.orig Thu Dec 2 23:50:42 2004 X+++ Makefile Mon Feb 7 21:27:15 2005 X@@ -1,7 +1,7 @@ X # clamfilter makefile X # $Id: Makefile,v 1.4 2004/12/02 18:50:28 egor Exp $ X X-PREFIX=/usr/ X+PREFIX=/usr/local/ X VERSION=0.5 X X all: clamfilter END-of-/usr/ports/mail/clamfilter/files/patch-aa exit --- clamfilter.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1CzX07-000EDp-BG>