- Update to 4.50.15

- OPTIONSify
- Use USE_RC_SUBR

Change Log:
- Speed increased significantly! Caches SpamAssassin results.
   Note you need to run my install.sh script to get the new modules required.
- If "Virus Scanners = auto" (ie. the installed default value) then it
   searches for and uses every available installed virus scanner.
- Added SpamAssassin cache analyser (analyse_SpamAssassin_cache) to the
   distributions. 99% written by Steve Freegard of MailWatch fame.
- Upgraded ClamAV+SA bundle to ClamAV 0.88.
- Added default headers that Thunderbird 1.5 will use to automatically
   identify spam based on SpamAssassin's spam headers.
- Added UU-decoder to automatically extract files from attachments that were
   stored in uu-encoded form. This behaves similarly to the zip and rar
   decoders. The virus scanners should check inside these files for themselves
   anyway, but this assists them when they do not. It also allows for filename
   and filetype checking of files stored in uu-encoded attachments.
- Added configuration option "Find UU-Encoded Files" to set whether uu-encoded
   files are decoded or not. These files are very rarely used, and the
   overhead of finding them is fairly large as it involves reading all
   existing attachments looking for the signature of them. So the default is
   to not look for them. A ruleset can be used to protect particularly
   vulnerable recipients or senders.
- You can now start up MailScanner without changing MailScanner.conf at all.
   It will auto-detect SpamAssassin and all available virus scanners.
- Changed default setting to "Use SpamAssassin = yes" and now auto- detect
   installation of SpamAssassin, logging installation instructions if
   it is not already installed and working.
- Added DBI and DBD::SQLite Perl modules. Please use my install.sh scripts
   when you upgrade or install this version.
- Added American spelling of "analyze_SpamAssassin_cache" as well as English
   spelling of "analyse_SpamAssassin_cache".
- DBI installation is forced in RPM distributions.
- Improved RPM installer to handle DBI module dependencies better. It now
   installs cleanly on the systems I have tested it on. These include Fedora
   Core 3, Fedora Core 4, SuSE 9.3, SuSE 10, RedHat Enterprise 4.
- Made log warnings more obvious when DBI/DBD::SQLite/Digest::MD5 are not
   all installed properly.
- Improved comments about "Allow Filenames" and "Allow Filetypes" in
   MailScanner.conf.
- Improvement to F-Prot output parser to handle new strings.
- Changed filename/type traps to account for new vulnerability in TNEF files.
- Adapted trend-autoupdate for 2006 onwards.
- --help implemented so you can see how to use it now.
- --debug now written. Works just like "Debug = yes" in MailScanner.conf.
- --debug-sa now written. Works just like "Debug SpamAssassin = yes".
- --check ruleset-checker now written. Takes max 1 from address, multiple to
   addresses, client IP address and virus name.
- Added a new command-line parameter "--lint" to verify the config file.
- --lint now prints what virus scanners you have chosen to use, and what
- --lint now checks SpamAssassin configuration too.
   scanners it can find installed.
- Added hi-res timing so the batch speed timings are now displayed to
   micro-second accuracy.
- Added Time::HiRes to the list of required modules. You must use ./ install.sh
   to upgrade to, or install, this version in order to get the new module.
   Time taken to process the entire batch is logged, and time taken to do
   "Always Looked Up Last" is logged separately if it is being used at all.
- Added check that MailScanner.conf has at least been customised to set the
   organisation name, long name and web site.
- Added "SpamAssassin Cache Timings" configuration option for the few people
   who need to adjust these settings. Do *not* change it unless you really
   know what you are doing, the default settings will work nicely.
- Updated important perl modules.
- Removed duplicate logging of warnings about infected messages.
- Added detection of no virus scanners being installed, giving the user
   advice about how to install ClamAV using my easy-installation package.
- Improved ClamAV+SA easy-installation package so that it automatically
   enables the updates by commenting out the "Example" lines.
- Changed default Lock Type for sendmail to "posix" instead of "flock" as
   new Linux systems (the most popular platform by far) run sendmail
   8.13 or later, which requires this to be "posix".
- Upgraded Sys::Hostname::Long and HTML::Parser in ClamAV+SA package.
- Disabled movie format "deny" rules in filetype.rules.conf and have enabled
   filetype checking by default.
- Updated man pages.
- Updated AVG parser to handle latest version 7.1.
- Added "Always Looked Up Last After Batch" which is looked up after the
   "Always Looked Up Last" option. The 2nd of those is looked up once for
   each message, the "...After Batch" value is looked up once for the
   entire batch. It is only intended for use with a Custom Function, its
   value is ignored.

* Fixes *
- Improved reliability of Bayes rebuilds a lot.
- Force installation of DBI as previous versions cause problems.
- Removed broken patch I was given, which was temporarily in 4.50.
- Packaging bug in 4.50.9-1 fixed. MailTools version typo.
- Fixed bug where temporary files were not cleaned up properly.
- Fixed missing HTML-Parser 3.48 package.

PR:		ports/93026
Submitted by:	maintainer
This commit is contained in:
Renato Botelho 2006-02-15 10:47:00 +00:00
parent 9c896d58a7
commit 738a3babab
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=156109
12 changed files with 14438 additions and 476 deletions

View File

