You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by km...@apache.org on 2014/02/11 18:26:52 UTC

svn commit: r1567225 [9/15] - in /spamassassin/site/full/3.4.x: ./ doc/

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_ASN.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_ASN.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_ASN.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_ASN.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,102 @@
+NAME
+    Mail::SpamAssassin::Plugin::ASN - SpamAssassin plugin to look up the
+    Autonomous System Number (ASN) of the connecting IP address.
+
+SYNOPSIS
+     loadplugin Mail::SpamAssassin::Plugin::ASN
+
+     asn_lookup asn.routeviews.org _ASN_ _ASNCIDR_
+
+     add_header all ASN _ASN_ _ASNCIDR_
+
+DESCRIPTION
+    This plugin uses DNS lookups to the services of an external DNS zone
+    such as at "http://www.routeviews.org/" to do the actual work. Please
+    make sure that your use of the plugin does not overload their
+    infrastructure - this generally means that you should not use this
+    plugin in a high-volume environment or that you should use a local
+    mirror of the zone (see "ftp://ftp.routeviews.org/dnszones/"). Other
+    similar zones may also be used.
+
+TEMPLATE TAGS
+    This plugin allows you to create template tags containing the connecting
+    IP's AS number and route info for that AS number.
+
+    The default config will add a header field that looks like this:
+
+     X-Spam-ASN: AS24940 213.239.192.0/18
+
+    where "24940" is the ASN and "213.239.192.0/18" is the route announced
+    by that ASN where the connecting IP address came from. If the AS
+    announces multiple networks (more/less specific), they will all be added
+    to the "_ASNCIDR_" tag, separated by spaces, eg:
+
+     X-Spam-ASN: AS1680 89.138.0.0/15 89.139.0.0/16
+
+    Note that the literal "AS" before the ASN in the _ASN_ tag is
+    configurable through the *asn_prefix* directive and may be set to an
+    empty string.
+
+CONFIGURATION
+    The standard ruleset contains a configuration that will add a header
+    field containing ASN data to scanned messages. The bayes tokenizer will
+    use the added header field for bayes calculations, and thus affect which
+    BAYES_* rule will trigger for a particular message.
+
+    Note that in most cases you should not score on the ASN data directly.
+    Bayes learning will probably trigger on the _ASNCIDR_ tag, but probably
+    not very well on the _ASN_ tag alone.
+
+SEE ALSO
+    http://www.routeviews.org/ - all data regarding routing, ASNs, etc....
+
+    http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4770 -
+    SpamAssassin Issue #4770 concerning this plugin
+
+STATUS
+    No in-depth analysis of the usefulness of bayes tokenization of ASN data
+    has been performed.
+
+ADMINISTRATOR SETTINGS
+    asn_lookup asn-zone.example.com [ _ASNTAG_ _ASNCIDRTAG_ ]
+        Use this to lookup the ASN info in the specified zone for the first
+        external IP address and add the AS number to the first specified tag
+        and routing info to the second specified tag.
+
+        If no tags are specified the AS number will be added to the _ASN_
+        tag and the routing info will be added to the _ASNCIDR_ tag. You
+        must specify either none or both of the tag names. Tag names must
+        start and end with an underscore.
+
+        If two or more *asn_lookup*s use the same set of template tags, the
+        results of their lookups will be appended to each other in the
+        template tag values in no particular order. Duplicate results will
+        be omitted when combining results. In a similar fashion, you can
+        also use the same template tag for both the AS number tag and the
+        routing info tag.
+
+        Examples:
+
+          asn_lookup asn.routeviews.org
+
+          asn_lookup asn.routeviews.org _ASN_ _ASNCIDR_
+          asn_lookup myview.example.com _MYASN_ _MYASNCIDR_
+
+          asn_lookup asn.routeviews.org _COMBINEDASN_ _COMBINEDASNCIDR_
+          asn_lookup myview.example.com _COMBINEDASN_ _COMBINEDASNCIDR_
+
+          asn_lookup in1tag.example.net _ASNDATA_ _ASNDATA_
+
+    clear_asn_lookups
+
+    Removes any previously declared *asn_lookup* entries from a list of
+    queries.
+
+    asn_prefix 'prefix_string' (default: 'AS')
+        The string specified in the argument is prepended to each ASN when
+        storing it as a tag. This prefix is rather redundant, but its
+        default value 'AS' is kept for backward compatibility with versions
+        of SpamAssassin earlier than 3.4.0. A sensible setting is an empty
+        string. The argument may be (but need not be) enclosed in single or
+        double quotes for clarity.
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::AWL - Normalize scores via auto-whitelist</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+	<li><a href="#template_tags">TEMPLATE TAGS</a></li>
+	<li><a href="#user_preferences">USER PREFERENCES</a></li>
+	<li><a href="#administrator_settings">ADMINISTRATOR SETTINGS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::AWL - Normalize scores via auto-whitelist</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<p>To try this out, add this or uncomment this line in init.pre:</p>
+<pre>
+  loadplugin     Mail::SpamAssassin::Plugin::AWL</pre>
+<p>Use the supplied 60_awl.cf file (ie you don't have to do anything) or
+add these lines to a .cf file:</p>
+<pre>
+  header AWL             eval:check_from_in_auto_whitelist()
+  describe AWL           From: address is in the auto white-list
+  tflags AWL             userconf noautolearn
+  priority AWL           1000</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>This plugin module provides support for the auto-whitelist.  It keeps
+track of the average SpamAssassin score for senders.  Senders are
+tracked using a combination of their From: address and their IP address.
+It then uses that average score to reduce the variability in scoring
+from message to message and modifies the final score by pushing the
+result towards the historical average.  This improves the accuracy of
+filtering for most email.</p>
+<p>
+</p>
+<hr />
+<h1><a name="template_tags">TEMPLATE TAGS</a></h1>
+<p>This plugin module adds the following <code>tags</code> that can be used as
+placeholders in certain options.  See <code>Mail::SpamAssassin::Conf</code>
+for more information on TEMPLATE TAGS.</p>
+<pre>
+ _AWL_             AWL modifier
+ _AWLMEAN_         Mean score on which AWL modification is based
+ _AWLCOUNT_        Number of messages on which AWL modification is based
+ _AWLPRESCORE_     Score before AWL</pre>
+<p>
+</p>
+<hr />
+<h1><a name="user_preferences">USER PREFERENCES</a></h1>
+<p>The following options can be used in both site-wide (<code>local.cf</code>) and
+user-specific (<code>user_prefs</code>) configuration files to customize how
+SpamAssassin handles incoming email messages.</p>
+<dl>
+<dt><strong><a name="item_use_auto_whitelist">use_auto_whitelist ( 0 | 1 )		(default: 1)</a></strong><br />
+</dt>
+<dd>
+Whether to use auto-whitelists.  Auto-whitelists track the long-term
+average score for each sender and then shift the score of new messages
+toward that long-term average.  This can increase or decrease the score
+for messages, depending on the long-term behavior of the particular
+correspondent.
+</dd>
+<dd>
+<p>For more information about the auto-whitelist system, please look
+at the the <code>Automatic Whitelist System</code> section of the README file.
+The auto-whitelist is not intended as a general-purpose replacement
+for static whitelist entries added to your config files.</p>
+</dd>
+<dd>
+<p>Note that certain tests are ignored when determining the final
+message score:</p>
+</dd>
+<dd>
+<pre>
+ - rules with tflags set to 'noautolearn'</pre>
+</dd>
+<p></p>
+<dt><strong><a name="item_n">auto_whitelist_factor n	(default: 0.5, range [0..1])</a></strong><br />
+</dt>
+<dd>
+How much towards the long-term mean for the sender to regress a message.
+Basically, the algorithm is to track the long-term mean score of messages for
+the sender (<code>mean</code>), and then once we have otherwise fully calculated the
+score for this message (<code>score</code>), we calculate the final score for the
+message as:
+</dd>
+<dd>
+<p><code>finalscore</code> = <code>score</code> +  (<code>mean</code> - <code>score</code>) * <code>factor</code></p>
+</dd>
+<dd>
+<p>So if <code>factor</code> = 0.5, then we'll move to half way between the calculated
+score and the mean.  If <code>factor</code> = 0.3, then we'll move about 1/3 of the way
+from the score toward the mean.  <code>factor</code> = 1 means just use the long-term
+mean; <code>factor</code> = 0 mean just use the calculated score.</p>
+</dd>
+<p></p>
+<dt><strong>auto_whitelist_ipv4_mask_len n	(default: 16, range [0..32])</strong><br />
+</dt>
+<dd>
+The AWL database keeps only the specified number of most-significant bits
+of an IPv4 address in its fields, so that different individual IP addresses
+within a subnet belonging to the same owner are managed under a single
+database record. As we have no information available on the allocated
+address ranges of senders, this CIDR mask length is only an approximation.
+The default is 16 bits, corresponding to a former class B. Increase the
+number if a finer granularity is desired, e.g. to 24 (class C) or 32.
+A value 0 is allowed but is not particularly useful, as it would treat the
+whole internet as a single organization. The number need not be a multiple
+of 8, any split is allowed.
+</dd>
+<p></p>
+<dt><strong>auto_whitelist_ipv6_mask_len n	(default: 48, range [0..128])</strong><br />
+</dt>
+<dd>
+The AWL database keeps only the specified number of most-significant bits
+of an IPv6 address in its fields, so that different individual IP addresses
+within a subnet belonging to the same owner are managed under a single
+database record. As we have no information available on the allocated address
+ranges of senders, this CIDR mask length is only an approximation. The default
+is 48 bits, corresponding to an address range commonly allocated to individual
+(smaller) organizations. Increase the number for a finer granularity, e.g.
+to 64 or 96 or 128, or decrease for wider ranges, e.g. 32.  A value 0 is
+allowed but is not particularly useful, as it would treat the whole internet
+as a single organization. The number need not be a multiple of 4, any split
+is allowed.
+</dd>
+<p></p>
+<dt><strong><a name="item_user_awl_sql_override_username">user_awl_sql_override_username</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>If this option is set the SQLBasedAddrList module will override the set
+username with the value given.  This can be useful for implementing global
+or group based auto-whitelist databases.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_auto_whitelist_distinguish_signed">auto_whitelist_distinguish_signed</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>If this option is set the SQLBasedAddrList module will keep separate
+database entries for DKIM-validated e-mail addresses and for non-validated
+ones. A pre-requisite when setting this option is that a field awl.signedby
+exists in a SQL table, otherwise SQL operations will fail (which is why we
+need this option at all - for compatibility with pre-3.3.0 database schema).
+A plugin DKIM should also be enabled, as otherwise there is no benefit from
+turning on this option.</p>
+</dd>
+<p></p></dl>
+<p>
+</p>
+<hr />
+<h1><a name="administrator_settings">ADMINISTRATOR SETTINGS</a></h1>
+<p>These settings differ from the ones above, in that they are considered 'more
+privileged' -- even more than the ones in the <strong>PRIVILEGED SETTINGS</strong> section.
+No matter what <code>allow_user_rules</code> is set to, these can never be set from a
+user's <code>user_prefs</code> file.</p>
+<dl>
+<dt><strong><a name="item_module">auto_whitelist_factory module (default: Mail::SpamAssassin::DBBasedAddrList)</a></strong><br />
+</dt>
+<dd>
+Select alternative whitelist factory module.
+</dd>
+<p></p>
+<dt><strong><a name="item_filename">auto_whitelist_path /path/filename (default: ~/.spamassassin/auto-whitelist)</a></strong><br />
+</dt>
+<dd>
+This is the automatic-whitelist directory and filename.  By default, each user
+has their own whitelist database in their <code>~/.spamassassin</code> directory with
+mode 0700.  For system-wide SpamAssassin use, you may want to share this
+across all users, although that is not recommended.
+</dd>
+<p></p>
+<dt><strong><a name="item_auto_whitelist_db_modules_module__2e_2e_2e__28defa">auto_whitelist_db_modules Module ...	(default: see below)</a></strong><br />
+</dt>
+<dd>
+What database modules should be used for the auto-whitelist storage database
+file.   The first named module that can be loaded from the perl include path
+will be used.  The format is:
+</dd>
+<dd>
+<pre>
+  PreferredModuleName SecondBest ThirdBest ...</pre>
+</dd>
+<dd>
+<p>ie. a space-separated list of perl module names.  The default is:</p>
+</dd>
+<dd>
+<pre>
+  DB_File GDBM_File SDBM_File</pre>
+</dd>
+<dd>
+<p>NDBM_File is no longer supported, since it appears to have bugs that
+preclude its use for the AWL (see SpamAssassin bug 4353).</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_auto_whitelist_file_mode">auto_whitelist_file_mode		(default: 0700)</a></strong><br />
+</dt>
+<dd>
+The file mode bits used for the automatic-whitelist directory or file.
+</dd>
+<dd>
+<p>Make sure you specify this using the 'x' mode bits set, as it may also be used
+to create directories.  However, if a file is created, the resulting file will
+not have any execute bits set (the umask is set to 0111).</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_user_awl_dsn_dbi_3adatabasetype_3adatabasename_3ah">user_awl_dsn DBI:databasetype:databasename:hostname:port</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>This will set the DSN used to connect.  Example:
+<code>DBI:mysql:spamassassin:localhost</code></p>
+</dd>
+<p></p>
+<dt><strong><a name="item_user_awl_sql_username_username">user_awl_sql_username username</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>The authorized username to connect to the above DSN.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_user_awl_sql_password_password">user_awl_sql_password password</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>The password for the database username, for the above DSN.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_user_awl_sql_table_tablename">user_awl_sql_table tablename</a></strong><br />
+</dt>
+<dd>
+Used by the SQLBasedAddrList storage implementation.
+</dd>
+<dd>
+<p>The table user auto-whitelists are stored in, for the above DSN.</p>
+</dd>
+<p></p></dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AWL.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,180 @@
+NAME
+    Mail::SpamAssassin::Plugin::AWL - Normalize scores via auto-whitelist
+
+SYNOPSIS
+    To try this out, add this or uncomment this line in init.pre:
+
+      loadplugin     Mail::SpamAssassin::Plugin::AWL
+
+    Use the supplied 60_awl.cf file (ie you don't have to do anything) or
+    add these lines to a .cf file:
+
+      header AWL             eval:check_from_in_auto_whitelist()
+      describe AWL           From: address is in the auto white-list
+      tflags AWL             userconf noautolearn
+      priority AWL           1000
+
+DESCRIPTION
+    This plugin module provides support for the auto-whitelist. It keeps
+    track of the average SpamAssassin score for senders. Senders are tracked
+    using a combination of their From: address and their IP address. It then
+    uses that average score to reduce the variability in scoring from
+    message to message and modifies the final score by pushing the result
+    towards the historical average. This improves the accuracy of filtering
+    for most email.
+
+TEMPLATE TAGS
+    This plugin module adds the following "tags" that can be used as
+    placeholders in certain options. See "Mail::SpamAssassin::Conf" for more
+    information on TEMPLATE TAGS.
+
+     _AWL_             AWL modifier
+     _AWLMEAN_         Mean score on which AWL modification is based
+     _AWLCOUNT_        Number of messages on which AWL modification is based
+     _AWLPRESCORE_     Score before AWL
+
+USER PREFERENCES
+    The following options can be used in both site-wide ("local.cf") and
+    user-specific ("user_prefs") configuration files to customize how
+    SpamAssassin handles incoming email messages.
+
+    use_auto_whitelist ( 0 | 1 ) (default: 1)
+        Whether to use auto-whitelists. Auto-whitelists track the long-term
+        average score for each sender and then shift the score of new
+        messages toward that long-term average. This can increase or
+        decrease the score for messages, depending on the long-term behavior
+        of the particular correspondent.
+
+        For more information about the auto-whitelist system, please look at
+        the the "Automatic Whitelist System" section of the README file. The
+        auto-whitelist is not intended as a general-purpose replacement for
+        static whitelist entries added to your config files.
+
+        Note that certain tests are ignored when determining the final
+        message score:
+
+         - rules with tflags set to 'noautolearn'
+
+    auto_whitelist_factor n (default: 0.5, range [0..1])
+        How much towards the long-term mean for the sender to regress a
+        message. Basically, the algorithm is to track the long-term mean
+        score of messages for the sender ("mean"), and then once we have
+        otherwise fully calculated the score for this message ("score"), we
+        calculate the final score for the message as:
+
+        "finalscore" = "score" + ("mean" - "score") * "factor"
+
+        So if "factor" = 0.5, then we'll move to half way between the
+        calculated score and the mean. If "factor" = 0.3, then we'll move
+        about 1/3 of the way from the score toward the mean. "factor" = 1
+        means just use the long-term mean; "factor" = 0 mean just use the
+        calculated score.
+
+    auto_whitelist_ipv4_mask_len n (default: 16, range [0..32])
+        The AWL database keeps only the specified number of most-significant
+        bits of an IPv4 address in its fields, so that different individual
+        IP addresses within a subnet belonging to the same owner are managed
+        under a single database record. As we have no information available
+        on the allocated address ranges of senders, this CIDR mask length is
+        only an approximation. The default is 16 bits, corresponding to a
+        former class B. Increase the number if a finer granularity is
+        desired, e.g. to 24 (class C) or 32. A value 0 is allowed but is not
+        particularly useful, as it would treat the whole internet as a
+        single organization. The number need not be a multiple of 8, any
+        split is allowed.
+
+    auto_whitelist_ipv6_mask_len n (default: 48, range [0..128])
+        The AWL database keeps only the specified number of most-significant
+        bits of an IPv6 address in its fields, so that different individual
+        IP addresses within a subnet belonging to the same owner are managed
+        under a single database record. As we have no information available
+        on the allocated address ranges of senders, this CIDR mask length is
+        only an approximation. The default is 48 bits, corresponding to an
+        address range commonly allocated to individual (smaller)
+        organizations. Increase the number for a finer granularity, e.g. to
+        64 or 96 or 128, or decrease for wider ranges, e.g. 32. A value 0 is
+        allowed but is not particularly useful, as it would treat the whole
+        internet as a single organization. The number need not be a multiple
+        of 4, any split is allowed.
+
+    user_awl_sql_override_username
+        Used by the SQLBasedAddrList storage implementation.
+
+        If this option is set the SQLBasedAddrList module will override the
+        set username with the value given. This can be useful for
+        implementing global or group based auto-whitelist databases.
+
+    auto_whitelist_distinguish_signed
+        Used by the SQLBasedAddrList storage implementation.
+
+        If this option is set the SQLBasedAddrList module will keep separate
+        database entries for DKIM-validated e-mail addresses and for
+        non-validated ones. A pre-requisite when setting this option is that
+        a field awl.signedby exists in a SQL table, otherwise SQL operations
+        will fail (which is why we need this option at all - for
+        compatibility with pre-3.3.0 database schema). A plugin DKIM should
+        also be enabled, as otherwise there is no benefit from turning on
+        this option.
+
+ADMINISTRATOR SETTINGS
+    These settings differ from the ones above, in that they are considered
+    'more privileged' -- even more than the ones in the PRIVILEGED SETTINGS
+    section. No matter what "allow_user_rules" is set to, these can never be
+    set from a user's "user_prefs" file.
+
+    auto_whitelist_factory module (default:
+    Mail::SpamAssassin::DBBasedAddrList)
+        Select alternative whitelist factory module.
+
+    auto_whitelist_path /path/filename (default:
+    ~/.spamassassin/auto-whitelist)
+        This is the automatic-whitelist directory and filename. By default,
+        each user has their own whitelist database in their
+        "~/.spamassassin" directory with mode 0700. For system-wide
+        SpamAssassin use, you may want to share this across all users,
+        although that is not recommended.
+
+    auto_whitelist_db_modules Module ... (default: see below)
+        What database modules should be used for the auto-whitelist storage
+        database file. The first named module that can be loaded from the
+        perl include path will be used. The format is:
+
+          PreferredModuleName SecondBest ThirdBest ...
+
+        ie. a space-separated list of perl module names. The default is:
+
+          DB_File GDBM_File SDBM_File
+
+        NDBM_File is no longer supported, since it appears to have bugs that
+        preclude its use for the AWL (see SpamAssassin bug 4353).
+
+    auto_whitelist_file_mode (default: 0700)
+        The file mode bits used for the automatic-whitelist directory or
+        file.
+
+        Make sure you specify this using the 'x' mode bits set, as it may
+        also be used to create directories. However, if a file is created,
+        the resulting file will not have any execute bits set (the umask is
+        set to 0111).
+
+    user_awl_dsn DBI:databasetype:databasename:hostname:port
+        Used by the SQLBasedAddrList storage implementation.
+
+        This will set the DSN used to connect. Example:
+        "DBI:mysql:spamassassin:localhost"
+
+    user_awl_sql_username username
+        Used by the SQLBasedAddrList storage implementation.
+
+        The authorized username to connect to the above DSN.
+
+    user_awl_sql_password password
+        Used by the SQLBasedAddrList storage implementation.
+
+        The password for the database username, for the above DSN.
+
+    user_awl_sql_table tablename
+        Used by the SQLBasedAddrList storage implementation.
+
+        The table user auto-whitelists are stored in, for the above DSN.
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::AccessDB - check message against Access Database</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::AccessDB - check message against Access Database</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+  loadplugin     Mail::SpamAssassin::Plugin::AccessDB</pre>
+<pre>
+  header   ACCESSDB  eval:check_access_database('/etc/mail/access.db')
+  describe ACCESSDB  Message would have been caught by accessdb
+  tflags   ACCESSDB  userconf
+  score    ACCESSDB  2</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>Many MTAs support access databases, such as Sendmail, Postfix, etc.
+This plugin does similar checks to see whether a message would have
+been flagged.</p>
+<p>The rule returns false if an entry isn't found, or the entry has a RHS of
+<em>OK</em> or <em>SKIP</em>.</p>
+<p>The rule returns true if an entry exists and has a RHS of <em>REJECT</em>, <em>ERROR</em>,
+or <em>DISCARD</em>.</p>
+<p>Note: only the first word (split on non-word characters) of the RHS
+is checked, so <code>error:5.7.1:...</code> means <code>ERROR</code>.</p>
+<p><strong>AccessDB Pointers:</strong></p>
+<pre>
+  <a href="http://www.faqs.org/docs/securing/chap22sec178.html">http://www.faqs.org/docs/securing/chap22sec178.html</a>
+  <a href="http://www.postfix.org/access.5.html">http://www.postfix.org/access.5.html</a></pre>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AccessDB.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,31 @@
+NAME
+    Mail::SpamAssassin::Plugin::AccessDB - check message against Access
+    Database
+
+SYNOPSIS
+      loadplugin     Mail::SpamAssassin::Plugin::AccessDB
+
+      header   ACCESSDB  eval:check_access_database('/etc/mail/access.db')
+      describe ACCESSDB  Message would have been caught by accessdb
+      tflags   ACCESSDB  userconf
+      score    ACCESSDB  2
+
+DESCRIPTION
+    Many MTAs support access databases, such as Sendmail, Postfix, etc. This
+    plugin does similar checks to see whether a message would have been
+    flagged.
+
+    The rule returns false if an entry isn't found, or the entry has a RHS
+    of *OK* or *SKIP*.
+
+    The rule returns true if an entry exists and has a RHS of *REJECT*,
+    *ERROR*, or *DISCARD*.
+
+    Note: only the first word (split on non-word characters) of the RHS is
+    checked, so "error:5.7.1:..." means "ERROR".
+
+    AccessDB Pointers:
+
+      http://www.faqs.org/docs/securing/chap22sec178.html
+      http://www.postfix.org/access.5.html
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>AntiVirus - simple anti-virus tests</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>AntiVirus - simple anti-virus tests</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+  loadplugin     Mail::SpamAssassin::Plugin::AntiVirus</pre>
+<pre>
+  body MICROSOFT_EXECUTABLE eval:check_microsoft_executable()
+  body MIME_SUSPECT_NAME    eval:check_suspect_name()</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>The MICROSOFT_EXECUTABLE rule works by checking for 3 possibilities in
+the message in any application/* or text/* part in the message:</p>
+<dl>
+<dt><strong><a name="item__2d_in_text_parts_2c_look_for_a_uuencoded_executab">- in text parts, look for a uuencoded executable start string</a></strong><br />
+</dt>
+<dt><strong><a name="item__2d_in_application_parts_2c_look_for_filenames_end">- in application parts, look for filenames ending in an executable extension</a></strong><br />
+</dt>
+<dt><strong><a name="item__2d_in_application_parts_2c_look_for_a_base64_enco">- in application parts, look for a base64 encoded executable start string</a></strong><br />
+</dt>
+</dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AntiVirus.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,19 @@
+NAME
+    AntiVirus - simple anti-virus tests
+
+SYNOPSIS
+      loadplugin     Mail::SpamAssassin::Plugin::AntiVirus
+
+      body MICROSOFT_EXECUTABLE eval:check_microsoft_executable()
+      body MIME_SUSPECT_NAME    eval:check_suspect_name()
+
+DESCRIPTION
+    The MICROSOFT_EXECUTABLE rule works by checking for 3 possibilities in
+    the message in any application/* or text/* part in the message:
+
+    - in text parts, look for a uuencoded executable start string
+    - in application parts, look for filenames ending in an executable
+    extension
+    - in application parts, look for a base64 encoded executable start
+    string
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,215 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>AskDNS - form a DNS query using tag values, and look up the DNSxL lists</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+	<li><a href="#user_settings">USER SETTINGS</a></li>
+	<li><a href="#rule_definitions">RULE DEFINITIONS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>AskDNS - form a DNS query using tag values, and look up the DNSxL lists</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+  loadplugin  Mail::SpamAssassin::Plugin::AskDNS
+  askdns D_IN_DWL _DKIMDOMAIN_._vouch.dwl.spamhaus.org TXT /\b(transaction|list|all)\b/</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>Using a DNS query template as specified in a parameter of a askdns rule,
+the plugin replaces tag names as found in the template with their values
+and launches DNS queries as soon as tag values become available. When DNS
+responses trickle in, filters them according to the requested DNS resource
+record type and optional subrule filtering expression, yielding a rule hit
+if a response meets filtering conditions.</p>
+<p>
+</p>
+<hr />
+<h1><a name="user_settings">USER SETTINGS</a></h1>
+<dl>
+<dt><strong><a name="item_rbl_timeout_t__5bt_min_5d__5bzone_5d__28default_3a">rbl_timeout t [t_min] [zone]		(default: 15 3)</a></strong><br />
+</dt>
+<dd>
+The rbl_timeout setting is common to all DNS querying rules (as implemented
+by other plugins). It can specify a DNS query timeout globally, or individually
+for each zone. When the zone parameter is specified, the settings affects DNS
+queries when their query domain equals the specified zone, or is its subdomain.
+See the <code>Mail::SpamAssassin::Conf</code> POD for details on <code>rbl_timeout</code>.
+</dd>
+<p></p></dl>
+<p>
+</p>
+<hr />
+<h1><a name="rule_definitions">RULE DEFINITIONS</a></h1>
+<dl>
+<dt><strong><a name="item_askdns_name_of_rule_query_template__5brr_type__5bs">askdns NAME_OF_RULE query_template [rr_type [subqueryfilter]]</a></strong><br />
+</dt>
+<dd>
+A query template is a string which will be expanded to produce a domain name
+to be used in a DNS query. The template may include SpamAssassin tag names,
+which will be replaced by their values to form a final query domain.
+The final query domain must adhere to rules governing DNS domains, i.e.
+must consist of fields each up to 63 characters long, delimited by dots.
+There may be a trailing dot at the end, but it is redundant / carries
+no semantics, because SpamAssassin uses a Net::DSN::Resolver::send method
+for querying DNS, which ignores any 'search' or 'domain' DNS resolver options.
+Domain names in DNS queries are case-insensitive.
+</dd>
+<dd>
+<p>A tag name is a string of capital letters, preceded and followed by an
+underscore character. This syntax mirrors the add_header setting, except that
+tags cannot have parameters in parenthesis when used in askdns templates.
+Tag names may appear anywhere in the template - each queried DNS zone
+prescribes how a query should be formed.</p>
+</dd>
+<dd>
+<p>A query template may contain any number of tag names including none,
+although in the most common anticipated scenario exactly one tag name would
+appear in each askdns rule. Specified tag names are considered dependencies.
+Askdns rules with dependencies on the same set of tags are grouped, and all
+queries in a group are launched as soon as all their dependencies are met,
+i.e. when the last of the awaited tag values becomes available by a call
+to <code>set_tag()</code> from some other plugin or elsewhere in the SpamAssassin code.</p>
+</dd>
+<dd>
+<p>Launched queries from all askdns rules are grouped too according to a pair
+of: query type and an expanded query domain name. Even if there are multiple
+rules producing the same type/domain pair, only one DNS query is launched,
+and a reply to such query contributes to all the constituent rules.</p>
+</dd>
+<dd>
+<p>A tag may produce none, one or multiple values. Askdns rules awaiting for
+a tag which never receives its value never result in a DNS query. Tags which
+produce multiple values will result in multiple queries launched, each with
+an expanded template using one of the tag values. An example is a DKIMDOMAIN
+tag which yields a list of signing domains, one for each valid signature in
+a signed message.</p>
+</dd>
+<dd>
+<p>When more than one distinct tag name appears in a template, each potentially
+resulting in multiple values, a Cartesian product is formed, and each tuple
+results in a launch of one DNS query (duplicates excluded). For example,
+a query template _A_._B_.example._A_.com where tag A is a list (11,22)
+and B is (xx,yy,zz), will result in queries: 11.xx.example.11.com,
+22.xx.example.22.com, 11.yy.example.11.com, 22.yy.example.22.com,
+11.zz.example.11.com, 22.zz.example.22.com .</p>
+</dd>
+<dd>
+<p>A parameter rr_type following the query template is a comma-separated list
+of expected DNS resource record (RR) types. Missing rr_type parameter implies
+an 'A'. A DNS result may bring resource records of multiple types, but only
+resource records of a type found in the rr_type parameter list are considered,
+other resource records found in the answer section of a DNS reply are ignored
+for this rule. A value ANY in the rr_type parameter list matches any resource
+record type. An empty DNS answer section does not match ANY.</p>
+</dd>
+<dd>
+<p>The rr_type parameter not only provides a filter for RR types found in
+the DNS answer, but also determines the DNS query type. If only a single
+RR type is specified in the parameter (e.g. TXT), than this is also the RR
+type of a query. When more than one RR type is specified (e.g. A, AAAA, TXT)
+or if ANY is specified, then the DNS query type will be ANY and the rr_type
+parameter will only act as a filter on a result.</p>
+</dd>
+<dd>
+<p>Currently recognized RR types in the rr_type parameter are: ANY, A, AAAA,
+MX, TXT, PTR, NAPTR, NS, SOA, CERT, CNAME, DNAME, DHCID, HINFO, MINFO,
+RP, HIP, IPSECKEY, KX, LOC, SRV, SSHFP, SPF.</p>
+</dd>
+<dd>
+<p><a href="http://www.iana.org/assignments/dns-parameters/dns-parameters.xml">http://www.iana.org/assignments/dns-parameters/dns-parameters.xml</a></p>
+</dd>
+<dd>
+<p>The last optional parameter of a rule is a filtering expression, a.k.a. a
+subrule. Its function is much like the subrule in URIDNSBL plugin rules,
+or in the check_rbl eval rules. The main difference is that with askdns
+rules there is no need to manually group rules according to their queried
+zone, as the grouping is automatic and duplicate queries are implicitly
+eliminated.</p>
+</dd>
+<dd>
+<p>The subrule filtering parameter can be: a plain string, a regular expression,
+a single numerical value or a pair of numerical values, or a list of rcodes
+(DNS status codes of a response). Absence of the filtering parameter implies
+no filtering, i.e. any positive DNS response (rcode=NOERROR) of the requested
+RR type will result in a rule hit, regardless of the RR value returned with
+the response.</p>
+</dd>
+<dd>
+<p>When a plain string is used as a filter, it must be enclosed in single or
+double quotes. For the rule to hit, the response must match the filtering
+string exactly, and a RR type of a response must match the query type.
+Typical use is an exact text string for TXT queries, or an exact quad-dotted
+IPv4 address. In case of a TXT or SPF resource record which can return
+multiple character-strings (as defined in Section 3.3 of [RFC1035]), these
+strings are concatenated with no delimiters before comparing the result
+to the filtering string. This follows requirements of several documents,
+such as RFC 5518, RFC 4408, RFC 4871, RFC 5617.  Examples of a plain text
+filtering parameter: ``127.0.0.1'', ``transaction'', 'list' .</p>
+</dd>
+<dd>
+<p>A regular expression follows a familiar perl syntax like /.../ or m{...}
+optionally followed by regexp flags (such as 'i' for case-insensitivity).
+If a DNS response matches the requested RR type and the regular expression,
+the rule hits.  Examples: /^127\.0\.0\.\d+$/, m{\bdial up\b}i .</p>
+</dd>
+<dd>
+<p>A single numerical value can be a decimal number, or a hexadecimal number
+prefixed by 0x. Such numeric filtering expression is typically used with
+RR type-A DNS queries. The returned value (an IPv4 address) is masked
+with a specified filtering value and tested to fall within a 127.0.0.0/8
+network range - the rule hits if the result is nonzero:
+((r &amp; n) != 0) &amp;&amp; ((r &amp; 0xff000000) == 0x7f000000).  An example: 0x10 .</p>
+</dd>
+<dd>
+<p>A pair of numerical values (each a decimal, hexadecimal or quad-dotted)
+delimited by a '-' specifies an IPv4 address range, and a pair of values
+delimited by a '/' specifies an IPv4 address followed by a bitmask. Again,
+this type of filtering expression is primarily intended with RR type-A
+DNS queries. The rule hits if the RR type matches, and the returned IP
+address falls within the specified range: (r &gt;= n1 &amp;&amp; r &lt;= n2), or
+masked with a bitmask matches the specified value: (r &amp; m) == (n &amp; m) .</p>
+</dd>
+<dd>
+<p>As a shorthand notation, a single quad-dotted value is equivalent to
+a n-n form, i.e. it must match the returned value exactly with all its bits.</p>
+</dd>
+<dd>
+<p>Some typical examples of a numeric filtering parameter are: 127.0.1.2,
+127.0.1.20-127.0.1.39, 127.0.1.0/255.255.255.0, 0.0.0.16/0.0.0.16,
+0x10/0x10, 16, 0x10 .</p>
+</dd>
+<dd>
+<p>Lastly, the filtering parameter can be a comma-separated list of DNS status
+codes (rcode), enclosed in square brackets. Rcodes can be represented either
+by their numeric decimal values (0=NOERROR, 3=NXDOMAIN, ...), or their names.
+See <a href="http://www.iana.org/assignments/dns-parameters">http://www.iana.org/assignments/dns-parameters</a> for the list of names. When
+testing for a rcode where rcode is nonzero, a RR type parameter is ignored
+as a filter, as there is typically no answer section in a DNS reply when
+rcode indicates an error.  Example: [NXDOMAIN], or [FormErr,ServFail,4,5] .</p>
+</dd>
+<p></p></dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AskDNS.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,166 @@
+NAME
+    AskDNS - form a DNS query using tag values, and look up the DNSxL lists
+
+SYNOPSIS
+      loadplugin  Mail::SpamAssassin::Plugin::AskDNS
+      askdns D_IN_DWL _DKIMDOMAIN_._vouch.dwl.spamhaus.org TXT /\b(transaction|list|all)\b/
+
+DESCRIPTION
+    Using a DNS query template as specified in a parameter of a askdns rule,
+    the plugin replaces tag names as found in the template with their values
+    and launches DNS queries as soon as tag values become available. When
+    DNS responses trickle in, filters them according to the requested DNS
+    resource record type and optional subrule filtering expression, yielding
+    a rule hit if a response meets filtering conditions.
+
+USER SETTINGS
+    rbl_timeout t [t_min] [zone] (default: 15 3)
+        The rbl_timeout setting is common to all DNS querying rules (as
+        implemented by other plugins). It can specify a DNS query timeout
+        globally, or individually for each zone. When the zone parameter is
+        specified, the settings affects DNS queries when their query domain
+        equals the specified zone, or is its subdomain. See the
+        "Mail::SpamAssassin::Conf" POD for details on "rbl_timeout".
+
+RULE DEFINITIONS
+    askdns NAME_OF_RULE query_template [rr_type [subqueryfilter]]
+        A query template is a string which will be expanded to produce a
+        domain name to be used in a DNS query. The template may include
+        SpamAssassin tag names, which will be replaced by their values to
+        form a final query domain. The final query domain must adhere to
+        rules governing DNS domains, i.e. must consist of fields each up to
+        63 characters long, delimited by dots. There may be a trailing dot
+        at the end, but it is redundant / carries no semantics, because
+        SpamAssassin uses a Net::DSN::Resolver::send method for querying
+        DNS, which ignores any 'search' or 'domain' DNS resolver options.
+        Domain names in DNS queries are case-insensitive.
+
+        A tag name is a string of capital letters, preceded and followed by
+        an underscore character. This syntax mirrors the add_header setting,
+        except that tags cannot have parameters in parenthesis when used in
+        askdns templates. Tag names may appear anywhere in the template -
+        each queried DNS zone prescribes how a query should be formed.
+
+        A query template may contain any number of tag names including none,
+        although in the most common anticipated scenario exactly one tag
+        name would appear in each askdns rule. Specified tag names are
+        considered dependencies. Askdns rules with dependencies on the same
+        set of tags are grouped, and all queries in a group are launched as
+        soon as all their dependencies are met, i.e. when the last of the
+        awaited tag values becomes available by a call to set_tag() from
+        some other plugin or elsewhere in the SpamAssassin code.
+
+        Launched queries from all askdns rules are grouped too according to
+        a pair of: query type and an expanded query domain name. Even if
+        there are multiple rules producing the same type/domain pair, only
+        one DNS query is launched, and a reply to such query contributes to
+        all the constituent rules.
+
+        A tag may produce none, one or multiple values. Askdns rules
+        awaiting for a tag which never receives its value never result in a
+        DNS query. Tags which produce multiple values will result in
+        multiple queries launched, each with an expanded template using one
+        of the tag values. An example is a DKIMDOMAIN tag which yields a
+        list of signing domains, one for each valid signature in a signed
+        message.
+
+        When more than one distinct tag name appears in a template, each
+        potentially resulting in multiple values, a Cartesian product is
+        formed, and each tuple results in a launch of one DNS query
+        (duplicates excluded). For example, a query template
+        _A_._B_.example._A_.com where tag A is a list (11,22) and B is
+        (xx,yy,zz), will result in queries: 11.xx.example.11.com,
+        22.xx.example.22.com, 11.yy.example.11.com, 22.yy.example.22.com,
+        11.zz.example.11.com, 22.zz.example.22.com .
+
+        A parameter rr_type following the query template is a
+        comma-separated list of expected DNS resource record (RR) types.
+        Missing rr_type parameter implies an 'A'. A DNS result may bring
+        resource records of multiple types, but only resource records of a
+        type found in the rr_type parameter list are considered, other
+        resource records found in the answer section of a DNS reply are
+        ignored for this rule. A value ANY in the rr_type parameter list
+        matches any resource record type. An empty DNS answer section does
+        not match ANY.
+
+        The rr_type parameter not only provides a filter for RR types found
+        in the DNS answer, but also determines the DNS query type. If only a
+        single RR type is specified in the parameter (e.g. TXT), than this
+        is also the RR type of a query. When more than one RR type is
+        specified (e.g. A, AAAA, TXT) or if ANY is specified, then the DNS
+        query type will be ANY and the rr_type parameter will only act as a
+        filter on a result.
+
+        Currently recognized RR types in the rr_type parameter are: ANY, A,
+        AAAA, MX, TXT, PTR, NAPTR, NS, SOA, CERT, CNAME, DNAME, DHCID,
+        HINFO, MINFO, RP, HIP, IPSECKEY, KX, LOC, SRV, SSHFP, SPF.
+
+        http://www.iana.org/assignments/dns-parameters/dns-parameters.xml
+
+        The last optional parameter of a rule is a filtering expression,
+        a.k.a. a subrule. Its function is much like the subrule in URIDNSBL
+        plugin rules, or in the check_rbl eval rules. The main difference is
+        that with askdns rules there is no need to manually group rules
+        according to their queried zone, as the grouping is automatic and
+        duplicate queries are implicitly eliminated.
+
+        The subrule filtering parameter can be: a plain string, a regular
+        expression, a single numerical value or a pair of numerical values,
+        or a list of rcodes (DNS status codes of a response). Absence of the
+        filtering parameter implies no filtering, i.e. any positive DNS
+        response (rcode=NOERROR) of the requested RR type will result in a
+        rule hit, regardless of the RR value returned with the response.
+
+        When a plain string is used as a filter, it must be enclosed in
+        single or double quotes. For the rule to hit, the response must
+        match the filtering string exactly, and a RR type of a response must
+        match the query type. Typical use is an exact text string for TXT
+        queries, or an exact quad-dotted IPv4 address. In case of a TXT or
+        SPF resource record which can return multiple character-strings (as
+        defined in Section 3.3 of [RFC1035]), these strings are concatenated
+        with no delimiters before comparing the result to the filtering
+        string. This follows requirements of several documents, such as RFC
+        5518, RFC 4408, RFC 4871, RFC 5617. Examples of a plain text
+        filtering parameter: "127.0.0.1", "transaction", 'list' .
+
+        A regular expression follows a familiar perl syntax like /.../ or
+        m{...} optionally followed by regexp flags (such as 'i' for
+        case-insensitivity). If a DNS response matches the requested RR type
+        and the regular expression, the rule hits. Examples:
+        /^127\.0\.0\.\d+$/, m{\bdial up\b}i .
+
+        A single numerical value can be a decimal number, or a hexadecimal
+        number prefixed by 0x. Such numeric filtering expression is
+        typically used with RR type-A DNS queries. The returned value (an
+        IPv4 address) is masked with a specified filtering value and tested
+        to fall within a 127.0.0.0/8 network range - the rule hits if the
+        result is nonzero: ((r & n) != 0) && ((r & 0xff000000) ==
+        0x7f000000). An example: 0x10 .
+
+        A pair of numerical values (each a decimal, hexadecimal or
+        quad-dotted) delimited by a '-' specifies an IPv4 address range, and
+        a pair of values delimited by a '/' specifies an IPv4 address
+        followed by a bitmask. Again, this type of filtering expression is
+        primarily intended with RR type-A DNS queries. The rule hits if the
+        RR type matches, and the returned IP address falls within the
+        specified range: (r >= n1 && r <= n2), or masked with a bitmask
+        matches the specified value: (r & m) == (n & m) .
+
+        As a shorthand notation, a single quad-dotted value is equivalent to
+        a n-n form, i.e. it must match the returned value exactly with all
+        its bits.
+
+        Some typical examples of a numeric filtering parameter are:
+        127.0.1.2, 127.0.1.20-127.0.1.39, 127.0.1.0/255.255.255.0,
+        0.0.0.16/0.0.0.16, 0x10/0x10, 16, 0x10 .
+
+        Lastly, the filtering parameter can be a comma-separated list of DNS
+        status codes (rcode), enclosed in square brackets. Rcodes can be
+        represented either by their numeric decimal values (0=NOERROR,
+        3=NXDOMAIN, ...), or their names. See
+        http://www.iana.org/assignments/dns-parameters for the list of
+        names. When testing for a rcode where rcode is nonzero, a RR type
+        parameter is ignored as a filter, as there is typically no answer
+        section in a DNS reply when rcode indicates an error. Example:
+        [NXDOMAIN], or [FormErr,ServFail,4,5] .
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+	<li><a href="#user_options">USER OPTIONS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+  loadplugin     Mail::SpamAssassin::Plugin::AutoLearnThreshold</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>This plugin implements the threshold-based auto-learning discriminator
+for SpamAssassin's Bayes subsystem.  Auto-learning is a mechanism
+whereby high-scoring mails (or low-scoring mails, for non-spam) are fed
+into its learning systems without user intervention, during scanning.</p>
+<p>Note that certain tests are ignored when determining whether a message
+should be trained upon:</p>
+<ul>
+<li><strong><a name="item_rules_with_tflags_set_to__27learn_27__28the_bayesi">rules with tflags set to 'learn' (the Bayesian rules)</a></strong><br />
+</li>
+<li><strong><a name="item_rules_with_tflags_set_to__27userconf_27__28user_co">rules with tflags set to 'userconf' (user configuration)</a></strong><br />
+</li>
+<li><strong><a name="item_rules_with_tflags_set_to__27noautolearn_27">rules with tflags set to 'noautolearn'</a></strong><br />
+</li>
+</ul>
+<p>Also note that auto-learning occurs using scores from either scoreset 0
+or 1, depending on what scoreset is used during message check.  It is
+likely that the message check and auto-learn scores will be different.</p>
+<p>
+</p>
+<hr />
+<h1><a name="user_options">USER OPTIONS</a></h1>
+<p>The following configuration settings are used to control auto-learning:</p>
+<dl>
+<dt><strong><a name="item_nn">bayes_auto_learn_threshold_nonspam n.nn   (default: 0.1)</a></strong><br />
+</dt>
+<dd>
+The score threshold below which a mail has to score, to be fed into
+SpamAssassin's learning systems automatically as a non-spam message.
+</dd>
+<p></p>
+<dt><strong>bayes_auto_learn_threshold_spam n.nn      (default: 12.0)</strong><br />
+</dt>
+<dd>
+The score threshold above which a mail has to score, to be fed into
+SpamAssassin's learning systems automatically as a spam message.
+</dd>
+<dd>
+<p>Note: SpamAssassin requires at least 3 points from the header, and 3
+points from the body to auto-learn as spam.  Therefore, the minimum
+working value for this option is 6.</p>
+</dd>
+<dd>
+<p>If the test option autolearn_force is set, the minimum value will 
+remain at 6 points but there is no requirement that the points come
+from body and header rules.  This option is useful for autolearning
+with rules that are considered to be extremely safe indicators of 
+the spaminess of a message.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_bayes_auto_learn_on_error">bayes_auto_learn_on_error (0 | 1)        (default: 0)</a></strong><br />
+</dt>
+<dd>
+With <a href="#item_bayes_auto_learn_on_error"><code>bayes_auto_learn_on_error</code></a> off, autolearning will be performed
+even if bayes classifier already agrees with the new classification (i.e.
+yielded BAYES_00 for what we are now trying to teach it as ham, or yielded
+BAYES_99 for spam). This is a traditional setting, the default was chosen
+to retain backward compatibility.
+</dd>
+<dd>
+<p>With <a href="#item_bayes_auto_learn_on_error"><code>bayes_auto_learn_on_error</code></a> turned on, autolearning will be performed
+only when a bayes classifier had a different opinion from what the autolearner
+is now trying to teach it (i.e. it made an error in judgement). This strategy
+may or may not produce better future classifications, but usually works
+very well, while also preventing unnecessary overlearning and slows down
+database growth.</p>
+</dd>
+<p></p></dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_AutoLearnThreshold.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,59 @@
+NAME
+    Mail::SpamAssassin::Plugin::AutoLearnThreshold - threshold-based
+    discriminator for Bayes auto-learning
+
+SYNOPSIS
+      loadplugin     Mail::SpamAssassin::Plugin::AutoLearnThreshold
+
+DESCRIPTION
+    This plugin implements the threshold-based auto-learning discriminator
+    for SpamAssassin's Bayes subsystem. Auto-learning is a mechanism whereby
+    high-scoring mails (or low-scoring mails, for non-spam) are fed into its
+    learning systems without user intervention, during scanning.
+
+    Note that certain tests are ignored when determining whether a message
+    should be trained upon:
+
+    * rules with tflags set to 'learn' (the Bayesian rules)
+    * rules with tflags set to 'userconf' (user configuration)
+    * rules with tflags set to 'noautolearn'
+
+    Also note that auto-learning occurs using scores from either scoreset 0
+    or 1, depending on what scoreset is used during message check. It is
+    likely that the message check and auto-learn scores will be different.
+
+USER OPTIONS
+    The following configuration settings are used to control auto-learning:
+
+    bayes_auto_learn_threshold_nonspam n.nn (default: 0.1)
+        The score threshold below which a mail has to score, to be fed into
+        SpamAssassin's learning systems automatically as a non-spam message.
+
+    bayes_auto_learn_threshold_spam n.nn (default: 12.0)
+        The score threshold above which a mail has to score, to be fed into
+        SpamAssassin's learning systems automatically as a spam message.
+
+        Note: SpamAssassin requires at least 3 points from the header, and 3
+        points from the body to auto-learn as spam. Therefore, the minimum
+        working value for this option is 6.
+
+        If the test option autolearn_force is set, the minimum value will
+        remain at 6 points but there is no requirement that the points come
+        from body and header rules. This option is useful for autolearning
+        with rules that are considered to be extremely safe indicators of
+        the spaminess of a message.
+
+    bayes_auto_learn_on_error (0 | 1) (default: 0)
+        With "bayes_auto_learn_on_error" off, autolearning will be performed
+        even if bayes classifier already agrees with the new classification
+        (i.e. yielded BAYES_00 for what we are now trying to teach it as
+        ham, or yielded BAYES_99 for spam). This is a traditional setting,
+        the default was chosen to retain backward compatibility.
+
+        With "bayes_auto_learn_on_error" turned on, autolearning will be
+        performed only when a bayes classifier had a different opinion from
+        what the autolearner is now trying to teach it (i.e. it made an
+        error in judgement). This strategy may or may not produce better
+        future classifications, but usually works very well, while also
+        preventing unnecessary overlearning and slows down database growth.
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::Bayes - determine spammishness using a Bayesian classifier</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+	<li><a href="#methods">METHODS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::Bayes - determine spammishness using a Bayesian classifier</p>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>This is a Bayesian-style probabilistic classifier, using an algorithm based on
+the one detailed in Paul Graham's <em>A Plan For Spam</em> paper at:</p>
+<pre>
+  <a href="http://www.paulgraham.com/spam.html">http://www.paulgraham.com/spam.html</a></pre>
+<p>It also incorporates some other aspects taken from Graham Robinson's webpage
+on the subject at:</p>
+<pre>
+  <a href="http://radio.weblogs.com/0101454/stories/2002/09/16/spamDetection.html">http://radio.weblogs.com/0101454/stories/2002/09/16/spamDetection.html</a></pre>
+<p>And the chi-square probability combiner as described here:</p>
+<pre>
+  <a href="http://www.linuxjournal.com/print.php?sid=6467">http://www.linuxjournal.com/print.php?sid=6467</a></pre>
+<p>The results are incorporated into SpamAssassin as the BAYES_* rules.</p>
+<p>
+</p>
+<hr />
+<h1><a name="methods">METHODS</a></h1>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Bayes.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,22 @@
+NAME
+    Mail::SpamAssassin::Plugin::Bayes - determine spammishness using a
+    Bayesian classifier
+
+DESCRIPTION
+    This is a Bayesian-style probabilistic classifier, using an algorithm
+    based on the one detailed in Paul Graham's *A Plan For Spam* paper at:
+
+      http://www.paulgraham.com/spam.html
+
+    It also incorporates some other aspects taken from Graham Robinson's
+    webpage on the subject at:
+
+      http://radio.weblogs.com/0101454/stories/2002/09/16/spamDetection.html
+
+    And the chi-square probability combiner as described here:
+
+      http://www.linuxjournal.com/print.php?sid=6467
+
+    The results are incorporated into SpamAssassin as the BAYES_* rules.
+
+METHODS

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor - extract &quot;bases&quot; from body ruleset</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor - extract ``bases'' from body ruleset</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<p>This is a plugin to extract ``base'' strings from SpamAssassin 'body' rules,
+suitable for use in Rule2XSBody rules or other parallel matching algorithms.</p>
+<dl>
+<dt><strong><a name="item_my">my ($cleanregexp) = fixup_re($regexp);</a></strong><br />
+</dt>
+<dd>
+Converts encoded characters in a regular expression pattern into their
+equivalent characters
+</dd>
+<p></p></dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_BodyRuleBaseExtractor.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,13 @@
+NAME
+    Mail::SpamAssassin::Plugin::BodyRuleBaseExtractor - extract "bases" from
+    body ruleset
+
+SYNOPSIS
+    This is a plugin to extract "base" strings from SpamAssassin 'body'
+    rules, suitable for use in Rule2XSBody rules or other parallel matching
+    algorithms.
+
+    my ($cleanregexp) = fixup_re($regexp);
+        Converts encoded characters in a regular expression pattern into
+        their equivalent characters
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::Check - primary message check functionality</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::Check - primary message check functionality</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<p>loadplugin Mail::SpamAssassin::Plugin::Check</p>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>This plugin provides the primary message check functionality.</p>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_Check.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,9 @@
+NAME
+    Mail::SpamAssassin::Plugin::Check - primary message check functionality
+
+SYNOPSIS
+    loadplugin Mail::SpamAssassin::Plugin::Check
+
+DESCRIPTION
+    This plugin provides the primary message check functionality.
+

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.html?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.html (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.html Tue Feb 11 17:26:49 2014
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Mail::SpamAssassin::Plugin::DCC - perform DCC check of messages</title>
+<link rev="made" href="mailto:root@twm2005-dev.thoughtworthy.com" />
+</head>
+
+<body style="background-color: white">
+
+<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
+
+<ul>
+
+	<li><a href="#name">NAME</a></li>
+	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<li><a href="#description">DESCRIPTION</a></li>
+	<li><a href="#tags">TAGS</a></li>
+	<li><a href="#user_options">USER OPTIONS</a></li>
+	<li><a href="#administrator_options">ADMINISTRATOR OPTIONS</a></li>
+</ul>
+<!-- INDEX END -->
+
+<hr />
+<p>
+</p>
+<h1><a name="name">NAME</a></h1>
+<p>Mail::SpamAssassin::Plugin::DCC - perform DCC check of messages</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+  loadplugin Mail::SpamAssassin::Plugin::DCC</pre>
+<pre>
+  full DCC_CHECK        eval:check_dcc()
+  full DCC_CHECK_50_79  eval:check_dcc_reputation_range('50','79')</pre>
+<p>
+</p>
+<hr />
+<h1><a name="description">DESCRIPTION</a></h1>
+<p>The DCC or Distributed Checksum Clearinghouse is a system of servers
+collecting and counting checksums of millions of mail messages.
+The counts can be used by SpamAssassin to detect and filter spam.</p>
+<p>See <a href="http://www.dcc-servers.net/dcc/">http://www.dcc-servers.net/dcc/</a> for more information about DCC.</p>
+<p>Note that DCC is disabled by default in <code>v310.pre</code> because its use requires
+software that is not distributed with SpamAssassin and that has license
+restrictions for certain commercial uses.
+See the DCC license at <a href="http://www.dcc-servers.net/dcc/LICENSE">http://www.dcc-servers.net/dcc/LICENSE</a> for details.</p>
+<p>Enable it by uncommenting the ``loadplugin Mail::SpamAssassin::Plugin::DCC''
+confdir/v310.pre or by adding this line to your local.pre.  It might also
+be necessary to install a DCC package, port, rpm, or equivalent from your
+operating system distributor or a tarball from the primary DCC source
+at <a href="http://www.dcc-servers.net/dcc/#download">http://www.dcc-servers.net/dcc/#download</a>
+See also <a href="http://www.dcc-servers.net/dcc/INSTALL.html">http://www.dcc-servers.net/dcc/INSTALL.html</a></p>
+<p>
+</p>
+<hr />
+<h1><a name="tags">TAGS</a></h1>
+<p>The following tags are added to the set, available for use in reports,
+header fields, other plugins, etc.:</p>
+<pre>
+  _DCCB_    DCC server ID in X-DCC-*-Metrics header field name
+  _DCCR_    X-DCC-*-Metrics header field body
+  _DCCREP_  DCC Reputation or percent bulk mail (0..100) from
+              commercial DCC software</pre>
+<p>
+</p>
+<hr />
+<h1><a name="user_options">USER OPTIONS</a></h1>
+<dl>
+<dt><strong><a name="item_use_dcc">use_dcc (0|1)		(default: 1)</a></strong><br />
+</dt>
+<dd>
+Whether to use DCC, if it is available.
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_body_max_number">dcc_body_max NUMBER</a></strong><br />
+</dt>
+<dt><strong><a name="item_dcc_fuz1_max_number">dcc_fuz1_max NUMBER</a></strong><br />
+</dt>
+<dt><strong><a name="item_dcc_fuz2_max_number">dcc_fuz2_max NUMBER</a></strong><br />
+</dt>
+<dd>
+Sets how often a message's body/fuz1/fuz2 checksum must have been reported
+to the DCC server before SpamAssassin will consider the DCC check hit.
+<code>999999</code> is DCC's MANY count.
+</dd>
+<dd>
+<p>The default is <code>999999</code> for all these options.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_rep_percent_number">dcc_rep_percent NUMBER</a></strong><br />
+</dt>
+<dd>
+Only the commercial DCC software provides DCC Reputations.  A DCC Reputation
+is the percentage of bulk mail received from the last untrusted relay in the
+path taken by a mail message as measured by all commercial DCC installations.
+See <a href="http://www.rhyolite.com/dcc/reputations.html">http://www.rhyolite.com/dcc/reputations.html</a>
+You <code>must</code> whitelist your trusted relays or MX servers with MX or
+MXDCC lines in /var/dcc/whiteclnt as described in the main DCC man page
+to avoid seeing your own MX servers as sources of bulk mail.
+See <a href="http://www.dcc-servers.net/dcc/dcc-tree/dcc.html#White-and-Blacklists">http://www.dcc-servers.net/dcc/dcc-tree/dcc.html#White-and-Blacklists</a>
+The default is <code>90</code>.
+</dd>
+<p></p></dl>
+<p>
+</p>
+<hr />
+<h1><a name="administrator_options">ADMINISTRATOR OPTIONS</a></h1>
+<dl>
+<dt><strong><a name="item_n">dcc_timeout n		(default: 8)</a></strong><br />
+</dt>
+<dd>
+How many seconds you wait for DCC to complete, before scanning continues
+without the DCC results. A numeric value is optionally suffixed by a
+time unit (s, m, h, d, w, indicating seconds (default), minutes, hours,
+days, weeks).
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_home_string">dcc_home STRING</a></strong><br />
+</dt>
+<dd>
+This option tells SpamAssassin where to find the dcc homedir.
+If not specified, try to use the locally configured directory
+from the <code>cdcc homedir</code> command.
+Try /var/dcc if that command fails.
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_dccifd_path_string">dcc_dccifd_path STRING</a></strong><br />
+</dt>
+<dd>
+This option tells SpamAssassin where to find the dccifd socket instead
+of a local Unix socket named <code>dccifd</code> in the <code>dcc_home</code> directory.
+If a socket is specified or found, use it instead of <code>dccproc</code>.
+</dd>
+<dd>
+<p>If specifed, <code>dcc_dccifd_path</code> is the absolute path of local Unix socket
+or an INET socket specified as <code>[Host]:Port</code> or <code>Host:Port</code>.
+Host can be an IPv4 or IPv6 address or a host name
+Port is a TCP port number. The brackets are required for an IPv6 address.</p>
+</dd>
+<dd>
+<p>The default is <code>undef</code>.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_path_string">dcc_path STRING</a></strong><br />
+</dt>
+<dd>
+Where to find the <code>dccproc</code> client program instead of relying on SpamAssassin
+to find it in the current PATH or <code>dcc_home/bin</code>. This must often be set,
+because the current PATH is cleared by <em>taint mode</em> in the Perl interpreter,
+</dd>
+<dd>
+<p>If a <code>dccifd</code> socket is found in <code>dcc_home</code> or specified explicitly
+with <code>dcc_dccifd_path</code>, use the <code>dccifd(8)</code> interface instead of <code>dccproc</code>.</p>
+</dd>
+<dd>
+<p>The default is <code>undef</code>.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_dcc_options_options">dcc_options options</a></strong><br />
+</dt>
+<dd>
+Specify additional options to the <code>dccproc(8)</code> command.  Only
+characters in the range [0-9A-Za-z ,._/-] are allowed for security reasons.
+</dd>
+<dd>
+<p>The default is <code>undef</code>.</p>
+</dd>
+<p></p>
+<dt><strong><a name="item_dccifd_options_options">dccifd_options options</a></strong><br />
+</dt>
+<dd>
+Specify additional options to send to the dccifd daemon with
+the ASCII protocol described on the <code>dccifd(8)</code> man page.
+Only characters in the range [0-9A-Za-z ,._/-] are allowed for security reasons.
+</dd>
+<dd>
+<p>The default is <code>undef</code>.</p>
+</dd>
+<p></p>
+<dt><strong>dcc_learn_score n		(default: undef)</strong><br />
+</dt>
+<dd>
+Report messages with total scores this much larger than the
+SpamAssassin spam threshold to DCC as spam.
+</dd>
+</dl>
+
+</body>
+
+</html>

Added: spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.txt?rev=1567225&view=auto
==============================================================================
--- spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.txt (added)
+++ spamassassin/site/full/3.4.x/doc/Mail_SpamAssassin_Plugin_DCC.txt Tue Feb 11 17:26:49 2014
@@ -0,0 +1,118 @@
+NAME
+    Mail::SpamAssassin::Plugin::DCC - perform DCC check of messages
+
+SYNOPSIS
+      loadplugin Mail::SpamAssassin::Plugin::DCC
+
+      full DCC_CHECK        eval:check_dcc()
+      full DCC_CHECK_50_79  eval:check_dcc_reputation_range('50','79')
+
+DESCRIPTION
+    The DCC or Distributed Checksum Clearinghouse is a system of servers
+    collecting and counting checksums of millions of mail messages. The
+    counts can be used by SpamAssassin to detect and filter spam.
+
+    See http://www.dcc-servers.net/dcc/ for more information about DCC.
+
+    Note that DCC is disabled by default in "v310.pre" because its use
+    requires software that is not distributed with SpamAssassin and that has
+    license restrictions for certain commercial uses. See the DCC license at
+    http://www.dcc-servers.net/dcc/LICENSE for details.
+
+    Enable it by uncommenting the "loadplugin
+    Mail::SpamAssassin::Plugin::DCC" confdir/v310.pre or by adding this line
+    to your local.pre. It might also be necessary to install a DCC package,
+    port, rpm, or equivalent from your operating system distributor or a
+    tarball from the primary DCC source at
+    http://www.dcc-servers.net/dcc/#download See also
+    http://www.dcc-servers.net/dcc/INSTALL.html
+
+TAGS
+    The following tags are added to the set, available for use in reports,
+    header fields, other plugins, etc.:
+
+      _DCCB_    DCC server ID in X-DCC-*-Metrics header field name
+      _DCCR_    X-DCC-*-Metrics header field body
+      _DCCREP_  DCC Reputation or percent bulk mail (0..100) from
+                  commercial DCC software
+
+USER OPTIONS
+    use_dcc (0|1) (default: 1)
+        Whether to use DCC, if it is available.
+
+    dcc_body_max NUMBER
+    dcc_fuz1_max NUMBER
+    dcc_fuz2_max NUMBER
+        Sets how often a message's body/fuz1/fuz2 checksum must have been
+        reported to the DCC server before SpamAssassin will consider the DCC
+        check hit. 999999 is DCC's MANY count.
+
+        The default is 999999 for all these options.
+
+    dcc_rep_percent NUMBER
+        Only the commercial DCC software provides DCC Reputations. A DCC
+        Reputation is the percentage of bulk mail received from the last
+        untrusted relay in the path taken by a mail message as measured by
+        all commercial DCC installations. See
+        http://www.rhyolite.com/dcc/reputations.html You "must" whitelist
+        your trusted relays or MX servers with MX or MXDCC lines in
+        /var/dcc/whiteclnt as described in the main DCC man page to avoid
+        seeing your own MX servers as sources of bulk mail. See
+        http://www.dcc-servers.net/dcc/dcc-tree/dcc.html#White-and-Blacklist
+        s The default is 90.
+
+ADMINISTRATOR OPTIONS
+    dcc_timeout n (default: 8)
+        How many seconds you wait for DCC to complete, before scanning
+        continues without the DCC results. A numeric value is optionally
+        suffixed by a time unit (s, m, h, d, w, indicating seconds
+        (default), minutes, hours, days, weeks).
+
+    dcc_home STRING
+        This option tells SpamAssassin where to find the dcc homedir. If not
+        specified, try to use the locally configured directory from the
+        "cdcc homedir" command. Try /var/dcc if that command fails.
+
+    dcc_dccifd_path STRING
+        This option tells SpamAssassin where to find the dccifd socket
+        instead of a local Unix socket named "dccifd" in the "dcc_home"
+        directory. If a socket is specified or found, use it instead of
+        "dccproc".
+
+        If specifed, "dcc_dccifd_path" is the absolute path of local Unix
+        socket or an INET socket specified as "[Host]:Port" or "Host:Port".
+        Host can be an IPv4 or IPv6 address or a host name Port is a TCP
+        port number. The brackets are required for an IPv6 address.
+
+        The default is "undef".
+
+    dcc_path STRING
+        Where to find the "dccproc" client program instead of relying on
+        SpamAssassin to find it in the current PATH or "dcc_home/bin". This
+        must often be set, because the current PATH is cleared by *taint
+        mode* in the Perl interpreter,
+
+        If a "dccifd" socket is found in "dcc_home" or specified explicitly
+        with "dcc_dccifd_path", use the dccifd(8) interface instead of
+        "dccproc".
+
+        The default is "undef".
+
+    dcc_options options
+        Specify additional options to the dccproc(8) command. Only
+        characters in the range [0-9A-Za-z ,._/-] are allowed for security
+        reasons.
+
+        The default is "undef".
+
+    dccifd_options options
+        Specify additional options to send to the dccifd daemon with the
+        ASCII protocol described on the dccifd(8) man page. Only characters
+        in the range [0-9A-Za-z ,._/-] are allowed for security reasons.
+
+        The default is "undef".
+
+    dcc_learn_score n (default: undef)
+        Report messages with total scores this much larger than the
+        SpamAssassin spam threshold to DCC as spam.
+