diff options
author | dinoex <dinoex@FreeBSD.org> | 2004-01-05 17:51:18 +0000 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2004-01-05 17:51:18 +0000 |
commit | 09dbba97cce585766c43bd692ad4d310e7871963 (patch) | |
tree | b19e3aa90d9ff126670bb1acc0ad209e8ea2a53d /mail/antivirus-milter | |
parent | eb5760eaaea65c9173024fd539b4dea459e71c6a (diff) | |
download | FreeBSD-ports-09dbba97cce585766c43bd692ad4d310e7871963.zip FreeBSD-ports-09dbba97cce585766c43bd692ad4d310e7871963.tar.gz |
Sendmail milter wich uses Mcafee Virus Scan
The milter recives messages from sendmail, and saves them as a file in
a directory. The directory name and the file name are the "$i" (queue
identifier) from Sendmail, making it easier to identify them. Once the
entire message has been received, the milter runs "ripmime" on the file
to extract any attachments. If rupmime returns without an error then it
will run "uvscan" on the diretory to scan all the files in it. If uvscan
returns an error, then the milter will look for viruses output from
uvscan, and reject the message reporting which viruses were found. If
viruses were found then the entire directory is moved to quarantine,
otherwise it is deleted.
The milter also does extention checks. Certain extentions are blocked
completely. In specific, extenions of .scr, .vbs, .pif, and .com are
blocked.
Author gave permission to distribute it with BSD-License.
WWW: http://www.nmt.edu/~wcolburn/antivirus/
Diffstat (limited to 'mail/antivirus-milter')
-rw-r--r-- | mail/antivirus-milter/Makefile | 71 | ||||
-rw-r--r-- | mail/antivirus-milter/distinfo | 1 | ||||
-rw-r--r-- | mail/antivirus-milter/files/antivirus-milter.sh | 28 | ||||
-rw-r--r-- | mail/antivirus-milter/files/antivirus.conf | 11 | ||||
-rw-r--r-- | mail/antivirus-milter/files/patch-Makefile | 21 | ||||
-rw-r--r-- | mail/antivirus-milter/pkg-descr | 20 | ||||
-rw-r--r-- | mail/antivirus-milter/pkg-plist | 5 |
7 files changed, 157 insertions, 0 deletions
diff --git a/mail/antivirus-milter/Makefile b/mail/antivirus-milter/Makefile new file mode 100644 index 0000000..7dae7a4 --- /dev/null +++ b/mail/antivirus-milter/Makefile @@ -0,0 +1,71 @@ +# New ports collection makefile for: antivirus +# Date created: 02.Jan 2004 +# Whom: dirk.meyer@dinoex.sub.org +# +# $FreeBSD$ +# + +PORTNAME= antivirus +PORTVERSION= 3.30 +CATEGORIES= mail +MASTER_SITES= http://www.nmt.edu/~wcolburn/antivirus/ + +MAINTAINER= dinoex@FreeBSD.org +COMMENT= Sendmail milter wich uses Mcafee Virus Scan + +RUN_DEPENDS= ${LOCALBASE}/bin/ripmime:${PORTSDIR}/mail/ripmime +.if !defined(SENDMAIL_MILTER_IN_BASE) +BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:${PORTSDIR}/mail/sendmail +.endif + +USE_REINPLACE= yes +CFLAGS+= -Wall ${PTHREAD_CFLAGS:S=""==} +LIBS+= -lmilter ${PTHREAD_LIBS} +ANTIVIRUS_DIR?= /var/spool/antivirus +PLIST_SUB+= ANTIVIRUS=${ANTIVIRUS_DIR} +SED_SCRIPT= -e 's|%%ANTIVIRUS%%|${ANTIVIRUS_DIR}|g' \ + -e 's|%%PREFIX%%|${PREFIX}|g' +MAKE_ENV+= SENDMAILBASE="${SENDMAILBASE}" \ + SENDMAILOBJ="${SENDMAILOBJ}" \ + LIBS="${LIBS}" + +.if !defined(SENDMAIL_MILTER_IN_BASE) +CFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +SENDMAILBASE= ${LOCALBASE} +SENDMAILOBJ= ${LOCALBASE} +.else +SENDMAILBASE= /usr +SENDMAILOBJ= /usr +.endif + +.include <bsd.port.pre.mk> + +.if defined(SENDMAIL_WITHOUT_MILTER) +pre-fetch: + @${ECHO_MSG} + @${ECHO_MSG} You must unset variable SENDMAIL_WITHOUT_MILTER, + @${ECHO_MSG} and rebuild sendmail in the ports + @${FALSE} +.endif + +do-configure: + @${REINPLACE_CMD} -e 's|/etc/mail/antivirus.conf|${LOCALBASE}/etc/antivirus.conf|' \ + ${CONFIGURE_WRKSRC}/antivirus.c + @${SED} ${SED_SCRIPT} ${FILESDIR}/antivirus-milter.sh \ + > ${WRKSRC}/antivirus-milter.sh + @${SED} ${SED_SCRIPT} ${FILESDIR}/antivirus.conf \ + > ${WRKSRC}/antivirus.conf + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/antivirus \ + ${PREFIX}/libexec/antivirus + ${INSTALL_SCRIPT} ${WRKSRC}/antivirus-milter.sh \ + ${PREFIX}/etc/rc.d/antivirus-milter.sh.sample + ${INSTALL_DATA} ${WRKSRC}/antivirus.conf ${PREFIX}/etc/antivirus.conf-dist + ${MKDIR} /var/antivirus/spool /var/antivirus/run /var/antivirus/quarantine + ${CHOWN} -R nobody:nobody /var/antivirus/ + @${ECHO_MSG} "Add to your *.mc configfile:" + @${ECHO_MSG} "INPUT_MAIL_FILTER(\`antivirus', \`S=local:${ANTIVIRUS_DIR}/antivirus.sock, F=')" + +.include <bsd.port.post.mk> diff --git a/mail/antivirus-milter/distinfo b/mail/antivirus-milter/distinfo new file mode 100644 index 0000000..291f88a --- /dev/null +++ b/mail/antivirus-milter/distinfo @@ -0,0 +1 @@ +MD5 (antivirus-3.30.tar.gz) = 179c39d1fd4713e5075e0d916abcdf7b diff --git a/mail/antivirus-milter/files/antivirus-milter.sh b/mail/antivirus-milter/files/antivirus-milter.sh new file mode 100644 index 0000000..ae642dc --- /dev/null +++ b/mail/antivirus-milter/files/antivirus-milter.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# +# $FreeBSD$ +# +if ! test -x %%PREFIX%%/libexec/antivirus +then + exit 0 +fi +case "$1" in +start) + rm -f %%ANTIVIRUS%%/antivirus.sock %%ANTIVIRUS%%/run/antivirus.pid + %%PREFIX%%/libexec/antivirus -p local:%%ANTIVIRUS%%/antivirus.sock & + echo -n ' antivirus' + ;; +stop) + if test -r %%ANTIVIRUS%%/run/antivirus.pid + then + kill `head -1 %%ANTIVIRUS%%/run/antivirus.pid` + else + echo " antivirus: not running" 2>&1 + fi + rm -f %%ANTIVIRUS%%/run/antivirus.pid + ;; +*) + echo "Usage: ${0##*/}: { start | stop }" >&2 + exit 64 + ;; +esac diff --git a/mail/antivirus-milter/files/antivirus.conf b/mail/antivirus-milter/files/antivirus.conf new file mode 100644 index 0000000..e8275fc --- /dev/null +++ b/mail/antivirus-milter/files/antivirus.conf @@ -0,0 +1,11 @@ +HOMEDIR %%ANTIVIRUS%% +BASEDIR %%ANTIVIRUS%%/spool +AVSCANDIR /usr/local/bin +AVSCANNER /usr/local/bin/uvscan +QUARANTINE %%ANTIVIRUS%%/quarantine +UNPACKER /usr/local/bin/ripmime +SAFEUSER nobody +SAFEGROUP nobody +PIDFILE %%ANTIVIRUS%%/run/antivirus.pid +AVPRODUCT mcafee +AVFAILACTION tempfail diff --git a/mail/antivirus-milter/files/patch-Makefile b/mail/antivirus-milter/files/patch-Makefile new file mode 100644 index 0000000..3c54922 --- /dev/null +++ b/mail/antivirus-milter/files/patch-Makefile @@ -0,0 +1,21 @@ +--- Makefile.orig Fri Jun 27 19:55:26 2003 ++++ Makefile Fri Jan 2 14:21:02 2004 +@@ -1,5 +1,5 @@ +-SENDMAILBASE=/system/compile/sendmail-8.12.9 +-SENDMAILOBJ=obj.Linux.2.2.19.i686 ++#SENDMAILBASE=/system/compile/sendmail-8.12.9 ++#SENDMAILOBJ=obj.Linux.2.2.19.i686 + + INCDIRS=\ + -I$(SENDMAILBASE)/include/libmilter/ \ +@@ -10,8 +10,8 @@ + -L$(SENDMAILBASE)/$(SENDMAILOBJ)/libsm/ + + # Linux +-LIBS=-lmilter -lpthread +-CFLAGS=-Wall -Werror -g ++#LIBS=-lmilter -lpthread ++#CFLAGS=-Wall -Werror -g + + ## + ## Solaris diff --git a/mail/antivirus-milter/pkg-descr b/mail/antivirus-milter/pkg-descr new file mode 100644 index 0000000..d83c2be --- /dev/null +++ b/mail/antivirus-milter/pkg-descr @@ -0,0 +1,20 @@ +Sendmail milter wich uses Mcafee Virus Scan + +The milter recives messages from sendmail, and saves them as a file in +a directory. The directory name and the file name are the "$i" (queue +identifier) from Sendmail, making it easier to identify them. Once the +entire message has been received, the milter runs "ripmime" on the file +to extract any attachments. If rupmime returns without an error then it +will run "uvscan" on the diretory to scan all the files in it. If uvscan +returns an error, then the milter will look for viruses output from +uvscan, and reject the message reporting which viruses were found. If +viruses were found then the entire directory is moved to quarantine, +otherwise it is deleted. + +The milter also does extention checks. Certain extentions are blocked +completely. In specific, extenions of .scr, .vbs, .pif, and .com are +blocked. + +Author gave permission to distribute it with BSD-License. + +WWW: http://www.nmt.edu/~wcolburn/antivirus/ diff --git a/mail/antivirus-milter/pkg-plist b/mail/antivirus-milter/pkg-plist new file mode 100644 index 0000000..40508fc --- /dev/null +++ b/mail/antivirus-milter/pkg-plist @@ -0,0 +1,5 @@ +libexec/antivirus +etc/antivirus.conf-dist +etc/rc.d/antivirus-milter.sh.sample +@exec mkdir -p %%ANTIVIRUS%%/spool %%ANTIVIRUS%%/run %%ANTIVIRUS%%/run/quarantine +@exec chown -R nobody:nobody %%ANTIVIRUS%%/ |