@ -6,7 +6,7 @@
#
PORTNAME= MailScanner
PORTVERSION= 4.49.7
PORTVERSION= 4.50.15
CATEGORIES= mail
MASTER_SITES= http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/tar/
DISTNAME= ${PORTNAME}-install-${PORTVERSION}-${PATCHLEVEL}
@ -29,17 +29,23 @@ BUILD_DEPENDS= \
${SITE_PERL}/Net/CIDR.pm:${PORTSDIR}/net-mgmt/p5-Net-CIDR \
${SITE_PERL}/Net/Ident.pm:${PORTSDIR}/net/p5-Net-Ident \
${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
${SITE_PERL}/${PERL_ARCH}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-Compress-Zlib
${SITE_PERL}/${PERL_ARCH}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-Compress-Zlib \
${SITE_PERL}/${PERL_ARCH}/DBD/SQLite.pm:${PORTSDIR}/databases/p5-DBD-SQLite \
${SITE_PERL}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI \
${SITE_PERL}/Getopt/Long.pm:${PORTSDIR}/devel/p5-Getopt-Long \
${SITE_PERL}/${PERL_ARCH}/Storable.pm:${PORTSDIR}/devel/p5-Storable \
${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
${SITE_PERL}/Time/Zone.pm:${PORTSDIR}/devel/p5-TimeDate
RUN_DEPENDS= ${BUILD_DEPENDS} \
${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash2 \
${LOCALBASE}/bin/tnef:${PORTSDIR}/converters/tnef \
${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget \
${LOCALBASE}/bin/unzip:${PORTSDIR}/archivers/unzip \
${LOCALBASE}/bin/unrar:${PORTSDIR}/archivers/unrar \
${LOCALBASE}/bin/zoo:${PORTSDIR}/archivers/zoo \
${LOCALBASE}/bin/unarj:${PORTSDIR}/archivers/unarj \
${LOCALBASE}/bin/unace:${PORTSDIR}/archivers/unace \
${LOCALBASE}/bin/lha:${PORTSDIR}/archivers/lha
${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget
OPTIONS= SPAMASSASSIN "Install SpamAssassin" on \
CLAMAV "Install ClamAV" on \
CLAMAVMODULE "Install ClamAV Module" off \
BDC "Install BitDefender" off
CONFLICTS= MailScanner-devel-[0-9]*
@ -57,6 +63,45 @@ MLINKS= MailScanner.8 mailscanner.8 \
.include <bsd.port.pre.mk>
.if defined(WITH_SPAMASSASSIN)
RUN_DEPENDS+= spamassassin:${PORTSDIR}/mail/p5-Mail-SpamAssassin
PLIST_SUB+= SPAMASSASSIN=""
.else
PLIST_SUB+= SPAMASSASSIN="@comment "
.endif
# backwards compatibility
.if defined(NO_SPAMASSASSIN_SYMLINK)
WITHOUT_SPAMASSASSIN_SYMLINK=${NO_SPAMASSASSIN_SYMLINK}
.endif
.if defined(WITHOUT_SPAMASSASSIN_SYMLINK)
PLIST_SUB+= SPAMASSASSIN_SYMLINK="@comment "
.else
PLIST_SUB+= SPAMASSASSIN_SYMLINK=""
.endif
.if defined(WITH_CLAMAV)
RUN_DEPENDS+= clamscan:${PORTSDIR}/security/clamav
.endif
.if defined(WITH_CLAMAVMODULE)
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Mail/ClamAV.pm:${PORTSDIR}/mail/p5-Mail-ClamAV
.endif
.if defined(WITH_CLAMAV)||defined(WITH_CLAMAVMODULE)
RUN_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip \
unrar:${PORTSDIR}/archivers/unrar \
zoo:${PORTSDIR}/archivers/zoo \
unarj:${PORTSDIR}/archivers/unarj \
unace:${PORTSDIR}/archivers/unace \
lha:${PORTSDIR}/archivers/lha
.endif
.if defined(WITH_BDC)
RUN_DEPENDS+= bdc:${PORTSDIR}/security/bdc
.endif
DOC_FILES= INSTALL INSTALL.FreeBSD INSTALL.OpenBSD README
ETC_FILES= MailScanner.conf filename.rules.conf \
filetype.rules.conf spam.assassin.prefs.conf \
@ -71,6 +116,8 @@ USRLOCAL_FILES_LIB= \
nod32-autoupdate rav-autoupdate \
rav-wrapper sophos-autoupdate
USE_RC_SUBR= mailscanner.sh mta.sh
post-extract:
cd ${WRKSRC} && ${TAR} xvzf perl-tar/MailScanner-${PORTVERSION}-${PATCHLEVEL}.tar.gz > /dev/null && ${MV} MailScanner-${PORTVERSION}/* .
@ -172,13 +219,7 @@ do-install:
cd ${WRKSRC}/lib/MailScanner && ${FIND} * -type f ! -name "*.orig" -exec \
${INSTALL_SCRIPT} {} ${PREFIX}/lib/MailScanner/MailScanner/{} \;
#
# Step 5: Install Start/Stop scripts
#
${INSTALL_SCRIPT} ${FILESDIR}/mailscanner.sh \
${PREFIX}/etc/rc.d/mailscanner.sh.sample
${INSTALL_SCRIPT} ${FILESDIR}/mta.sh ${PREFIX}/etc/rc.d/mta.sh.sample
#
# Step 6: Docs & Manpages
# Step 5: Docs & Manpages
#
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
@ -235,30 +276,31 @@ do-install:
done
@${CAT} ${PKGMESSAGE}
.if !defined(NO_SPAMASSASSIN_SYMLINK)
post-install:
@if [ -d ${PREFIX}/etc/mail/spamassassin ]; then \
if [ ! -r ${PREFIX}/etc/mail/spamassassin/mailscanner.cf ]; then \
if [ ! -r ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf ]; then \
${CP} ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf.sample ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf; \
fi; \
${ECHO} ${LN} -s ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf ${PREFIX}/etc/mail/spamassassin/mailscanner.cf; \
${LN} -s ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf ${PREFIX}/etc/mail/spamassassin/mailscanner.cf; \
else \
${ECHO} "File ${PREFIX}/etc/mail/spamassassin/mailscanner.cf already exists!"; \
fi; \
fi
.if defined(WITH_SPAMASSASSIN) && !defined(WITHOUT_SPAMASSASSIN_SYMLINK)
@if [ ! -r ${PREFIX}/etc/mail/spamassassin/mailscanner.cf ]; then \
${ECHO} ${LN} -s ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf ${PREFIX}/etc/mail/spamassassin/mailscanner.cf; \
${LN} -s ${PREFIX}/etc/MailScanner/spam.assassin.prefs.conf ${PREFIX}/etc/mail/spamassassin/mailscanner.cf; \
else \
${ECHO} "File ${PREFIX}/etc/mail/spamassassin/mailscanner.cf already exists!"; \
fi;
.endif
# Display warning about new start/stop scripts
@${CAT} ${FILESDIR}/rcwarning.txt
.if !defined(BATCH)
@${ECHO} Press ENTER to continue...
@read a
.endif
renew-wrapper: install
renew-wrapper: configure
# Renew virus wrapper scripts
${INSTALL_SCRIPT} ${WRKSRC}/lib/*-wrapper ${PREFIX}/libexec/MailScanner
renew-autoupdate: install
renew-autoupdate: configure
# Renew autoupdate scripts
${INSTALL_SCRIPT} ${WRKSRC}/lib/*-autoupdate ${PREFIX}/libexec/MailScanner
renew-reports: install
renew-reports: configure
# Renew reports
cd ${WRKSRC}/etc/reports/en && ${FIND} * -type f ! -name "*.orig" \
-exec ${INSTALL_DATA} {} ${DATADIR}/reports/en/{} \;

View File

@ -1,3 +1,2 @@
MD5 (MailScanner-install-4.49.7-1.tar.gz) = 34346abc70d8e6dbe6727e1c9b15e672
SHA256 (MailScanner-install-4.49.7-1.tar.gz) = d111139d04375945595979320ed5becabd634935e70da00841824b11cda2d708
SIZE (MailScanner-install-4.49.7-1.tar.gz) = 5475235
MD5 (MailScanner-install-4.50.15-1.tar.gz) = ae3e66568abf465b8a5a34db7011d72b
SIZE (MailScanner-install-4.50.15-1.tar.gz) = 6542222

View File

@ -1,55 +0,0 @@
#!/bin/sh
msbindir=/usr/local/libexec/MailScanner
process=MailScanner
config=/usr/local/etc/MailScanner/MailScanner.conf
PIDFILE=/var/run/MailScanner.pid
start_ms()
{
pid=`ps -axww |
grep '[ ]'$msbindir/$process |
awk '{print $1}'`
if [ "x$pid" = "x" ]; then
# Quietly try to raise the open_files limit
ulimit -n 2000 >/dev/null 2>&1
# Restart it
PATH=${msbindir}:$PATH
echo Starting MailScanner...
cd $msbindir
$process $config
else
echo MailScanner running with pid $pid
fi
}
stop_ms()
{
echo Stopping MailScanner...
kill -TERM -- -`cat $PIDFILE` 2>/dev/null
sleep 5
}
_action=${1:-start}
case ${_action} in
start)
start_ms
;;
stop)
stop_ms
;;
restart)
stop_ms
start_ms
;;
*)
echo "Usage: `basename $0` {start|stop|restart}" >&2
exit 64
;;
esac
exit 0

View File

@ -0,0 +1,41 @@
#! /bin/sh
# PROVIDE: mailscanner
# REQUIRE: mta
# KEYWORD: FreeBSD shutdown
#
# Add the following lines to /etc/rc.conf to enable mailscanner:
# mailscanner_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable mailscanner
# mailscanner_configfile (path): Set to "%%PREFIX%%/etc/MailScanner/MailScanner.conf" by default.
# mailscanner_pidfile (path): Set to "/var/run/MailScanner.pid" by default.
#
. %%RC_SUBR%%
name="mailscanner"
rcvar=`set_rcvar`
load_rc_config $name
: ${mailscanner_enable="NO"}
: ${mailscanner_configfile="%%PREFIX%%/etc/MailScanner/MailScanner.conf"}
: ${mailscanner_pidfile="/var/run/MailScanner.pid"}
command="%%PREFIX%%/libexec/MailScanner/MailScanner"
pidfile=${mailscanner_pidfile}
command_args="${mailscanner_configfile}"
required_files="${mailscanner_configfile}"
_ms_start_precmd() {
# Quietly try to raise the open_files limit
#
ulimit -n 2000 >/dev/null 2>&1
}
start_precmd=_ms_start_precmd
run_rc_command "$1"

View File

@ -1,117 +0,0 @@
#!/bin/sh
outgoing_queue_time=15m
mta=sendmail
case "$mta" in
exim)
program=/usr/local/sbin/exim
if [ -f /usr/local/etc/exim/configure.in ]; then
incoming_config=/usr/local/etc/exim/configure.in
else
incoming_config=/usr/local/etc/exim/configure
fi
outgoing_config=/usr/local/etc/exim/configure.out
inpidfile=/var/run/exim_in.pid
outpidfile=/var/run/exim_out.pid
subpidfile=
incoming_args="-C ${incoming_config} -oP ${inpidfile} -bd"
outgoing_args="-C ${outgoing_config} -oP ${outpidfile} -q${outgoing_queue_time}"
submitqueue_args=
;;
sendmail)
program=/usr/sbin/sendmail
incoming_queue=/var/spool/mqueue.in
submit_queue_time=${outgoing_queue_time}
inpidfile=/var/run/sendmail_in.pid
outpidfile=/var/run/sendmail_out.pid
subpidfile=/var/spool/clientmqueue/sm-client.pid
incoming_args="-L sm-mta-in -bd \
-OPrivacyOptions=noetrn \
-OQueueDirectory=${incoming_queue} \
-ODeliveryMode=queueonly \
-OPidFile=${inpidfile}"
outgoing_args="-L sm-mta-out -q${outgoing_queue_time} \
-OPidFile=${outpidfile}"
submitqueue_args="-L sm-msp-queue -Ac -q${submit_queue_time} \
-OPidFile=${subpidfile}"
;;
*)
echo "ERROR: I don't know the MTA '$mta'. Check your settings." >&2
exit 2
;;
esac
start_mta()
{
echo -n " `basename ${program}`(incoming)"
${program} ${incoming_args}
echo -n " `basename ${program}`(outgoing)"
${program} ${outgoing_args}
}
start_mspq ()
{
if [ "${submitqueue_args}" ]; then
echo -n " `basename ${program}`(submitqueue)"
${program} ${submitqueue_args}
fi
}
stop_mta()
{
echo "Stopping `basename ${program}` (incoming)"
kill -TERM `head -1 ${inpidfile}` 2>/dev/null
echo "Stopping `basename ${program}` (outgoing)"
kill -TERM `head -1 ${outpidfile}` 2>/dev/null
}
stop_mspq ()
{
if [ "${submitqueue_args}" ]; then
echo "Stopping `basename ${program}` (submitqueue)"
kill -TERM `head -1 ${subpidfile}` 2>/dev/null
fi
}
_action=${1:-start}
case ${_action} in
start)
start_mta
start_mspq
;;
stop)
stop_mta
stop_mspq
;;
restart)
stop_mta
stop_mspq
sleep 5
start_mta
start_mspq
;;
*)
echo "Usage: `basename $0` {start|stop|restart}" >&2
exit 64
;;
esac
exit 0

View File

@ -0,0 +1,142 @@
#!/bin/sh
#
# mta.sh - start multiple MTA instances, e.g. for MailScanner
# PROVIDE: mta
# REQUIRE: LOGIN cleanvar
# BEFORE:
# KEYWORD: FreeBSD shutdown
#
# Add the following lines to /etc/rc.conf to enable mta at boot-up time:
# mta_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable mta
# mta_type (str): Type of MTA (sendmail, exim, unknown), defaults to "sendmail"
# mta_profiles (string): Undefined by default. Define your profiles here.
# mta_flags (str): Set to "" by default.
# Extra flags passed to start command.
# mta_program (str): Path to program, defaults depending on $mta_type
# either to "/usr/sbin/sendmail" or "/usr/local/sbin/exim"
# mta_configfile (str): Config file, defaults depending on $mta_type either
# to "/etc/mail/sendmail.cf" or "/usr/local/etc/exim/configure"
# mta_pidfile (str): PID file, defaults depending on $mta_type either
# to "/var/run/sendmail.pid" or "/var/run/exim.pid"
#
#
# Examples:
#
# Exim, 2 instances (for MailScanner):
#
# mta_enable="YES"
# mta_type="exim"
# mta_profiles="incoming outgoing"
# mta_incoming_configfile="/usr/local/etc/exim/configure.in"
# mta_incoming_flags="-bd"
# mta_incoming_pidfile="/var/run/exim_in.pid"
# mta_outgoing_configfile="/usr/local/etc/exim/configure.out"
# mta_outgoing_flags="-q15m"
# mta_outgoing_pidfile="/var/run/exim_out.pid"
#
# Sendmail, 3 instances (for MailScanner):
#
# mta_enable="YES"
# mta_type="sendmail"
# mta_profiles="incoming outgoing submitqueue"
# mta_incoming_flags="-L sm-mta-in -bd -OPrivacyOptions=noetrn -OQueueDirectory=/var/spool/mqueue.in -ODeliveryMode=queueonly"
# mta_incoming_pidfile="/var/run/sendmail_in.pid"
# mta_outgoing_flags="-L sm-mta-out -q15m"
# mta_outgoing_pidfile="/var/run/sendmail_out.pid"
# mta_submitqueue_flags="-L sm-msp-queue -Ac -q15m"
# mta_submitqueue_pidfile="/var/spool/clientmqueue/sm-client.pid"
#
. %%RC_SUBR%%
name="mta"
rcvar=`set_rcvar`
load_rc_config $name
: ${mta_enable="NO"}
: ${mta_type="sendmail"}
: ${mta_flags=""}
case "${mta_type}" in
sendmail)
_mta_program="/usr/sbin/sendmail"
_mta_configfile="/etc/mail/sendmail.cf"
_mta_pidfile="/var/run/sendmail.pid"
;;
exim)
_mta_program="/usr/local/sbin/exim"
_mta_configfile="/usr/local/etc/exim/configure"
_mta_pidfile="/var/run/exim.pid"
;;
esac
: ${mta_program=${_mta_program}}
: ${mta_configfile=${_mta_configfile}}
: ${mta_pidfile=${_mta_pidfile}}
# support SIGHUP to reparse configuration file
extra_commands="reload"
# command and arguments
command="${mta_program}"
if [ -n "${2}" -o -n "$profile" ]; then
profile=${profile-$2}
export profile
if [ "x${mta_profiles}" != "x" ]; then
eval mta_configfile=\${mta_${profile}_configfile}
[ "x${mta_configfile}" = "x" ] && {
echo "You must define a configuration file (mta_${profile}_configfile)"
exit 1
}
eval mta_enable=\${mta_${profile}_enable:-YES}
eval mta_flags=\${mta_${profile}_flags:-${mta_flags}}
eval mta_configfile=\${mta_${profile}_configfile:-${mta_configfile}}
eval mta_pidfile=\${mta_${profile}_pidfile:-${mta_pidfile}}
pidfile="${_pidprefix}.${profile}.pid"
else
echo "$0: extra argument ignored"
fi
else
if [ "x${mta_profiles}" != "x" ]; then
for profile in ${mta_profiles}; do
echo "===> mta profile: ${profile}"
$0 $1 $profile
retcode=$?
if [ "$?" -ne 0 ]; then
failed="${profile} ({$retcode}) ${failed}"
else
success="${profile} ${success}"
fi
done
exit 0
fi
fi
pidfile=${mta_pidfile}
required_files="${mta_configfile}"
# select correct command arguments
case "${mta_type}" in
sendmail)
command_args="-C'${mta_configfile}' -OPidFile='${pidfile}'"
;;
exim)
command_args="-C '${mta_configfile}' -oP '${pidfile}'"
;;
*)
command_args=""
;;
esac
run_rc_command "$1"

View File

@ -1,8 +1,37 @@
--- ../MailScanner-install-4.49.7.orig/docs/man/MailScanner.8 Wed Jan 4 13:36:45 2006
+++ docs/man/MailScanner.8 Wed Jan 4 13:46:07 2006
@@ -1,4 +1,4 @@
-.TH "MailScanner" "8" "4.42.9" "Julian Field" "Mail"
+.TH "MailScanner" "8" "4.49.7" "Julian Field" "Mail"
--- ../MailScanner-install-4.50.15.orig/docs/man/MailScanner.8 Tue Feb 7 14:24:40 2006
+++ docs/man/MailScanner.8 Tue Feb 7 15:51:55 2006
@@ -1,10 +1,10 @@
-.TH "MailScanner" "8" "4.49.7" "Julian Field" "Mail"
+.TH "MailScanner" "8" "4.50.15" "Julian Field" "Mail"
.SH "NAME"
.LP
MailScanner \- Virus/Spam Scanner for Sendmail, Exim and Postfix
.SH "SYNOPSIS"
.LP
-\fBMailScanner\fR [\fI\-v\fR] [\fIconfigfile\fR]
+\fBMailScanner\fR [\fI\-v\fR] [\fI\-\-lint\fR] [\fI\-\-debug\fR] [\fI\-\-debug\-sa\fR] [\fI\-\-help\fR] [\fIconfigfile\fR]
.SH "DESCRIPTION"
.LP
@@ -29,6 +29,21 @@
\fB\-v\fR
Prints version information for Mailscanner and all used perl\-modules.
+.TP
+\fB\-\-lint\fR
+Checks config file, print what virus scanners you have chosen to use and check SpamAssassin configuration as well.
+
+.TP
+\fB\-\-debug\fR
+Starts MailScanner in debug mode. See MailScanner.conf "Debug=yes".
+
+.TP
+\fB\-\-debug\-sa\fR
+Starts MailScanner in debug spamassassin mode. See MailScanner.conf "Debug SpamAssassin=yes".
+
+.TP
+\fB\-\-lint\fR
+Test MailScanner config and SpamAssassin config.
.SH "MTA SETUP"
.LP
It is important that your MTA only queues incoming mail and does not deliver it automatically. You need two mail queues (incoming and outgoing). Moreover you should setup two instances of your MTA. One that accepts incoming mail and puts it to an incoming queue and one that sends out mail that resides in the outgoing queue.

View File

@ -1,9 +1,407 @@
--- ../MailScanner-install-4.49.7.orig/docs/man/MailScanner.8.html Wed Jan 4 13:36:45 2006
+++ docs/man/MailScanner.8.html Wed Jan 4 13:46:09 2006
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19 -->
-<!-- CreationDate: Wed Jun 1 11:29:47 2005 -->
+<!-- CreationDate: Wed Jan 4 13:45:56 2006 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
--- ../MailScanner-install-4.50.15.orig/docs/man/MailScanner.8.html Tue Feb 7 14:24:40 2006
+++ docs/man/MailScanner.8.html Tue Feb 7 15:51:59 2006
@@ -1,168 +1,236 @@
-<!-- Creator : groff version 1.19 -->
-<!-- CreationDate: Wed Jan 4 13:45:56 2006 -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<meta name="Content-Style" content="text/css">
-<title>MailScanner</title>
-</head>
-<body>
-
-<h1 align=center>MailScanner</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#MTA SETUP">MTA SETUP</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="89%">
-<p>MailScanner &minus; Virus/Spam Scanner for Sendmail, Exim
-and Postfix</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="89%">
-<p><b>MailScanner</b> [<i>&minus;v</i>]
-[<i>configfile</i>]</p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="89%">
-<p><b>MailScanner</b> starts the main MailScanner process.
-[<i>configfile</i>] should point to a valid MailScanner
-configuration file (see MailScanner.conf(5) for details).
-The default location for this file depends on the operating
-system.</p>
-<!-- INDENTATION -->
-<p>Linux: /etc/MailScanner/MailScanner.conf</p>
-<!-- INDENTATION -->
-<p>FreeBSD: /usr/local/etc/MailScanner/MailScanner.conf</p>
-<!-- INDENTATION -->
-<p>Other: /opt/MailScanner/etc/MailScanner.conf</p>
-<!-- INDENTATION -->
-<p>The main process then spawns <i>n</i> number of child
-processes. <i>n</i> is configured in [<i>configfile</i>]
-with the option &quot;Max Children&quot;. Each process waits
-for messages to appear in the &quot;Incoming Queue
-Dir&quot;, processes these messages and then puts them in
-the &quot;Outgoing Queue Dir&quot;. You may need to adjust
-the configuration of your MTA (or the startup of your MTA)
-to make it work with MailScanner.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="3%">
-
-<p><b>&minus;v</b></p>
-</td>
-<td width="8%"></td>
-<td width="78%">
-
-<p>Prints version information for Mailscanner and all used
-perl&minus;modules.</p>
-</td>
-</table>
-<a name="MTA SETUP"></a>
-<h2>MTA SETUP</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="89%">
-<p>It is important that your MTA only queues incoming mail
-and does not deliver it automatically. You need two mail
-queues (incoming and outgoing). Moreover you should setup
-two instances of your MTA. One that accepts incoming mail
-and puts it to an incoming queue and one that sends out mail
-that resides in the outgoing queue.</p>
-<!-- INDENTATION -->
-<p>A common setup for Sendmail could look like this:</p>
-<!-- INDENTATION -->
-<p>1. Verify that you already have one queue (e.g. in
-/var/spool/mqueue).</p>
-<!-- INDENTATION -->
-<p>2. Create a second queue (e.g. /var/spool/mqueue.in) and
-apply the same owner/group/mode.</p>
-<!-- INDENTATION -->
-<p>3. Change your sendmail startup from</p>
-<!-- INDENTATION -->
-<p>sendmail &minus;bd &minus;q15m (or similar)</p>
-<!-- INDENTATION -->
-<p>to</p>
-<!-- INDENTATION -->
-<p>sendmail &minus;bd &minus;OPrivacyOptions=noetrn
-&minus;ODeliveryMode=queueonly
-&minus;OQueueDirectory=/var/spool/mqueue.in<br>
-sendmail &minus;q15m</p>
-<!-- INDENTATION -->
-<p>A similar setup for Exim could look like this:</p>
-<!-- INDENTATION -->
-<p>1. Create two queues (e.g. /var/spool/exim.in and
-/var/spool/exim.out) with appropriate owner/group/mode (e.g.
-owner=mailnull, group=mail, mode=750).</p>
-<!-- INDENTATION -->
-<p>2. Create two exim configurations (e.g.
-/usr/local/etc/exim/configure.in,
-/usr/local/etc/exim/configure.out).</p>
-<!-- INDENTATION -->
-<p>3. Make sure that the incoming exim configuration only
-queues mails and never delivers mail itself. This can be
-achieved by using the Exim config option &quot;queue_only =
-true&quot; and/or a special router definition (Exim 4
-syntax):</p>
-<!-- INDENTATION -->
-<p>defer_router:<br>
-driver = manualroute<br>
-self = defer<br>
-transport = remote_smtp<br>
-route_list = * 127.0.0.1 byname<br>
-verify = false</p>
-<!-- INDENTATION -->
-<p>4. Start two exim instances:</p>
-<!-- INDENTATION -->
-<p>exim &minus;C /usr/local/etc/exim/configure.in<br>
-exim &minus;C /usr/local/etc/exim/configure.out</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="89%">
-<p>MailScanner.conf(5)</p>
-</td>
-</table>
-<hr>
-</body>
-</html>
+<!-- Creator : groff version 1.19 -->
+<!-- CreationDate: Tue Feb 7 15:51:46 2006 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<title>MailScanner</title>
+</head>
+<body>
+
+<h1 align=center>MailScanner</h1>
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#MTA SETUP">MTA SETUP</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+<a name="NAME"></a>
+<h2>NAME</h2>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p>MailScanner &minus; Virus/Spam Scanner for Sendmail, Exim
+and Postfix</p>
+</td>
+</table>
+<a name="SYNOPSIS"></a>
+<h2>SYNOPSIS</h2>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p><b>MailScanner</b> [<i>&minus;v</i>]
+[<i>&minus;&minus;lint</i>] [<i>&minus;&minus;debug</i>]
+[<i>&minus;&minus;debug&minus;sa</i>]
+[<i>&minus;&minus;help</i>] [<i>configfile</i>]</p>
+</td>
+</table>
+<a name="DESCRIPTION"></a>
+<h2>DESCRIPTION</h2>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p><b>MailScanner</b> starts the main MailScanner process.
+[<i>configfile</i>] should point to a valid MailScanner
+configuration file (see MailScanner.conf(5) for details).
+The default location for this file depends on the operating
+system.</p>
+<!-- INDENTATION -->
+<p>Linux: /etc/MailScanner/MailScanner.conf</p>
+<!-- INDENTATION -->
+<p>FreeBSD: /usr/local/etc/MailScanner/MailScanner.conf</p>
+<!-- INDENTATION -->
+<p>Other: /opt/MailScanner/etc/MailScanner.conf</p>
+<!-- INDENTATION -->
+<p>The main process then spawns <i>n</i> number of child
+processes. <i>n</i> is configured in [<i>configfile</i>]
+with the option &quot;Max Children&quot;. Each process waits
+for messages to appear in the &quot;Incoming Queue
+Dir&quot;, processes these messages and then puts them in
+the &quot;Outgoing Queue Dir&quot;. You may need to adjust
+the configuration of your MTA (or the startup of your MTA)
+to make it work with MailScanner.</p>
+</td>
+</table>
+<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="4" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+<p><b>&minus;v</b></p>
+</td>
+<td width="2%"></td>
+<td width="78%">
+
+<p>Prints version information for Mailscanner and all used
+perl&minus;modules.</p>
+</td>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+<p><b>&minus;&minus;lint</b></p>
+</td>
+<td width="2%"></td>
+<td width="78%">
+
+<p>Checks config file, print what virus scanners you have
+chosen to use and check SpamAssassin configuration as
+well.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p><b>&minus;&minus;debug</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
+<p>Starts MailScanner in debug mode. See MailScanner.conf
+&quot;Debug=yes&quot;.</p>
+</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p><b>&minus;&minus;debug&minus;sa</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
+<p>Starts MailScanner in debug spamassassin mode. See
+MailScanner.conf &quot;Debug SpamAssassin=yes&quot;.</p>
+</td>
+</table>
+<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="5" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+<p><b>&minus;&minus;lint</b></p>
+</td>
+<td width="2%"></td>
+<td width="73%">
+
+<p>Test MailScanner config and SpamAssassin config.</p>
+</td>
+<td width="5%">
+</td>
+</table>
+<a name="MTA SETUP"></a>
+<h2>MTA SETUP</h2>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p>It is important that your MTA only queues incoming mail
+and does not deliver it automatically. You need two mail
+queues (incoming and outgoing). Moreover you should setup
+two instances of your MTA. One that accepts incoming mail
+and puts it to an incoming queue and one that sends out mail
+that resides in the outgoing queue.</p>
+<!-- INDENTATION -->
+<p>A common setup for Sendmail could look like this:</p>
+<!-- INDENTATION -->
+<p>1. Verify that you already have one queue (e.g. in
+/var/spool/mqueue).</p>
+<!-- INDENTATION -->
+<p>2. Create a second queue (e.g. /var/spool/mqueue.in) and
+apply the same owner/group/mode.</p>
+<!-- INDENTATION -->
+<p>3. Change your sendmail startup from</p>
+<!-- INDENTATION -->
+<p>sendmail &minus;bd &minus;q15m (or similar)</p>
+<!-- INDENTATION -->
+<p>to</p>
+<!-- INDENTATION -->
+<p>sendmail &minus;bd &minus;OPrivacyOptions=noetrn
+&minus;ODeliveryMode=queueonly
+&minus;OQueueDirectory=/var/spool/mqueue.in<br>
+sendmail &minus;q15m</p>
+<!-- INDENTATION -->
+<p>A similar setup for Exim could look like this:</p>
+<!-- INDENTATION -->
+<p>1. Create two queues (e.g. /var/spool/exim.in and
+/var/spool/exim.out) with appropriate owner/group/mode (e.g.
+owner=mailnull, group=mail, mode=750).</p>
+<!-- INDENTATION -->
+<p>2. Create two exim configurations (e.g.
+/usr/local/etc/exim/configure.in,
+/usr/local/etc/exim/configure.out).</p>
+<!-- INDENTATION -->
+<p>3. Make sure that the incoming exim configuration only
+queues mails and never delivers mail itself. This can be
+achieved by using the Exim config option &quot;queue_only =
+true&quot; and/or a special router definition (Exim 4
+syntax):</p>
+<!-- INDENTATION -->
+<p>defer_router:<br>
+driver = manualroute<br>
+self = defer<br>
+transport = remote_smtp<br>
+route_list = * 127.0.0.1 byname<br>
+verify = false</p>
+<!-- INDENTATION -->
+<p>4. Start two exim instances:</p>
+<!-- INDENTATION -->
+<p>exim &minus;C /usr/local/etc/exim/configure.in<br>
+exim &minus;C /usr/local/etc/exim/configure.out</p>
+</td>
+</table>
+<a name="SEE ALSO"></a>
+<h2>SEE ALSO</h2>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
+<p>MailScanner.conf(5)</p>
+</td>
+</table>
+<hr>
+</body>
+</html>

View File

@ -1,208 +1,87 @@
--- ../MailScanner-install-4.49.7.orig/docs/man/MailScanner.conf.5 Wed Jan 4 13:36:45 2006
+++ docs/man/MailScanner.conf.5 Wed Jan 4 13:46:12 2006
--- ../MailScanner-install-4.50.15.orig/docs/man/MailScanner.conf.5 Tue Feb 7 13:45:33 2006
+++ docs/man/MailScanner.conf.5 Tue Feb 7 13:58:52 2006
@@ -1,4 +1,4 @@
-.TH "MailScanner.conf" "5" "4.42.9" "Julian Field" "Mail"
+.TH "MailScanner.conf" "5" "4.49.7" "Julian Field" "Mail"
-.TH "MailScanner.conf" "5" "4.50.1" "Julian Field" "Mail"
+.TH "MailScanner.conf" "5" "4.50.15" "Julian Field" "Mail"
.SH "NAME"
.LP
MailScanner.conf \- Main configuration for MailScanner
@@ -326,6 +326,23 @@
.br
If more messages are found in the queue than this, then switch to an "accelerated" mode of processing messages. This will cause it to stop scanning messages in strict date order, but in the order it finds them in the queue. If your queue is bigger than this size a lot of the time, then some messages could be greatly delayed. So treat this option as "in emergency only".
@@ -423,6 +423,12 @@
The maximum length of time the "unrar" command is allowed to run for 1 RAR archive (in seconds)
+
+.TP
+\fBScan Messages\fR
+Default: yes
+.br
+
+.br
+If this is set to yes, then email messages passing through MailScanner will be processed and checked, and all the other options in this file will be used to control what checks are made on the message. If this is set to no, then email messages will NOT be processed or checked *at all*, and so any viruses or other problems will be ignored.
+
+.TP
+\fBReject Messages\fR
.TP
+\fBFind UU\-Encoded Files\fR
+Default: no
+.br
+
+.br
+You may not want to receive mail from certain addresses and/or to certain addresses. If so, you can do this with your email transport (sendmail, Postfix, etc) but that will just send a one\-line message which is not helpful to the user sending the message. If this is set to yes, then the message set by the "Rejection Report" will be sent instead, and the incoming message will be deleted. If you want to store a copy of the original incoming message then use the "Archive Mail" setting to archive a copy of it. The purpose of this option is to set it to be a ruleset, so that you can reject messages from a few offending addresses where you need to send a polite reply instead of just a brief 1\-line rejection message.
+
.TP
\fBMaximum Attachments Per Message\fR
Default: 200
@@ -819,6 +836,36 @@
Do you want to allow <Form> tags in email messages? This is a bad idea as these are used as scams to pursuade people to part with credit card information and other personal data. This can also be the filename of a ruleset.
.SH "Attachment filename checking"
.TP
+\fBAllow Filenames\fR
+Default:
+.br
+
+.br
+Allow any attachment filenames matching any of the patters listed here. If this setting is empty, it is ignored and no matches are made. This can also be the filename of a ruleset.
+.br
+
+.br
+To simplify web\-based configuration systems, there are now two extra settings here. They are both intended for use with normal rulesets that you would expect to find in %rules\-dir%. The first gives a list of patterns to match against the attachment filenames, and a filename is allowed if it matches any of these patterns. The second gives the the equivalent list for patterns that are used to deny filenames. If either of these match at all, then filename.rules.conf is ignored for that filename. So you can easily have a set like this:
+.br
+
+.br
+Allow Filenames = \.txt$ \.pdf$
+.br
+Deny Filenames = \.com$ \.exe$ \.cpl$ \.pif$
+.br
+
+.br
+which is a lot simpler than having to handle filename.rules.conf! It is far simpler when you want to change the allowed+denied list for different domains/addresses, as you can use the filename of a simple ruleset here instead.
+A few viruses store their infected data in UU\-encoded files, to try to catch out virus scanners. This rarely succeeds at all. Setting this option to yes means that you can apply filename and filetype checks to the contents of UU\-encoded files. This may occasionally be useful, in which case you should set to yes. This can also be the filename of a ruleset.
+
+.TP
+\fBDeny Filenames\fR
+Default:
+.br
+
+.br
+Deny any attachment filenames matching any of the patters listed here. If this setting is empty, it is ignored and no matches are made. This can also be the filename of a ruleset.
+
+.TP
\fBFilename Rules\fR
Default: %etc\-dir%/filename.rules.conf
.br
@@ -827,6 +874,36 @@
File in which to store the attachment filename ruleset. This can be a ruleset allowing different filename rules to apply to different users or domains. The syntax of this file is described in section "Attachment Filename Ruleset".
.TP
+\fBAllow Filetypes\fR
+Default:
+.br
+
+.br
+Allow any attachment filetypes matching any of the patters listed here. If this setting is empty, it is ignored and no matches are made. This can also be the filetype of a ruleset.
+.br
+
+.br
+To simplify web\-based configuration systems, there are now two extra settings here. They are both intended for use with normal rulesets that you would expect to find in %rules\-dir%. The first gives a list of patterns to match against the attachment filetypes, and a filetype is allowed if it matches any of these patterns. The second gives the the equivalent list for patterns that are used to deny filetypes. If either of these match at all, then filetype.rules.conf is ignored for that filetype. So you can easily have a set like this:
+.br
+
+.br
+Allow Filetypes = \.txt$ \.pdf$
+.br
+Deny Filetypes = \.com$ \.exe$ \.cpl$ \.pif$
+.br
+
+.br
+which is a lot simpler than having to handle filetype.rules.conf! It is far simpler when you want to change the allowed+denied list for different domains/addresses, as you can use the filetype of a simple ruleset here instead.
+
+.TP
+\fBDeny Filetypes\fR
+Default:
+.br
+
+.br
+Deny any attachment filetypes matching any of the patters listed here. If this setting is empty, it is ignored and no matches are made. This can also be the filetype of a ruleset.
+
+.TP
\fBFiletype Rules\fR
Default: %etc\-dir%/filetype.rules.conf
.br
@@ -853,6 +930,15 @@
There is no point quarantining most viruses these days, so if you set this to "no" then no infections listed in your "Silent Viruses" setting will be quarantined, even if you have chosen to quarantine infections in general. This is currently set to "yes" so the behaviour is the same as it was in in previous versions. This can also be the filename of a ruleset.
.TP
+\fBQuarantine Modified Body\fR
+Default: no
+.br
+
+.br
+Do you want to store copies of messages which have been disarmed by having their HTML modified at all? This can also be the filename of a ruleset.
+
+
+.TP
\fBQuarantine Whole Message\fR
\fBBlock Encrypted Messages\fR
Default: no
.br
@@ -885,6 +971,16 @@
.br
Set where to find all the strings used so they can be translated into your local language. This can also be the filename of a ruleset so you can produce different languages for different messages.
+
+.TP
+\fBRejection Report\fR
+Default: %reports\-dir%/rejection.report.txt
+.br
+
+.br
+Set where to find the message text sent to users who triggered the ruleset you are using with the "Reject Message" option.
+
+
@@ -521,7 +527,7 @@
.SH "Virus scanning and vulnerability testing"
.TP
\fBDeleted Bad Filename Message Report\fR
Default: %reports\-dir%/deleted.filename.message.txt
@@ -1701,12 +1797,64 @@
\fBVirus Scanning\fR
-Default: yes
+Default: auto
.br
.br
-# The Bayesian database rebuild and expiry may take a 2 or 3 minutes
-# to complete. During this time you can either wait, or simply
-# disable SpamAssassin checks until it has completed.
-WaitDuringBayesRebuild = no
+The Bayesian database rebuild and expiry may take a 2 or 3 minutes to complete. During this time you can either wait, or simply disable SpamAssassin checks until it has completed.
+
+
@@ -529,7 +535,7 @@
.br
NOTE: Switching this to no completely disables all virus\-scanning functionality. If you just want to switch of actual virus scanning, then set "Virus Scanners = none" instead.
.br
-If you want to be able to switch scanning on/off for different users or different domains, set this to the filename of a ruleset.
+If you want to be able to switch scanning on/off for different users or different domains, set this to the filename of a ruleset. If you set this to auto then it searches for and uses every available installed virus scanner.
+.SH "Custom Spam Scanner Plugin"
.TP
\fBVirus Scanners\fR
@@ -1682,7 +1688,7 @@
.SH "SpamAssassin"
.TP
\fBUse SpamAssassin\fR
-Default: no
+Default: yes
.br
.br
@@ -2113,6 +2119,22 @@
.RE
.TP
+\fBSpamAssassin Cache Timings\fR
+Default: 1800,300,10800,172800,600
+.br
+Do not change this unless you absolutely have to, these numbers have been carefully calculated. They affect the length of time that different types of message are stored in the SpamAssassin cache which can be configured earlier in this file (look for "Cache"). The numbers are all set in seconds. They are:
+.br
+1. Non\-Spam cache lifetime = 30 minutes
+.br
+2. Spam (low scoring) cache lifetime = 5 minutes
+.br
+3. High\-Scoring spam cache lifetime = 3 hours
+.br
+4. Viruses cache lifetime = 2 days
+.br
+5. How often to check the cache for expired messages = 10 minutes
+
+.TP
+\fBUse Custom Spam Scanner\fR
\fBDebug\fR
Default: no
.br
@@ -2167,6 +2189,15 @@
.br
The value of the option is actually never used, but it is evaluated at the end of processing a batch of messages. It is designed to be used in conjunction with a Custom Function. The Custom Function should then be written to have a "side effect" of doing something useful such as logging lots of information about the batch of messages to a file or an SQL database.
+
+
+.TP
+\fBAlways Looked Up Last After Batch\fR
+Default: no
+.br
+
+.br
+This option is intended for people who want to log per\-batch information. This is evaluated after the "Always Looked Up Last" configuration option for each message in the batch. This is looked up once for the entire batch. Its value is completely ignored, it is purely there to have side effects. If you want to use it, read CustomConfig.pm.
+.br
+Use the Custom Spam Scanner. This is code you will have to write yourself, a function called "GenericSpamScanner" stored in the file "MailScanner/lib/MailScanner/CustomFunctions/GenericSpamScanner.pm". A sample function is given in the correct file in the distribution. This sample function also includes code to show you how to make it run an external program to produce a spam score. This can also be the filename of a ruleset. The function will be passed
+.br
+.RS 7
+.IP \(bu 4
+$IP \- the numeric IP address of the system on the remote end of the SMTP connections
+.IP \(bu 4
+$From \- the address of the envelope sender of the message
+.IP \(bu 4
+$To \- a perl reference to the envelope recipients of the message
+.IP \(bu 4
+$Message \- a perl reference to the list of line of the message
+.RE
+.br
+
+
+.TP
+\fBMax Custom Spam Scanner Size\fR
+Default: 20000
+.br
+
+.br
+How much of the message should be passed tot he Custom Spam Scanner. Most spam tools only need the first 20kbytes of the message to determine if it is spam or not. Passing more than is necessary only slows things down. This can also be the filename of a ruleset.
+
+.TP
+\fBCustom Spam Scanner Timeout\fR
+Default: 20
+.br
+
+.br
+How long should the custom spam scanner take to run? If it takes more seconds than this, then it should be considered to have crashed and should be killed. This stops denial\-of\-service attacks.
+
+
+.TP
+\fBMax Custom Spam Scanner Timeouts\fR
+Default: 10
+.br
+
+.br
+If the Custom Spam Scanner times out more times in a row than this, then it will be marked as "unavailable" until MailScanner next re\-starts itself.
+
+.TP
+\fBCustom Spam Scanner Timeout History\fR
+Default: 20
+.br
+
+.br
+The total number of Custom Spam Scanner attempts during which "Max Custom Spam Scanner Timeouts" will cause the Custom Spam Scanner to be marked as "unavailable". See the previous comment for more information. The default values of 10 and 20 mean that 10 timeouts in any sequence of 20 attempts will trigger the behaviour described above, until the next periodic restart (see "Restart Every").
.SH "What to do with spam"
.TP
\fBSpam Actions\fR
\fBDeliver in Background\fR

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
*************************************************************************
_ _____ _____ _____ _ _ _____ ___ ___ _ _
/ \|_ _|_ _| ____| \ | |_ _|_ _/ _ \| \ | |
/ _ \ | | | | | _| | \| | | | | | | | | \| |
/ ___ \| | | | | |___| |\ | | | | | |_| | |\ |
/_/ \_\_| |_| |_____|_| \_| |_| |___\___/|_| \_|
The MailScanner port uses new start/stop scripts according to rc.subr
standard. Your old scripts will be overwritten after you press ENTER.
To start mailscanner and your mta, please put the correct statements in
your rc.conf. For examples/syntax please look at mailscanner.sh and
mta.sh in your rc.d directory.
*************************************************************************

View File

@ -11,8 +11,6 @@ etc/MailScanner/phishing.safe.sites.conf.sample
etc/MailScanner/spam.assassin.prefs.conf.sample
etc/MailScanner/spam.lists.conf.sample
etc/MailScanner/virus.scanners.conf.sample
etc/rc.d/mailscanner.sh.sample
etc/rc.d/mta.sh.sample
lib/MailScanner/MailScanner.pm
lib/MailScanner/MailScanner/BinHex.pm
lib/MailScanner/MailScanner/Config.pm
@ -121,7 +119,6 @@ libexec/MailScanner/vexira-wrapper.sample
%%DATADIR%%/reports/ca/stored.content.message.txt.sample
%%DATADIR%%/reports/ca/stored.filename.message.txt.sample
%%DATADIR%%/reports/ca/stored.virus.message.txt.sample
@exec mkdir -p %D/%%DATADIR%%/reports/cat
%%DATADIR%%/reports/cy+en/deleted.content.message.txt.sample
%%DATADIR%%/reports/cy+en/deleted.filename.message.txt.sample
%%DATADIR%%/reports/cy+en/deleted.virus.message.txt.sample
@ -146,7 +143,6 @@ libexec/MailScanner/vexira-wrapper.sample
%%DATADIR%%/reports/cy+en/stored.content.message.txt.sample
%%DATADIR%%/reports/cy+en/stored.filename.message.txt.sample
%%DATADIR%%/reports/cy+en/stored.virus.message.txt.sample
%%DATADIR%%/reports/cz.tar.gz.sample
%%DATADIR%%/reports/cz/deleted.content.message.txt.sample
%%DATADIR%%/reports/cz/deleted.filename.message.txt.sample
%%DATADIR%%/reports/cz/deleted.virus.message.txt.sample
@ -529,7 +525,6 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.3.0.4
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.3.1.0
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/index.html
%%PORTDOCS%%@exec mkdir -p %D/%%DOCSDIR%%/install/tcp
%%PORTDOCS%%%%DOCSDIR%%/install/mime-tools-patch.txt
%%PORTDOCS%%%%DOCSDIR%%/install/mime-tools-patch2.txt
%%PORTDOCS%%%%DOCSDIR%%/install/mime-tools-patch3.txt
@ -580,12 +575,13 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/users.shtml
%%PORTDOCS%%@dirrm %%DOCSDIR%%/qmail
%%PORTDOCS%%@dirrm %%DOCSDIR%%/man
%%PORTDOCS%%@dirrm %%DOCSDIR%%/install/tcp
%%PORTDOCS%%@dirrm %%DOCSDIR%%/install/mcp
%%PORTDOCS%%@dirrm %%DOCSDIR%%/install
%%PORTDOCS%%@dirrm %%DOCSDIR%%/images
%%PORTDOCS%%@dirrm %%DOCSDIR%%/phishingnet.info
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%SPAMASSASSIN%%%%SPAMASSASSIN_SYMLINK%%@exec [ -e %D/etc/mail/spamassassin/mailscanner.cf ] || ln -s %D/etc/MailScanner/spam.assassin.prefs.conf %D/etc/mail/spamassassin/mailscanner.cf
%%SPAMASSASSIN%%%%SPAMASSASSIN_SYMLINK%%@unexec [ -L %D/etc/mail/spamassassin/mailscanner.cf ] && rm -f %D/etc/mail/spamassassin/mailscanner.cf
@dirrm %%DATADIR%%/reports/sk
@dirrm %%DATADIR%%/reports/se
@dirrm %%DATADIR%%/reports/ro
@ -600,7 +596,6 @@ libexec/MailScanner/vexira-wrapper.sample
@dirrm %%DATADIR%%/reports/de
@dirrm %%DATADIR%%/reports/cz
@dirrm %%DATADIR%%/reports/cy+en
@dirrm %%DATADIR%%/reports/cat
@dirrm %%DATADIR%%/reports/ca
@dirrm %%DATADIR%%/reports
@dirrm %%DATADIR%%