aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/mailscanner-devel/Makefile15
-rw-r--r--mail/mailscanner-devel/distinfo4
-rw-r--r--mail/mailscanner-devel/files/patch-docs:man:MailScanner.88
-rw-r--r--mail/mailscanner-devel/files/patch-docs:man:MailScanner.8.html8
-rw-r--r--mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5153
-rw-r--r--mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5.html354
-rw-r--r--mail/mailscanner-devel/pkg-plist19
7 files changed, 289 insertions, 272 deletions
diff --git a/mail/mailscanner-devel/Makefile b/mail/mailscanner-devel/Makefile
index 0b18a6cfdb59..9320b923e4d2 100644
--- a/mail/mailscanner-devel/Makefile
+++ b/mail/mailscanner-devel/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= MailScanner
-PORTVERSION= 4.42.1
-PORTREVISION= 1
+PORTVERSION= 4.45.1
CATEGORIES= mail
MASTER_SITES= http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/tar/
PKGNAMESUFFIX= -devel
@@ -35,7 +34,11 @@ RUN_DEPENDS= ${BUILD_DEPENDS} \
${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/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
CONFLICTS= MailScanner-[0-9]*
@@ -152,10 +155,10 @@ do-install:
# Step 3: Install files in share
#
@${MKDIR} ${DATADIR}
- cd ${WRKSRC}/etc && ${FIND} reports -type d -exec \
+ cd ${WRKSRC}/etc && ${FIND} reports -type d ! -name "*.old" -exec \
${MKDIR} ${DATADIR}/{} \;
- cd ${WRKSRC}/etc && ${FIND} reports -type f ! -name "*.orig" -exec \
- ${INSTALL_DATA} {} ${DATADIR}/{}.sample \;
+ cd ${WRKSRC}/etc && ${FIND} reports \( -type d -name "*.old" -prune \) \
+ -o \( -type f ! -name "*.orig" -exec ${INSTALL_DATA} {} ${DATADIR}/{}.sample \; \)
${CHMOD} -R ${BINMODE} ${DATADIR}/reports
#
# Step 4: Install lib
diff --git a/mail/mailscanner-devel/distinfo b/mail/mailscanner-devel/distinfo
index a34ae4e979c6..41338814814f 100644
--- a/mail/mailscanner-devel/distinfo
+++ b/mail/mailscanner-devel/distinfo
@@ -1,2 +1,2 @@
-MD5 (MailScanner-install-4.42.1-1.tar.gz) = 7cb2929b0cd364be57e0d4534bb672f6
-SIZE (MailScanner-install-4.42.1-1.tar.gz) = 4701002
+MD5 (MailScanner-install-4.45.1-1.tar.gz) = 3fc88ee10dbd010ded7d72877dd7e9d4
+SIZE (MailScanner-install-4.45.1-1.tar.gz) = 5423515
diff --git a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8 b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8
index 0d905251d1da..52688dd8adcc 100644
--- a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8
+++ b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8
@@ -1,8 +1,8 @@
---- ../MailScanner-install-4.40.10.old/docs/man/MailScanner.8 Fri Apr 1 16:10:19 2005
-+++ docs/man/MailScanner.8 Fri Apr 1 16:10:33 2005
+--- ../MailScanner-install-4.45.1.orig/docs/man/MailScanner.8 Thu Aug 25 11:41:50 2005
++++ docs/man/MailScanner.8 Thu Aug 25 11:47:48 2005
@@ -1,4 +1,4 @@
--.TH "MailScanner" "8" "4.38.2" "Julian Field" "Mail"
-+.TH "MailScanner" "8" "4.41.3" "Julian Field" "Mail"
+-.TH "MailScanner" "8" "4.42.9" "Julian Field" "Mail"
++.TH "MailScanner" "8" "4.45.1" "Julian Field" "Mail"
.SH "NAME"
.LP
MailScanner \- Virus/Spam Scanner for Sendmail, Exim and Postfix
diff --git a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8.html b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8.html
index cf4b49ddb974..73f64a2c2a3c 100644
--- a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8.html
+++ b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.8.html
@@ -1,9 +1,9 @@
---- ../MailScanner-install-4.40.10.old/docs/man/MailScanner.8.html Fri Apr 1 16:10:19 2005
-+++ docs/man/MailScanner.8.html Fri Apr 1 16:10:35 2005
+--- ../MailScanner-install-4.45.1.orig/docs/man/MailScanner.8.html Thu Aug 25 11:41:50 2005
++++ docs/man/MailScanner.8.html Thu Aug 25 11:47:51 2005
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19 -->
--<!-- CreationDate: Mon Jan 17 15:53:41 2005 -->
-+<!-- CreationDate: Fri Apr 1 16:08:30 2005 -->
+-<!-- CreationDate: Wed Jun 1 11:29:47 2005 -->
++<!-- CreationDate: Thu Aug 25 11:47:32 2005 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5 b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5
index 102d83691c83..74b3e9746caf 100644
--- a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5
+++ b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5
@@ -1,137 +1,110 @@
---- ../MailScanner-install-4.40.10.old/docs/man/MailScanner.conf.5 Fri Apr 1 16:10:19 2005
-+++ docs/man/MailScanner.conf.5 Fri Apr 1 16:10:37 2005
+--- ../MailScanner-install-4.45.1.orig/docs/man/MailScanner.conf.5 Thu Aug 25 11:41:50 2005
++++ docs/man/MailScanner.conf.5 Thu Aug 25 11:47:54 2005
@@ -1,4 +1,4 @@
--.TH "MailScanner.conf" "5" "4.38.2" "Julian Field" "Mail"
-+.TH "MailScanner.conf" "5" "4.41.3" "Julian Field" "Mail"
+-.TH "MailScanner.conf" "5" "4.42.9" "Julian Field" "Mail"
++.TH "MailScanner.conf" "5" "4.45.1" "Julian Field" "Mail"
.SH "NAME"
.LP
MailScanner.conf \- Main configuration for MailScanner
-@@ -27,7 +27,9 @@
- Many of the options can also be the filename of a ruleset, which can be used to control features depending on the addresses of the message, and/or the IP address where the message came from. You will find some examples of rulesets and an explanation of them in the "rules" directories within the MailScanner installation and in the section "RULESETS" later in this manpage.
-
- .LP
--The options are best listed in a few categories. This is also the order in which you will find them in the MailScanner.conf file. If this list looks very large then don't worry, the supplied MailScanner.conf file (or MailScanner.conf.sample) contains sensible defaults for all the values. You will probably only need to change a very few of them to start with.
-+The options are best listed in a few categories. If this list looks very large then don't worry, the supplied MailScanner.conf file (or MailScanner.conf.sample) contains sensible defaults for all the values. You will probably only need to change a very few of them to start with.
-+
-+Starting with version 4.40.10 of MailScanner you can use shell environment variables such as $HOSTNAME or ${HOSTNAME} in MailScanner.conf and its relatives.
-
- .LP
- You should define the following variables:
-@@ -74,6 +76,22 @@
- Enter a short identifying name for your organisation below, this is used to make the X\-MailScanner headers unique for your organisation. Multiple servers within one site should use an identical value here to avoid adding multiple redundant headers where mail has passed through several servers within your organisation.
+@@ -326,6 +326,16 @@
.br
- Note: Some Symantec scanners complain (incorrectly) about "." characters appearing in the names of headers.
+ 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".
+
+
+.TP
-+\fB%org\-long\-name%\fR
-+Default: Your Organisation Name Here
++\fBScan Messages\fR
++Default: yes
+.br
+
+.br
-+Enter the full name of your organisation below, this is used in the signature placed at the bottom of report messages sent by MailScanner. It can include pretty much any text you like. You can make the result span several lines by including "\n" sequences in the text. These will be replaced by line\-breaks.
++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
-+\fB%web\-site%\fR
-+Default: www.your\-organisation.com
-+.br
+
-+.br
-+Enter the location of your organisation's web site below. This is used in the signature placed at the bottom of report messages sent by MailScanner. It should preferably be the location of a page that you have written explaining why you might have rejected the mail and what the recipient and/or sender should do about it.
- .SH "System Settings"
.TP
- \fBMax Children\fR
-@@ -370,6 +388,23 @@
- .br
- The maximum length of time the "file" command is allowed to run for one batch of messages (in seconds).
+ \fBMaximum Attachments Per Message\fR
+ Default: 200
+@@ -853,6 +863,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
-+\fBUnrar Command\fR
-+Default: /usr/bin/unrar
-+.br
-+
+ .TP
++\fBQuarantine Modified Body\fR
++Default: no
+.br
-+Where the "unrar" command is installed. If you haven't got this command, look at www.rarlab.com. This is used for unpacking rar archives so that the contents can be checked for banned filenames and filetypes, and also that the archive can be tested to see if it is password\-protected. Virus scanning the contents of rar archives is still left to the virus scanner, with one exception: If using the clavavmodule virus scanner, this adds external RAR checking to that scanner which is needed for archives which are RAR version 3.
+
-+.TP
-+\fBUnrar Timeout\fR
-+Default: 50
+.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.
+
-+.br
-+The maximum length of time the "unrar" command is allowed to run for 1 RAR archive (in seconds)
+
- .TP
- \fBBlock Encrypted Messages\fR
++.TP
+ \fBQuarantine Whole Message\fR
Default: no
-@@ -562,6 +597,41 @@
+ .br
+@@ -1701,12 +1720,64 @@
+ .br
.br
- ClamAVModule only: monitor each of these files for changes in size to detect when a ClamAV update has happened. This is only used by the "clamavmodule" virus scanner, not the "clamav" scanner setting.
+-# 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.
+
-+.TP
-+\fBClamAVmodule Maximum Recursion Level\fR
-+Default: 5
-+.br
+
-+.br
-+ClamAVModule only: The maximum recursion level of archives. This setting *cannot* be the filename of a ruleset, only a simple number.
+
++.SH "Custom Spam Scanner Plugin"
+.TP
-+\fBClamAVmodule Maximum Files\fR
-+Default: 100
++\fBUse Custom Spam Scanner\fR
++Default: no
+.br
+
+.br
-+ClamAVModule only: The maximum number of files per batch. This setting *cannot* be the filename of a ruleset, only a simple number.
-+
-+
-+.TP
-+\fBClamAVmodule Maximum File Size\fR
-+Default: 10000000
++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
-+ClamAVModule only: The maximum file of each file (Default = 10MB). This setting *cannot* be the filename of a ruleset, only a simple number.
+
+
+.TP
-+\fB\fRClamAVmodule Maximum Compression Ratio
-+Default: 250
++\fBMax Custom Spam Scanner Size\fR
++Default: 20000
+.br
+
+.br
-+ClamAVModule only: The maximum compression ration of archives. This setting *cannot* be the filename of a ruleset, only a simple number.
-+
- .SH "Removing/Logging dangerous or potentially offensive content"
- .TP
- \fBAllow Partial Messages\fR
-@@ -601,6 +671,15 @@
++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
- .TP
-+\fBPhishing Safe Sites File\fR
-+Default: %etc\-dir%/phishing.safe.sites.conf
+.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
-+There are some companies, such as banks, that insist on sending out email messages with links in them that are caught by the "Find Phishing Fraud" test described above. This is the name of a file which contains a list of link destinations which should be ignored in the test. This may, for example, contain the known websites of some banks. See the file itself for more information. This can only be the name of the file containing the list, it *cannot* be the filename of a ruleset.
+
++.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
- \fBAllow IFrame Tags\fR
- Default: no
- .br
-@@ -1753,6 +1832,12 @@
-
- .br
- Log all occurrences of "Silent Viruses" as defined above? This can only be a simple yes/no value, not a ruleset.
++\fBCustom Spam Scanner Timeout History\fR
++Default: 20
++.br
+
-+.TP
-+\fBLog Dangerous HTML Tags\fR
-+Default: no
+.br
-+Log all occurrences of HTML tags found in messages, that can be blocked. This will help you build up your whitelist of message sources for which particular HTML tags should be allowed, such as mail from newsletters and daily cartoon strips. This can also be the filename of a ruleset.
- .SH "Advanced SpamAssassin Settings"
- If you are using Postfix you may well need to use some of the settings below, as the home directory for the "postfix" user cannot be written to by the "postfix" user. You may also need to use these if you have installed SpamAssassin somewhere other than the default location.
-
++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
diff --git a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5.html b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5.html
index a5caf8ac864f..52f5cd27d1ab 100644
--- a/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5.html
+++ b/mail/mailscanner-devel/files/patch-docs:man:MailScanner.conf.5.html
@@ -1,46 +1,25 @@
---- ../MailScanner-install-4.40.10.old/docs/man/MailScanner.conf.5.html Fri Apr 1 16:10:19 2005
-+++ docs/man/MailScanner.conf.5.html Fri Apr 1 16:10:40 2005
+--- ../MailScanner-install-4.45.1.orig/docs/man/MailScanner.conf.5.html Thu Aug 25 11:41:50 2005
++++ docs/man/MailScanner.conf.5.html Thu Aug 25 11:48:02 2005
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19 -->
--<!-- CreationDate: Mon Jan 17 15:53:41 2005 -->
-+<!-- CreationDate: Fri Apr 1 16:08:30 2005 -->
+-<!-- CreationDate: Wed Jun 1 11:29:47 2005 -->
++<!-- CreationDate: Thu Aug 25 11:47:32 2005 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
-@@ -120,13 +120,15 @@
- directories within the MailScanner installation and in the
- section &quot;RULESETS&quot; later in this manpage.</p>
- <!-- INDENTATION -->
--<p>The options are best listed in a few categories. This is
--also the order in which you will find them in the
--MailScanner.conf file. If this list looks very large then
--don&rsquo;t worry, the supplied MailScanner.conf file (or
--MailScanner.conf.sample) contains sensible defaults for all
--the values. You will probably only need to change a very few
--of them to start with.</p>
-+<p>The options are best listed in a few categories. If this
-+list looks very large then don&rsquo;t worry, the supplied
-+MailScanner.conf file (or MailScanner.conf.sample) contains
-+sensible defaults for all the values. You will probably only
-+need to change a very few of them to start with.</p>
-+<!-- INDENTATION -->
-+<p>Starting with version 4.40.10 of MailScanner you can use
-+shell environment variables such as $HOSTNAME or ${HOSTNAME}
-+in MailScanner.conf and its relatives.</p>
- <!-- INDENTATION -->
- <p>You should define the following variables:</p>
- </td>
-@@ -220,6 +222,54 @@
- headers.</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>%org&minus;long&minus;name%</b></p></td>
+@@ -34,6 +34,7 @@
+ <a href="#Definitions of virus scanners and spam detectors">Definitions of virus scanners and spam detectors</a><br>
+ <a href="#Spam detection and spam lists (DNS blocklists)">Spam detection and spam lists (DNS blocklists)</a><br>
+ <a href="#SpamAssassin">SpamAssassin</a><br>
++<a href="#Custom Spam Scanner Plugin">Custom Spam Scanner Plugin</a><br>
+ <a href="#What to do with spam">What to do with spam</a><br>
+ <a href="#System logging">System logging</a><br>
+ <a href="#Advanced SpamAssassin Settings">Advanced SpamAssassin Settings</a><br>
+@@ -953,6 +954,30 @@
+ <tr valign="top" align="left">
+ <td width="11%"></td>
+ <td width="89%">
++<p><b>Scan Messages</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -48,14 +27,14 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: Your Organisation Name Here</p>
++<p>Default: yes</p>
+<!-- INDENTATION -->
-+<p>Enter the full name of your organisation below, this is
-+used in the signature placed at the bottom of report
-+messages sent by MailScanner. It can include pretty much any
-+text you like. You can make the result span several lines by
-+including &quot;0 sequences in the text. These will be
-+replaced by line&minus;breaks.</p>
++<p>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.</p>
+</td>
+</table>
+<!-- INDENTATION -->
@@ -64,7 +43,14 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
-+<p><b>%web&minus;site%</b></p></td>
+ <p><b>Maximum Attachments Per Message</b></p></td>
+ </table>
+ <!-- INDENTATION -->
+@@ -2523,6 +2548,27 @@
+ <tr valign="top" align="left">
+ <td width="11%"></td>
+ <td width="89%">
++<p><b>Quarantine Modified Body</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -72,52 +58,45 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: www.your&minus;organisation.com</p>
++<p>Default: no</p>
+<!-- INDENTATION -->
-+<p>Enter the location of your organisation&rsquo;s web site
-+below. This is used in the signature placed at the bottom of
-+report messages sent by MailScanner. It should preferably be
-+the location of a page that you have written explaining why
-+you might have rejected the mail and what the recipient
-+and/or sender should do about it.</p>
++<p>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.</p>
+</td>
+</table>
- <a name="System Settings"></a>
- <h2>System Settings</h2>
- <!-- INDENTATION -->
-@@ -1071,6 +1121,54 @@
- <tr valign="top" align="left">
- <td width="11%"></td>
- <td width="89%">
-+<p><b>Unrar Command</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>Default: /usr/bin/unrar</p>
-+<!-- INDENTATION -->
-+<p>Where the &quot;unrar&quot; command is installed. If you
-+haven&rsquo;t got this command, look at www.rarlab.com. This
-+is used for unpacking rar archives so that the contents can
-+be checked for banned filenames and filetypes, and also that
-+the archive can be tested to see if it is
-+password&minus;protected. Virus scanning the contents of rar
-+archives is still left to the virus scanner, with one
-+exception: If using the clavavmodule virus scanner, this
-+adds external RAR checking to that scanner which is needed
-+for archives which are RAR version 3.</p>
++<td width="11%"></td>
++<td width="89%">
+ <p><b>Quarantine Whole Message</b></p></td>
+ </table>
+ <!-- INDENTATION -->
+@@ -4909,10 +4955,239 @@
+ <td width="78%">
+ <p>Default: no</p>
+ <!-- INDENTATION -->
+-<p># 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</p>
++<p>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.</p>
+</td>
+</table>
++<a name="Custom Spam Scanner Plugin"></a>
++<h2>Custom Spam Scanner Plugin</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>Unrar Timeout</b></p></td>
++<p><b>Use Custom Spam Scanner</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -125,53 +104,117 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: 50</p>
++<p>Default: no</p>
+<!-- INDENTATION -->
-+<p>The maximum length of time the &quot;unrar&quot; command
-+is allowed to run for 1 RAR archive (in seconds)</p>
++<p>Use the Custom Spam Scanner. This is code you will have
++to write yourself, a function called
++&quot;GenericSpamScanner&quot; stored in the file
++&quot;MailScanner/lib/MailScanner/CustomFunctions/GenericSpamScanner.pm&quot;.
++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</p>
+</td>
+</table>
-+<!-- INDENTATION -->
++<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
-+ cols="2" cellspacing="0" cellpadding="0">
++ cols="5" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
-+<td width="11%"></td>
-+<td width="89%">
- <p><b>Block Encrypted Messages</b></p></td>
- </table>
- <!-- INDENTATION -->
-@@ -1638,6 +1736,90 @@
- scanner, not the &quot;clamav&quot; scanner setting.</p>
- </td>
- </table>
-+<!-- INDENTATION -->
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="4%">
++
++<p>$IP</p>
++</td>
++<td width="68%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%"></td>
++<td width="5%"></td>
++<td width="4%">
++</td>
++<td width="68%">
++
++<p>&minus; the numeric IP address of the system on the
++remote end of the SMTP connections</p>
++</td>
++</table>
++<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
-+ cols="2" cellspacing="0" cellpadding="0">
++ cols="7" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
-+<td width="11%"></td>
-+<td width="89%">
-+<p><b>ClamAVmodule Maximum Recursion Level</b></p></td>
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="7%">
++
++<p>$From</p>
++</td>
++<td width="2%"></td>
++<td width="8%">
++
++<p>&minus; the address of the envelope sender of the
++message</p>
++</td>
++<td width="55%">
++</td>
+</table>
-+<!-- INDENTATION -->
++<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
-+ cols="2" cellspacing="0" cellpadding="0">
++ cols="6" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
-+<td width="78%">
-+<p>Default: 5</p>
-+<!-- INDENTATION -->
-+<p>ClamAVModule only: The maximum recursion level of
-+archives. This setting *cannot* be the filename of a
-+ruleset, only a simple number.</p>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="9%">
++
++<p>$To</p>
++</td>
++<td width="8%"></td>
++<td width="55%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%"></td>
++<td width="5%"></td>
++<td width="9%">
++</td>
++<td width="8%">
++
++<p>&minus; a perl reference to the envelope recipients of
++the message</p>
++</td>
++<td width="55%">
+</td>
+</table>
-+<!-- INDENTATION -->
++<!-- TABS -->
+<table width="100%" border=0 rules="none" frame="void"
-+ cols="2" cellspacing="0" cellpadding="0">
++ cols="5" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
-+<td width="11%"></td>
-+<td width="89%">
-+<p><b>ClamAVmodule Maximum Files</b></p></td>
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="12%">
++
++<p>$Message</p>
++</td>
++<td width="60%">
++</td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -179,12 +222,8 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: 100</p>
-+<!-- INDENTATION -->
-+<p>ClamAVModule only: The maximum number of files per batch.
-+This setting *cannot* be the filename of a ruleset, only a
-+simple number.</p>
-+</td>
++<p>&minus; a perl reference to the list of line of the
++message</p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -192,7 +231,7 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
-+<p><b>ClamAVmodule Maximum File Size</b></p></td>
++<p><b>Max Custom Spam Scanner Size</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -200,11 +239,13 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: 10000000</p>
++<p>Default: 20000</p>
+<!-- INDENTATION -->
-+<p>ClamAVModule only: The maximum file of each file (Default
-+= 10MB). This setting *cannot* be the filename of a ruleset,
-+only a simple number.</p>
++<p>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.</p>
+</td>
+</table>
+<!-- INDENTATION -->
@@ -213,7 +254,7 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
-+<p>ClamAVmodule Maximum Compression Ratio</p></td>
++<p><b>Custom Spam Scanner Timeout</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -221,54 +262,33 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: 250</p>
++<p>Default: 20</p>
+<!-- INDENTATION -->
-+<p>ClamAVModule only: The maximum compression ration of
-+archives. This setting *cannot* be the filename of a
-+ruleset, only a simple number.</p>
++<p>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&minus;of&minus;service attacks.</p>
+</td>
+</table>
- <a name="Removing/Logging dangerous or potentially offensive content"></a>
- <h2>Removing/Logging dangerous or potentially offensive content</h2>
- <!-- INDENTATION -->
-@@ -1761,6 +1943,33 @@
- <tr valign="top" align="left">
- <td width="11%"></td>
- <td width="89%">
-+<p><b>Phishing Safe Sites File</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>Default: %etc&minus;dir%/phishing.safe.sites.conf</p>
-+<!-- INDENTATION -->
-+<p>There are some companies, such as banks, that insist on
-+sending out email messages with links in them that are
-+caught by the &quot;Find Phishing Fraud&quot; test described
-+above. This is the name of a file which contains a list of
-+link destinations which should be ignored in the test. This
-+may, for example, contain the known websites of some banks.
-+See the file itself for more information. This can only be
-+the name of the file containing the list, it *cannot* be the
-+filename of a ruleset.</p>
-+</td>
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Custom Spam Scanner Timeouts</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="11%"></td>
-+<td width="89%">
- <p><b>Allow IFrame Tags</b></p></td>
- </table>
- <!-- INDENTATION -->
-@@ -5122,6 +5331,28 @@
- <p>Log all occurrences of &quot;Silent Viruses&quot; as
- defined above? This can only be a simple yes/no value, not a
- ruleset.</p>
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 10</p>
++<!-- INDENTATION -->
++<p>If the Custom Spam Scanner times out more times in a row
++than this, then it will be marked as &quot;unavailable&quot;
++until MailScanner next re&minus;starts itself.</p>
+</td>
+</table>
+<!-- INDENTATION -->
@@ -277,7 +297,7 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
-+<p><b>Log Dangerous HTML Tags</b></p></td>
++<p><b>Custom Spam Scanner Timeout History</b></p></td>
+</table>
+<!-- INDENTATION -->
+<table width="100%" border=0 rules="none" frame="void"
@@ -285,12 +305,16 @@
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="78%">
-+<p>Default: no<br>
-+Log all occurrences of HTML tags found in messages, that can
-+be blocked. This will help you build up your whitelist of
-+message sources for which particular HTML tags should be
-+allowed, such as mail from newsletters and daily cartoon
-+strips. This can also be the filename of a ruleset.</p>
++<p>Default: 20</p>
++<!-- INDENTATION -->
++<p>The total number of Custom Spam Scanner attempts during
++which &quot;Max Custom Spam Scanner Timeouts&quot; will
++cause the Custom Spam Scanner to be marked as
++&quot;unavailable&quot;. 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 &quot;Restart Every&quot;).</p>
</td>
</table>
- <a name="Advanced SpamAssassin Settings"></a>
+ <a name="What to do with spam"></a>
diff --git a/mail/mailscanner-devel/pkg-plist b/mail/mailscanner-devel/pkg-plist
index 04543e839b88..879397c1e017 100644
--- a/mail/mailscanner-devel/pkg-plist
+++ b/mail/mailscanner-devel/pkg-plist
@@ -18,11 +18,13 @@ lib/MailScanner/MailScanner/BinHex.pm
lib/MailScanner/MailScanner/Config.pm
lib/MailScanner/MailScanner/ConfigDefs.pl
lib/MailScanner/MailScanner/CustomConfig.pm
+lib/MailScanner/MailScanner/CustomFunctions/GenericSpamScanner.pm
lib/MailScanner/MailScanner/CustomFunctions/MyExample.pm
lib/MailScanner/MailScanner/CustomFunctions/DavidHooton.pm
lib/MailScanner/MailScanner/CustomFunctions/ZMRouterDirHash.pm
lib/MailScanner/MailScanner/Exim.pm
lib/MailScanner/MailScanner/EximDiskStore.pm
+lib/MailScanner/MailScanner/GenericSpam.pm
lib/MailScanner/MailScanner/Lock.pm
lib/MailScanner/MailScanner/Log.pm
lib/MailScanner/MailScanner/MCP.pm
@@ -142,10 +144,12 @@ 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
%%DATADIR%%/reports/cz/disinfected.report.txt.sample
+%%DATADIR%%/reports/cz/filename.rules.txt.sample
%%DATADIR%%/reports/cz/inline.sig.html.sample
%%DATADIR%%/reports/cz/inline.sig.txt.sample
%%DATADIR%%/reports/cz/inline.spam.warning.txt.sample
@@ -443,6 +447,7 @@ libexec/MailScanner/vexira-wrapper.sample
%%DATADIR%%/reports/sk/stored.content.message.txt.sample
%%DATADIR%%/reports/sk/stored.filename.message.txt.sample
%%DATADIR%%/reports/sk/stored.virus.message.txt.sample
+%%PORTDOCS%%%%DOCSDIR%%/Book.Dec04-Aug05.pdf
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/FreeBSD.html
@@ -473,6 +478,7 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/images/thumb_JulianField5.jpg
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/index.new.html
+%%PORTDOCS%%%%DOCSDIR%%/index.old.html
%%PORTDOCS%%%%DOCSDIR%%/install/ClamAVModule.shtml
%%PORTDOCS%%%%DOCSDIR%%/install/OS-virus-scan-web.htm
%%PORTDOCS%%%%DOCSDIR%%/install/README.trend
@@ -492,12 +498,18 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Conf.pm.patch.2.61
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Conf.pm.patch.2.63
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Conf.pm.patch.3.0.0
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Conf.pm.patch.3.0.3
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Conf.pm.patch.3.0.4
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Message.pm.patch.3.0.0
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Message.pm.patch.3.0.3
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/Message.pm.patch.3.0.4
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.2.55
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.2.60
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.2.61
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.2.63
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.3.0.0
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.3.0.3
+%%PORTDOCS%%%%DOCSDIR%%/install/mcp/PerMsgStatus.pm.patch.3.0.4
%%PORTDOCS%%%%DOCSDIR%%/install/mcp/index.html
%%PORTDOCS%%@exec mkdir -p %D/%%DOCSDIR%%/install/tcp
%%PORTDOCS%%%%DOCSDIR%%/install/mime-tools-patch.txt
@@ -515,7 +527,7 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/install/tnef.shtml
%%PORTDOCS%%%%DOCSDIR%%/install/zmailer.shtml
%%PORTDOCS%%%%DOCSDIR%%/introduction.shtml
-%%PORTDOCS%%%%DOCSDIR%%/jobs
+%%PORTDOCS%%%%DOCSDIR%%/last-spam-logo.jpg
%%PORTDOCS%%%%DOCSDIR%%/mailscanner_trans.gif
%%PORTDOCS%%%%DOCSDIR%%/man/MailScanner.8
%%PORTDOCS%%%%DOCSDIR%%/man/MailScanner.8.html
@@ -528,12 +540,15 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/osdir.png
%%PORTDOCS%%%%DOCSDIR%%/performance.shtml
%%PORTDOCS%%%%DOCSDIR%%/phishing3.png
+%%PORTDOCS%%%%DOCSDIR%%/phishingcartoon.gif
%%PORTDOCS%%%%DOCSDIR%%/poetry.shtml
%%PORTDOCS%%%%DOCSDIR%%/poweredby.google.gif
%%PORTDOCS%%%%DOCSDIR%%/poweredby.transtec.gif
%%PORTDOCS%%%%DOCSDIR%%/phishing.html
%%PORTDOCS%%%%DOCSDIR%%/phishing.jpg
%%PORTDOCS%%%%DOCSDIR%%/phishing2.jpg
+%%PORTDOCS%%%%DOCSDIR%%/phishingnet.info/index.html
+%%PORTDOCS%%%%DOCSDIR%%/phishingnet.info/PhishingNet.gif
%%PORTDOCS%%%%DOCSDIR%%/pressreleases.html
%%PORTDOCS%%%%DOCSDIR%%/presentations.html
%%PORTDOCS%%%%DOCSDIR%%/press.html
@@ -541,6 +556,7 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%%%DOCSDIR%%/readme.shtml
%%PORTDOCS%%%%DOCSDIR%%/reject.html
%%PORTDOCS%%%%DOCSDIR%%/sobig.html
+%%PORTDOCS%%%%DOCSDIR%%/store.html
%%PORTDOCS%%%%DOCSDIR%%/support.html
%%PORTDOCS%%%%DOCSDIR%%/transtec.logo.gif
%%PORTDOCS%%%%DOCSDIR%%/users.shtml
@@ -550,6 +566,7 @@ libexec/MailScanner/vexira-wrapper.sample
%%PORTDOCS%%@dirrm %%DOCSDIR%%/install/mcp
%%PORTDOCS%%@dirrm %%DOCSDIR%%/install
%%PORTDOCS%%@dirrm %%DOCSDIR%%/images
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/phishingnet.info
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm %%DATADIR%%/reports/sk
@dirrm %%DATADIR%%/reports/se