Mailing List Archive

svn commit: r1916621 [12/19] - in /spamassassin/site/full/4.0.x: ./ doc/
Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Phishing.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Phishing.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Phishing.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Phishing.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,41 @@
+NAME
+ Mail::SpamAssassin::Plugin::Phishing - check uris against phishing feed
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Phishing
+
+ ifplugin Mail::SpamAssassin::Plugin::Phishing
+ phishing_openphish_feed /etc/mail/spamassassin/openphish-feed.txt
+ phishing_phishtank_feed /etc/mail/spamassassin/phishtank-feed.csv
+ body URI_PHISHING eval:check_phishing()
+ describe URI_PHISHING Url match phishing in feed
+ endif
+
+DESCRIPTION
+ This plugin finds uris used in phishing campaigns detected by OpenPhish,
+ PhishTank or PhishStats feeds.
+
+ The Openphish free feed is updated every 6 hours and can be downloaded
+ from https://openphish.com/feed.txt.
+
+ The PhishTank free feed is updated every 1 hours and can be downloaded
+ from http://data.phishtank.com/data/online-valid.csv. To avoid download
+ limits a registration is required.
+
+ADMIN PREFERENCES
+ The following options can be used in site-wide ("local.cf")
+ configuration files to customize how the module handles phishing uris
+
+ phishing_openphish_feed
+ Absolute path of the downloaded OpenPhish datafeed.
+
+ phishing_phishtank_feed
+ Absolute path of the downloaded PhishTank datafeed.
+
+ phishing_uri_noparam ( 0 | 1 ) (default: 0)
+ If this option is set uri parameters will not be take into
+ consideration when parsing the phishing uris datafeed. If this
+ option is enabled and the url without parameters is "generic" (like
+ https://www.kisa.link/url_redirector.php?url=...) the url will be
+ skipped.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,125 @@
+<?xml version="1.0" ?>
+<!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::Pyzor - perform Pyzor check of messages</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <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="#ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::Pyzor - perform Pyzor check of messages</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Pyzor</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>Pyzor is a collaborative, networked system to detect and block spam using identifying digests of messages.</p>
+
+<p>See http://pyzor.org/ for more information about Pyzor.</p>
+
+<h1 id="USER-SETTINGS">USER SETTINGS</h1>
+
+<dl>
+
+<dt id="use_pyzor-0-1-default:-1">use_pyzor (0|1) (default: 1)</dt>
+<dd>
+
+<p>Whether to use Pyzor, if it is available.</p>
+
+</dd>
+<dt id="pyzor_count_min-NUMBER-default:-5">pyzor_count_min NUMBER (default: 5)</dt>
+<dd>
+
+<p>This option sets how often a message&#39;s body checksum must have been reported to the Pyzor server before SpamAssassin will consider the Pyzor check as matched.</p>
+
+<p>As most clients should not be auto-reporting these checksums, you should set this to a relatively low value, e.g. <code>5</code>.</p>
+
+</dd>
+<dt id="pyzor_welcomelist_min-NUMBER-default:-10">pyzor_welcomelist_min NUMBER (default: 10)</dt>
+<dd>
+
+<p>Previously pyzor_whitelist_min which will work interchangeably until 4.1.</p>
+
+<p>This option sets how often a message&#39;s body checksum must have been welcomelisted to the Pyzor server for SpamAssassin to consider ignoring the result. Final decision is made by pyzor_welcomelist_factor.</p>
+
+</dd>
+<dt id="pyzor_welcomelist_factor-NUMBER-default:-0.2">pyzor_welcomelist_factor NUMBER (default: 0.2)</dt>
+<dd>
+
+<p>Previously pyzor_whitelist_factor which will work interchangeably until 4.1.</p>
+
+<p>Ignore Pyzor result if REPORTCOUNT x NUMBER &gt;= pyzor_welcomelist_min. For default setting this means: 50 reports requires 10 welcomelistings.</p>
+
+</dd>
+</dl>
+
+<h1 id="ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</h1>
+
+<dl>
+
+<dt id="pyzor_fork-0-1-default:-1">pyzor_fork (0|1) (default: 1)</dt>
+<dd>
+
+<p>Instead of running Pyzor synchronously, fork separate process for it and read the results in later (similar to async DNS lookups). Increases throughput. Considered experimental on Windows, where default is 0.</p>
+
+</dd>
+<dt id="pyzor_perl-0-1-default:-0">pyzor_perl (0|1) (default: 0)</dt>
+<dd>
+
+<p>Instead of running Pyzor client, use a pure Perl client.</p>
+
+</dd>
+<dt id="pyzor_timeout-n-default:-5">pyzor_timeout n (default: 5)</dt>
+<dd>
+
+<p>How many seconds you wait for Pyzor to complete, before scanning continues without the Pyzor results. A numeric value is optionally suffixed by a time unit (s, m, h, d, w, indicating seconds (default), minutes, hours, days, weeks).</p>
+
+<p>You can configure Pyzor to have its own per-server timeout. Set this plugin&#39;s timeout with that in mind. This plugin&#39;s timeout is a maximum ceiling. If Pyzor takes longer than this to complete its communication with all servers, no results are used by SpamAssassin.</p>
+
+<p>Pyzor servers do not yet synchronize their servers, so it can be beneficial to check and report to more than one. See the pyzor-users mailing list for alternate servers that are not published via &#39;pyzor discover&#39;.</p>
+
+<p>If you are using multiple Pyzor servers, a good rule of thumb would be to set the SpamAssassin plugin&#39;s timeout to be the same or just a bit more than the per-server Pyzor timeout (e.g., 3.5 and 2 for two Pyzor servers). If more than one of your Pyzor servers is always timing out, consider removing one of them.</p>
+
+</dd>
+<dt id="pyzor_options-options">pyzor_options options</dt>
+<dd>
+
+<p>Specify additional options to the pyzor(1) command. Please note that only characters in the range [0-9A-Za-z =,._/-] are allowed for security reasons.</p>
+
+</dd>
+<dt id="pyzor_path-STRING">pyzor_path STRING</dt>
+<dd>
+
+<p>This option tells SpamAssassin specifically where to find the <code>pyzor</code> client instead of relying on SpamAssassin to find it in the current PATH. Note that if <i>taint mode</i> is enabled in the Perl interpreter, you should use this, as the current PATH will have been cleared.</p>
+
+</dd>
+<dt id="pyzor_server_file-FILE">pyzor_server_file FILE</dt>
+<dd>
+
+<p>Pyzor servers configuration file path, used by Pyzor Perl implementation. By default Pyzor will connect to public.pyzor.org on port 24441.</p>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Pyzor.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,90 @@
+NAME
+ Mail::SpamAssassin::Plugin::Pyzor - perform Pyzor check of messages
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Pyzor
+
+DESCRIPTION
+ Pyzor is a collaborative, networked system to detect and block spam
+ using identifying digests of messages.
+
+ See http://pyzor.org/ for more information about Pyzor.
+
+USER SETTINGS
+ use_pyzor (0|1) (default: 1)
+ Whether to use Pyzor, if it is available.
+
+ pyzor_count_min NUMBER (default: 5)
+ This option sets how often a message's body checksum must have been
+ reported to the Pyzor server before SpamAssassin will consider the
+ Pyzor check as matched.
+
+ As most clients should not be auto-reporting these checksums, you
+ should set this to a relatively low value, e.g. 5.
+
+ pyzor_welcomelist_min NUMBER (default: 10)
+ Previously pyzor_whitelist_min which will work interchangeably until
+ 4.1.
+
+ This option sets how often a message's body checksum must have been
+ welcomelisted to the Pyzor server for SpamAssassin to consider
+ ignoring the result. Final decision is made by
+ pyzor_welcomelist_factor.
+
+ pyzor_welcomelist_factor NUMBER (default: 0.2)
+ Previously pyzor_whitelist_factor which will work interchangeably
+ until 4.1.
+
+ Ignore Pyzor result if REPORTCOUNT x NUMBER >=
+ pyzor_welcomelist_min. For default setting this means: 50 reports
+ requires 10 welcomelistings.
+
+ADMINISTRATOR SETTINGS
+ pyzor_fork (0|1) (default: 1)
+ Instead of running Pyzor synchronously, fork separate process for it
+ and read the results in later (similar to async DNS lookups).
+ Increases throughput. Considered experimental on Windows, where
+ default is 0.
+
+ pyzor_perl (0|1) (default: 0)
+ Instead of running Pyzor client, use a pure Perl client.
+
+ pyzor_timeout n (default: 5)
+ How many seconds you wait for Pyzor to complete, before scanning
+ continues without the Pyzor results. A numeric value is optionally
+ suffixed by a time unit (s, m, h, d, w, indicating seconds
+ (default), minutes, hours, days, weeks).
+
+ You can configure Pyzor to have its own per-server timeout. Set this
+ plugin's timeout with that in mind. This plugin's timeout is a
+ maximum ceiling. If Pyzor takes longer than this to complete its
+ communication with all servers, no results are used by SpamAssassin.
+
+ Pyzor servers do not yet synchronize their servers, so it can be
+ beneficial to check and report to more than one. See the pyzor-users
+ mailing list for alternate servers that are not published via 'pyzor
+ discover'.
+
+ If you are using multiple Pyzor servers, a good rule of thumb would
+ be to set the SpamAssassin plugin's timeout to be the same or just a
+ bit more than the per-server Pyzor timeout (e.g., 3.5 and 2 for two
+ Pyzor servers). If more than one of your Pyzor servers is always
+ timing out, consider removing one of them.
+
+ pyzor_options options
+ Specify additional options to the pyzor(1) command. Please note that
+ only characters in the range [0-9A-Za-z =,._/-] are allowed for
+ security reasons.
+
+ pyzor_path STRING
+ This option tells SpamAssassin specifically where to find the
+ "pyzor" client instead of relying on SpamAssassin to find it in the
+ current PATH. Note that if *taint mode* is enabled in the Perl
+ interpreter, you should use this, as the current PATH will have been
+ cleared.
+
+ pyzor_server_file FILE
+ Pyzor servers configuration file path, used by Pyzor Perl
+ implementation. By default Pyzor will connect to public.pyzor.org on
+ port 24441.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,104 @@
+<?xml version="1.0" ?>
+<!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::Razor2 - perform Razor check of messages</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#DEPENDENCIES">DEPENDENCIES</a></li>
+ <li><a href="#RULE-DEFINITIONS">RULE DEFINITIONS</a></li>
+ <li><a href="#USER-SETTINGS">USER SETTINGS</a></li>
+ <li><a href="#ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::Razor2 - perform Razor check of messages</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Razor2</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>Vipul&#39;s Razor is a distributed, collaborative, spam detection and filtering network based on user submissions of spam. Detection is done with signatures that efficiently spot mutating spam content and user input is validated through reputation assignments.</p>
+
+<p>See http://razor.sourceforge.net/ for more information about Razor.</p>
+
+<h1 id="DEPENDENCIES">DEPENDENCIES</h1>
+
+<p>Razor2 requires the <code>Razor2::Client::Agent</code> Perl module to be installed.</p>
+
+<h1 id="RULE-DEFINITIONS">RULE DEFINITIONS</h1>
+
+<p>Razor2 calculates a signature for each part of a multipart message and then compares those signatures to a database of known spam signatures. The server returns a confidence value (0-100) for each part of the message. The part with the highest confidence value is used as the confidence value for the message.</p>
+
+<p>The following eval rules are provided by this plugin:</p>
+
+<pre><code>full RULENAME eval:check_razor2()
+
+ Returns true if the confidence value of the message is greater than or equal to `min_cf` as defined in
+ the Razor2 configuration file &#39;razor-agent.conf(1)&#39;.
+
+full RULENAME eval:check_razor2_range(&lt;engine&gt;,&lt;min&gt;,&lt;max&gt;)
+
+ &lt;engine&gt; Engine number (4, 8 or &#39;&#39;)
+ &lt;min&gt; Minimum confidence value (0-100)
+ &lt;max&gt; Maximum confidence value (0-100)
+
+ Returns true if the spam confidence value for the message is greater than or equal to &lt;min&gt; and
+ less than or equal to &lt;max&gt;. If &lt;engine&gt; is not specified, the engine with the highest
+ confidence value is used.</code></pre>
+
+<h1 id="USER-SETTINGS">USER SETTINGS</h1>
+
+<dl>
+
+<dt id="use_razor2-0-1-default:-1">use_razor2 (0|1) (default: 1)</dt>
+<dd>
+
+<p>Whether to use Razor2, if it is available.</p>
+
+</dd>
+</dl>
+
+<h1 id="ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</h1>
+
+<dl>
+
+<dt id="razor_fork-0-1-default:-1">razor_fork (0|1) (default: 1)</dt>
+<dd>
+
+<p>Instead of running Razor2 synchronously, fork separate process for it and read the results in later (similar to async DNS lookups). Increases throughput. Considered experimental on Windows, where default is 0.</p>
+
+</dd>
+<dt id="razor_timeout-n-default:-5">razor_timeout n (default: 5)</dt>
+<dd>
+
+<p>How many seconds you wait for Razor to complete before you go on without the results</p>
+
+</dd>
+<dt id="razor_config-filename">razor_config filename</dt>
+<dd>
+
+<p>Define the filename used to store Razor&#39;s configuration settings. Currently this is left to Razor to decide.</p>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Razor2.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,60 @@
+NAME
+ Mail::SpamAssassin::Plugin::Razor2 - perform Razor check of messages
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Razor2
+
+DESCRIPTION
+ Vipul's Razor is a distributed, collaborative, spam detection and
+ filtering network based on user submissions of spam. Detection is done
+ with signatures that efficiently spot mutating spam content and user
+ input is validated through reputation assignments.
+
+ See http://razor.sourceforge.net/ for more information about Razor.
+
+DEPENDENCIES
+ Razor2 requires the "Razor2::Client::Agent" Perl module to be installed.
+
+RULE DEFINITIONS
+ Razor2 calculates a signature for each part of a multipart message and
+ then compares those signatures to a database of known spam signatures.
+ The server returns a confidence value (0-100) for each part of the
+ message. The part with the highest confidence value is used as the
+ confidence value for the message.
+
+ The following eval rules are provided by this plugin:
+
+ full RULENAME eval:check_razor2()
+
+ Returns true if the confidence value of the message is greater than or equal to `min_cf` as defined in
+ the Razor2 configuration file 'razor-agent.conf(1)'.
+
+ full RULENAME eval:check_razor2_range(<engine>,<min>,<max>)
+
+ <engine> Engine number (4, 8 or '')
+ <min> Minimum confidence value (0-100)
+ <max> Maximum confidence value (0-100)
+
+ Returns true if the spam confidence value for the message is greater than or equal to <min> and
+ less than or equal to <max>. If <engine> is not specified, the engine with the highest
+ confidence value is used.
+
+USER SETTINGS
+ use_razor2 (0|1) (default: 1)
+ Whether to use Razor2, if it is available.
+
+ADMINISTRATOR SETTINGS
+ razor_fork (0|1) (default: 1)
+ Instead of running Razor2 synchronously, fork separate process for
+ it and read the results in later (similar to async DNS lookups).
+ Increases throughput. Considered experimental on Windows, where
+ default is 0.
+
+ razor_timeout n (default: 5)
+ How many seconds you wait for Razor to complete before you go on
+ without the results
+
+ razor_config filename
+ Define the filename used to store Razor's configuration settings.
+ Currently this is left to Razor to decide.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,64 @@
+<?xml version="1.0" ?>
+<!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>RelayCountry - add message metadata indicating the country code of each relay</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#REQUIREMENT">REQUIREMENT</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>RelayCountry - add message metadata indicating the country code of each relay</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::RelayCountry</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>The RelayCountry plugin attempts to determine the domain country codes of each relay used in the delivery path of messages and add that information to the message metadata.</p>
+
+<p>Following metadata headers and tags are added:</p>
+
+<pre><code>X-Relay-Countries _RELAYCOUNTRY_
+ All untrusted relays. Contains all relays starting from the
+ trusted_networks border. This method has been used by default since
+ early SA versions.
+
+X-Relay-Countries-External _RELAYCOUNTRYEXT_
+ All external relays. Contains all relays starting from the
+ internal_networks border. Could be useful in some cases when
+ trusted/msa_networks extend beyond the internal border and those
+ need to be checked too.
+
+X-Relay-Countries-All _RELAYCOUNTRYALL_
+ All possible relays (internal + external).
+
+X-Relay-Countries-Auth _RELAYCOUNTRYAUTH_
+ Auth will contain all relays starting from the first relay that used
+ authentication. For example, this could be used to check for hacked
+ local users coming in from unexpected countries. If there are no
+ authenticated relays, this will be empty.</code></pre>
+
+<h1 id="REQUIREMENT">REQUIREMENT</h1>
+
+<p>This plugin uses Mail::SpamAssassin::GeoDB and requires a module supported by it, for example MaxMind::DB::Reader (GeoIP2).</p>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_RelayCountry.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,38 @@
+NAME
+ RelayCountry - add message metadata indicating the country code of each
+ relay
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::RelayCountry
+
+DESCRIPTION
+ The RelayCountry plugin attempts to determine the domain country codes
+ of each relay used in the delivery path of messages and add that
+ information to the message metadata.
+
+ Following metadata headers and tags are added:
+
+ X-Relay-Countries _RELAYCOUNTRY_
+ All untrusted relays. Contains all relays starting from the
+ trusted_networks border. This method has been used by default since
+ early SA versions.
+
+ X-Relay-Countries-External _RELAYCOUNTRYEXT_
+ All external relays. Contains all relays starting from the
+ internal_networks border. Could be useful in some cases when
+ trusted/msa_networks extend beyond the internal border and those
+ need to be checked too.
+
+ X-Relay-Countries-All _RELAYCOUNTRYALL_
+ All possible relays (internal + external).
+
+ X-Relay-Countries-Auth _RELAYCOUNTRYAUTH_
+ Auth will contain all relays starting from the first relay that used
+ authentication. For example, this could be used to check for hacked
+ local users coming in from unexpected countries. If there are no
+ authenticated relays, this will be empty.
+
+REQUIREMENT
+ This plugin uses Mail::SpamAssassin::GeoDB and requires a module
+ supported by it, for example MaxMind::DB::Reader (GeoIP2).
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,100 @@
+<?xml version="1.0" ?>
+<!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></title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#RULE-DEFINITIONS-AND-PRIVILEGED-SETTINGS">RULE DEFINITIONS AND PRIVILEGED SETTINGS</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::ReplaceTags - tags for SpamAssassin rules</p>
+
+<p>The plugin allows rules to contain regular expression tags to be used in regular expression rules. The tags make it much easier to maintain complicated rules.</p>
+
+<p>Warning: This plugin relies on data structures specific to this version of SpamAssassin; it is not guaranteed to work with other versions of SpamAssassin.</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
+
+replace_start &lt;
+replace_end &gt;
+
+replace_tag A [a@]
+replace_tag G [gk]
+replace_tag I [il|!1y\?\xcc\xcd\xce\xcf\xec\xed\xee\xef]
+replace_tag R [r3]
+replace_tag V (?:[vu]|\\\/)
+replace_tag SP [\s~_-]
+
+body VIAGRA_OBFU /(?!viagra)&lt;V&gt;+&lt;SP&gt;*&lt;I&gt;+&lt;SP&gt;*&lt;A&gt;+&lt;SP&gt;*&lt;G&gt;+&lt;SP&gt;*&lt;R&gt;+&lt;SP&gt;*&lt;A&gt;+/i
+describe VIAGRA_OBFU Attempt to obfuscate &quot;viagra&quot;
+
+replace_rules VIAGRA_OBFU</code></pre>
+
+<h1 id="RULE-DEFINITIONS-AND-PRIVILEGED-SETTINGS">RULE DEFINITIONS AND PRIVILEGED SETTINGS</h1>
+
+<dl>
+
+<dt id="replace_tag-tagname-expression">replace_tag tagname expression</dt>
+<dd>
+
+<p>Assign a valid regular expression to tagname.</p>
+
+<p>Note: It is not recommended to put quantifiers inside the tag, it&#39;s better to put them inside the rule itself for greater flexibility.</p>
+
+</dd>
+<dt id="replace_pre-tagname-expression">replace_pre tagname expression</dt>
+<dd>
+
+<p>Assign a valid regular expression to tagname. The expression will be placed before each tag that is replaced.</p>
+
+</dd>
+<dt id="replace_inter-tagname-expression">replace_inter tagname expression</dt>
+<dd>
+
+<p>Assign a valid regular expression to tagname. The expression will be placed between each two immediately adjacent tags that are replaced.</p>
+
+</dd>
+<dt id="replace_post-tagname-expression">replace_post tagname expression</dt>
+<dd>
+
+<p>Assign a valid regular expression to tagname. The expression will be placed after each tag that is replaced.</p>
+
+</dd>
+<dt id="replace_rules-list_of_tests">replace_rules list_of_tests</dt>
+<dd>
+
+<p>Specify a list of symbolic test names (separated by whitespace) of tests which should be modified using replacement tags. Only simple regular expression body, header, uri, full, rawbody tests are supported.</p>
+
+</dd>
+<dt id="replace_start-string">replace_start string</dt>
+<dd>
+
+</dd>
+<dt id="replace_end-string">replace_end string</dt>
+<dd>
+
+<p>String(s) which indicate the start and end of a tag inside a rule. Only tags enclosed by the start and end strings are found and replaced.</p>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ReplaceTags.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,60 @@
+NAME
+ Mail::SpamAssassin::Plugin::ReplaceTags - tags for SpamAssassin rules
+
+ The plugin allows rules to contain regular expression tags to be used in
+ regular expression rules. The tags make it much easier to maintain
+ complicated rules.
+
+ Warning: This plugin relies on data structures specific to this version
+ of SpamAssassin; it is not guaranteed to work with other versions of
+ SpamAssassin.
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
+
+ replace_start <
+ replace_end >
+
+ replace_tag A [a@]
+ replace_tag G [gk]
+ replace_tag I [il|!1y\?\xcc\xcd\xce\xcf\xec\xed\xee\xef]
+ replace_tag R [r3]
+ replace_tag V (?:[vu]|\\\/)
+ replace_tag SP [\s~_-]
+
+ body VIAGRA_OBFU /(?!viagra)<V>+<SP>*<I>+<SP>*<A>+<SP>*<G>+<SP>*<R>+<SP>*<A>+/i
+ describe VIAGRA_OBFU Attempt to obfuscate "viagra"
+
+ replace_rules VIAGRA_OBFU
+
+RULE DEFINITIONS AND PRIVILEGED SETTINGS
+ replace_tag tagname expression
+ Assign a valid regular expression to tagname.
+
+ Note: It is not recommended to put quantifiers inside the tag, it's
+ better to put them inside the rule itself for greater flexibility.
+
+ replace_pre tagname expression
+ Assign a valid regular expression to tagname. The expression will be
+ placed before each tag that is replaced.
+
+ replace_inter tagname expression
+ Assign a valid regular expression to tagname. The expression will be
+ placed between each two immediately adjacent tags that are replaced.
+
+ replace_post tagname expression
+ Assign a valid regular expression to tagname. The expression will be
+ placed after each tag that is replaced.
+
+ replace_rules list_of_tests
+ Specify a list of symbolic test names (separated by whitespace) of
+ tests which should be modified using replacement tags. Only simple
+ regular expression body, header, uri, full, rawbody tests are
+ supported.
+
+ replace_start string
+ replace_end string
+ String(s) which indicate the start and end of a tag inside a rule.
+ Only tags enclosed by the start and end strings are found and
+ replaced.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,75 @@
+<?xml version="1.0" ?>
+<!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::ResourceLimits - Limit the memory and/or CPU of child spamd processes</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::ResourceLimits - Limit the memory and/or CPU of child spamd processes</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code># This plugin is for admin only and cannot be specified in user config.
+loadplugin Mail::SpamAssassin::Plugin::ResourceLimits
+
+# Sets to RLIMIT_CPU from BSD::Resource. The quota is based on max CPU Time seconds.
+resource_limit_cpu 120
+
+# Sets to RLIMIT_RSS and RLIMIT_AS via BSD::Resource.
+resource_limit_cpu 536870912</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>This module leverages BSD::Resource to assure your spamd child processes do not exceed specified CPU or memory limit. If this happens, the child process will die. See the <a>BSD::Resource</a> for more details.</p>
+
+<p>NOTE: Because this plugin uses BSD::Resource, it will not function on Windows.</p>
+
+<h1 id="ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</h1>
+
+<dl>
+
+<dt id="resource_limit_cpu-120-default:-0-or-no-limit">resource_limit_cpu 120 (default: 0 or no limit)</dt>
+<dd>
+
+<p>How many cpu cycles are allowed on this process before it dies.</p>
+
+</dd>
+<dt id="resource_limit_mem-536870912-default:-0-or-no-limit">resource_limit_mem 536870912 (default: 0 or no limit)</dt>
+<dd>
+
+<p>The maximum number of bytes of memory allowed both for:</p>
+
+<ul>
+
+<li><p>(virtual) address space bytes</p>
+
+</li>
+<li><p>resident set size</p>
+
+</li>
+</ul>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_ResourceLimits.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,33 @@
+NAME
+ Mail::SpamAssassin::Plugin::ResourceLimits - Limit the memory and/or CPU
+ of child spamd processes
+
+SYNOPSIS
+ # This plugin is for admin only and cannot be specified in user config.
+ loadplugin Mail::SpamAssassin::Plugin::ResourceLimits
+
+ # Sets to RLIMIT_CPU from BSD::Resource. The quota is based on max CPU Time seconds.
+ resource_limit_cpu 120
+
+ # Sets to RLIMIT_RSS and RLIMIT_AS via BSD::Resource.
+ resource_limit_cpu 536870912
+
+DESCRIPTION
+ This module leverages BSD::Resource to assure your spamd child processes
+ do not exceed specified CPU or memory limit. If this happens, the child
+ process will die. See the BSD::Resource for more details.
+
+ NOTE: Because this plugin uses BSD::Resource, it will not function on
+ Windows.
+
+ADMINISTRATOR SETTINGS
+ resource_limit_cpu 120 (default: 0 or no limit)
+ How many cpu cycles are allowed on this process before it dies.
+
+ resource_limit_mem 536870912 (default: 0 or no limit)
+ The maximum number of bytes of memory allowed both for:
+
+ * (virtual) address space bytes
+
+ * resident set size
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,47 @@
+<?xml version="1.0" ?>
+<!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::Reuse - For reusing old rule hits during a mass-check</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::Reuse - For reusing old rule hits during a mass-check</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Reuse
+
+ifplugin Mail::SpamAssassin::Plugin::Reuse
+
+reuse NETWORK_RULE [ NETWORK_RULE_OLD_NAME ]
+
+run_reuse_tests_only 0/1
+
+endif</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>The purpose of this plugin is to work in conjunction with <b>mass-check --reuse</b> to map rules hit in input messages to rule hits in the mass-check output.</p>
+
+<p>run_reuse_tests_only 1 is special option for spamassassin/spamd use. Only reuse flagged tests will be run. It will also _enable_ network/DNS lookups. This is mainly intended for fast mass processing of corpus messages, so they can be properly reused later. For example: spamd --pre=&quot;loadmodule Mail::SpamAssassin::Plugin::Reuse&quot; \ --pre=&quot;run_reuse_tests_only 1&quot; ... Such dedicated spamd could be scripted to add X-Spam-Status header to messages efficiently.</p>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Reuse.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,28 @@
+NAME
+ Mail::SpamAssassin::Plugin::Reuse - For reusing old rule hits during a
+ mass-check
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Reuse
+
+ ifplugin Mail::SpamAssassin::Plugin::Reuse
+
+ reuse NETWORK_RULE [ NETWORK_RULE_OLD_NAME ]
+
+ run_reuse_tests_only 0/1
+
+ endif
+
+DESCRIPTION
+ The purpose of this plugin is to work in conjunction with mass-check
+ --reuse to map rules hit in input messages to rule hits in the
+ mass-check output.
+
+ run_reuse_tests_only 1 is special option for spamassassin/spamd use.
+ Only reuse flagged tests will be run. It will also _enable_ network/DNS
+ lookups. This is mainly intended for fast mass processing of corpus
+ messages, so they can be properly reused later. For example: spamd
+ --pre="loadmodule Mail::SpamAssassin::Plugin::Reuse" \
+ --pre="run_reuse_tests_only 1" ... Such dedicated spamd could be
+ scripted to add X-Spam-Status header to messages efficiently.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,39 @@
+<?xml version="1.0" ?>
+<!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::Rule2XSBody - speed up SpamAssassin by compiling regexps</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::Rule2XSBody - speed up SpamAssassin by compiling regexps</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>This plugin will use native-code object files representing the ruleset, in order to provide significant speedups in rule evaluation.</p>
+
+<p>Note that <code>sa-compile</code> must be run in advance, in order to compile the ruleset using <code>re2c</code> and the C compiler. See the <code>sa-compile</code> documentation for more details.</p>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Rule2XSBody.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,15 @@
+NAME
+ Mail::SpamAssassin::Plugin::Rule2XSBody - speed up SpamAssassin by
+ compiling regexps
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody
+
+DESCRIPTION
+ This plugin will use native-code object files representing the ruleset,
+ in order to provide significant speedups in rule evaluation.
+
+ Note that "sa-compile" must be run in advance, in order to compile the
+ ruleset using "re2c" and the C compiler. See the "sa-compile"
+ documentation for more details.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,136 @@
+<?xml version="1.0" ?>
+<!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::SPF - perform SPF verification tests</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <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="#ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::SPF - perform SPF verification tests</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::SPF</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>This plugin checks a message against Sender Policy Framework (SPF) records published by the domain owners in DNS to fight email address forgery and make it easier to identify spams.</p>
+
+<p>It&#39;s recommended to use MTA filter (pypolicyd-spf / spf-engine etc), so this plugin can reuse the Received-SPF and/or Authentication-Results header results as is. Otherwise throughput could suffer, DNS lookups done by this plugin are not asynchronous. Those headers will also help when SpamAssassin is not able to correctly detect EnvelopeFrom.</p>
+
+<h1 id="USER-SETTINGS">USER SETTINGS</h1>
+
+<dl>
+
+<dt id="welcomelist_from_spf-user-example.com">welcomelist_from_spf user@example.com</dt>
+<dd>
+
+<p>Previously whitelist_from_spf which will work interchangeably until 4.1.</p>
+
+<p>Works similarly to welcomelist_from, except that in addition to matching a sender address, a check against the domain&#39;s SPF record must pass. The first parameter is an address to welcomelist, and the second is a string to match the relay&#39;s rDNS.</p>
+
+<p>Just like welcomelist_from, multiple addresses per line, separated by spaces, are OK. Multiple <code>welcomelist_from_spf</code> lines are also OK.</p>
+
+<p>The headers checked for welcomelist_from_spf addresses are the same headers used for SPF checks (Envelope-From, Return-Path, X-Envelope-From, etc).</p>
+
+<p>Since this welcomelist requires an SPF check to be made, network tests must be enabled. It is also required that your trust path be correctly configured. See the section on <code>trusted_networks</code> for more info on trust paths.</p>
+
+<p>e.g.</p>
+
+<pre><code>welcomelist_from_spf joe@example.com fred@example.com
+welcomelist_from_spf *@example.com</code></pre>
+
+</dd>
+<dt id="def_welcomelist_from_spf-user-example.com">def_welcomelist_from_spf user@example.com</dt>
+<dd>
+
+<p>Previously def_whitelist_from_spf which will work interchangeably until 4.1.</p>
+
+<p>Same as <code>welcomelist_from_spf</code>, but used for the default welcomelist entries in the SpamAssassin distribution. The welcomelist score is lower, because these are often targets for spammer spoofing.</p>
+
+</dd>
+<dt id="unwelcomelist_from_spf-user-example.com">unwelcomelist_from_spf user@example.com</dt>
+<dd>
+
+<p>Previously unwhitelist_from_spf which will work interchangeably until 4.1.</p>
+
+<p>Used to remove a <code>welcomelist_from_spf</code> or <code>def_welcomelist_from_spf</code> entry. The specified email address has to match exactly the address previously used.</p>
+
+<p>Useful for removing undesired default entries from a distributed configuration by a local or site-specific configuration or by <code>user_prefs</code>.</p>
+
+</dd>
+</dl>
+
+<h1 id="ADMINISTRATOR-SETTINGS">ADMINISTRATOR SETTINGS</h1>
+
+<dl>
+
+<dt id="spf_timeout-n-default:-5">spf_timeout n (default: 5)</dt>
+<dd>
+
+<p>How many seconds to wait for an SPF query to complete, before scanning continues without the SPF result. A numeric value is optionally suffixed by a time unit (s, m, h, d, w, indicating seconds (default), minutes, hours, days, weeks).</p>
+
+</dd>
+<dt id="ignore_received_spf_header-0-1-default:-0">ignore_received_spf_header (0|1) (default: 0)</dt>
+<dd>
+
+<p>By default, to avoid unnecessary DNS lookups, the plugin will try to use the SPF results found in any <code>Received-SPF</code> headers it finds in the message that could only have been added by an internal relay.</p>
+
+<p>Set this option to 1 to ignore any <code>Received-SPF</code> headers present and to have the plugin perform the SPF check itself.</p>
+
+<p>Note that unless the plugin finds an <code>identity=helo</code>, or some unsupported identity, it will assume that the result is a mfrom SPF check result. The only identities supported are <code>mfrom</code>, <code>mailfrom</code> and <code>helo</code>.</p>
+
+</dd>
+<dt id="use_newest_received_spf_header-0-1-default:-0">use_newest_received_spf_header (0|1) (default: 0)</dt>
+<dd>
+
+<p>By default, when using <code>Received-SPF</code> headers, the plugin will attempt to use the oldest (bottom most) <code>Received-SPF</code> headers, that were added by internal relays, that it can parse results from since they are the most likely to be accurate. This is done so that if you have an incoming mail setup where one of your primary MXes doesn&#39;t know about a secondary MX (or your MXes don&#39;t know about some sort of forwarding relay that SA considers trusted+internal) but SA is aware of the actual domain boundary (internal_networks setting) SA will use the results that are most accurate.</p>
+
+<p>Use this option to start with the newest (top most) <code>Received-SPF</code> headers, working downwards until results are successfully parsed.</p>
+
+</dd>
+<dt id="has_check_for_spf_errors">has_check_for_spf_errors</dt>
+<dd>
+
+<p>Adds capability check for &quot;if can()&quot; for check_for_spf_permerror, check_for_spf_temperror, check_for_spf_helo_permerror and check_for_spf_helo_permerror</p>
+
+</dd>
+<dt id="has_check_spf_skipped_noenvfrom">has_check_spf_skipped_noenvfrom</dt>
+<dd>
+
+<p>Adds capability check for &quot;if can()&quot; for check_spf_skipped_noenvfrom</p>
+
+<dl>
+
+<dt id="check_spf_skipped_noenvfrom">check_spf_skipped_noenvfrom</dt>
+<dd>
+
+<p>Checks if SPF checks have been skipped because EnvelopeFrom cannot be determined.</p>
+
+</dd>
+</dl>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SPF.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,111 @@
+NAME
+ Mail::SpamAssassin::Plugin::SPF - perform SPF verification tests
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::SPF
+
+DESCRIPTION
+ This plugin checks a message against Sender Policy Framework (SPF)
+ records published by the domain owners in DNS to fight email address
+ forgery and make it easier to identify spams.
+
+ It's recommended to use MTA filter (pypolicyd-spf / spf-engine etc), so
+ this plugin can reuse the Received-SPF and/or Authentication-Results
+ header results as is. Otherwise throughput could suffer, DNS lookups
+ done by this plugin are not asynchronous. Those headers will also help
+ when SpamAssassin is not able to correctly detect EnvelopeFrom.
+
+USER SETTINGS
+ welcomelist_from_spf user@example.com
+ Previously whitelist_from_spf which will work interchangeably until
+ 4.1.
+
+ Works similarly to welcomelist_from, except that in addition to
+ matching a sender address, a check against the domain's SPF record
+ must pass. The first parameter is an address to welcomelist, and the
+ second is a string to match the relay's rDNS.
+
+ Just like welcomelist_from, multiple addresses per line, separated
+ by spaces, are OK. Multiple "welcomelist_from_spf" lines are also
+ OK.
+
+ The headers checked for welcomelist_from_spf addresses are the same
+ headers used for SPF checks (Envelope-From, Return-Path,
+ X-Envelope-From, etc).
+
+ Since this welcomelist requires an SPF check to be made, network
+ tests must be enabled. It is also required that your trust path be
+ correctly configured. See the section on "trusted_networks" for more
+ info on trust paths.
+
+ e.g.
+
+ welcomelist_from_spf joe@example.com fred@example.com
+ welcomelist_from_spf *@example.com
+
+ def_welcomelist_from_spf user@example.com
+ Previously def_whitelist_from_spf which will work interchangeably
+ until 4.1.
+
+ Same as "welcomelist_from_spf", but used for the default welcomelist
+ entries in the SpamAssassin distribution. The welcomelist score is
+ lower, because these are often targets for spammer spoofing.
+
+ unwelcomelist_from_spf user@example.com
+ Previously unwhitelist_from_spf which will work interchangeably
+ until 4.1.
+
+ Used to remove a "welcomelist_from_spf" or
+ "def_welcomelist_from_spf" entry. The specified email address has to
+ match exactly the address previously used.
+
+ Useful for removing undesired default entries from a distributed
+ configuration by a local or site-specific configuration or by
+ "user_prefs".
+
+ADMINISTRATOR SETTINGS
+ spf_timeout n (default: 5)
+ How many seconds to wait for an SPF query to complete, before
+ scanning continues without the SPF result. A numeric value is
+ optionally suffixed by a time unit (s, m, h, d, w, indicating
+ seconds (default), minutes, hours, days, weeks).
+
+ ignore_received_spf_header (0|1) (default: 0)
+ By default, to avoid unnecessary DNS lookups, the plugin will try to
+ use the SPF results found in any "Received-SPF" headers it finds in
+ the message that could only have been added by an internal relay.
+
+ Set this option to 1 to ignore any "Received-SPF" headers present
+ and to have the plugin perform the SPF check itself.
+
+ Note that unless the plugin finds an "identity=helo", or some
+ unsupported identity, it will assume that the result is a mfrom SPF
+ check result. The only identities supported are "mfrom", "mailfrom"
+ and "helo".
+
+ use_newest_received_spf_header (0|1) (default: 0)
+ By default, when using "Received-SPF" headers, the plugin will
+ attempt to use the oldest (bottom most) "Received-SPF" headers, that
+ were added by internal relays, that it can parse results from since
+ they are the most likely to be accurate. This is done so that if you
+ have an incoming mail setup where one of your primary MXes doesn't
+ know about a secondary MX (or your MXes don't know about some sort
+ of forwarding relay that SA considers trusted+internal) but SA is
+ aware of the actual domain boundary (internal_networks setting) SA
+ will use the results that are most accurate.
+
+ Use this option to start with the newest (top most) "Received-SPF"
+ headers, working downwards until results are successfully parsed.
+
+ has_check_for_spf_errors
+ Adds capability check for "if can()" for check_for_spf_permerror,
+ check_for_spf_temperror, check_for_spf_helo_permerror and
+ check_for_spf_helo_permerror
+
+ has_check_spf_skipped_noenvfrom
+ Adds capability check for "if can()" for check_spf_skipped_noenvfrom
+
+ check_spf_skipped_noenvfrom
+ Checks if SPF checks have been skipped because EnvelopeFrom
+ cannot be determined.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,150 @@
+<?xml version="1.0" ?>
+<!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::Shortcircuit - short-circuit evaluation for certain rules</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#CONFIGURATION-SETTINGS">CONFIGURATION SETTINGS</a></li>
+ <li><a href="#TAGS">TAGS</a></li>
+ <li><a href="#SEE-ALSO">SEE ALSO</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::Shortcircuit - short-circuit evaluation for certain rules</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
+
+report Content analysis details: (_SCORE_ points, _REQD_ required, s/c _SCTYPE_)
+
+add_header all Status &quot;_YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ shortcircuit=_SCTYPE_ autolearn=_AUTOLEARN_ version=_VERSION_&quot;</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>This plugin implements simple, test-based shortcircuiting. Shortcircuiting a test will force all other pending rules to be skipped, if that test is hit. In addition, a symbolic rule, <code>SHORTCIRCUIT</code>, will fire.</p>
+
+<p>Recommended usage is to use <code>priority</code> to set rules with strong S/O values (ie. 1.0) to be run first, and make instant spam or ham classification based on that.</p>
+
+<h1 id="CONFIGURATION-SETTINGS">CONFIGURATION SETTINGS</h1>
+
+<p>The following configuration settings are used to control shortcircuiting:</p>
+
+<dl>
+
+<dt id="shortcircuit-SYMBOLIC_TEST_NAME-ham-spam-on-off">shortcircuit SYMBOLIC_TEST_NAME {ham|spam|on|off}</dt>
+<dd>
+
+<p>Shortcircuiting a test will force all other pending rules to be skipped, if that test is hit.</p>
+
+<p>Recommended usage is to use <code>priority</code> to set rules with strong S/O values (ie. 1.0) to be run first, and make instant spam or ham classification based on that.</p>
+
+<p>To override a test that uses shortcircuiting, you can set the classification type to <code>off</code>.</p>
+
+<p>Note that DNS and other network lookups are launched when SA reaches priority -100. If you want to shortcircuit scanning before any network queries are sent, you need to set lower than -100 priority to any such rule, like -200 as in the examples below.</p>
+
+<p>Shortcircuited test will be automatically set to priority -200, but only if the original priority is unchanged at default 0.</p>
+
+<dl>
+
+<dt id="on">on</dt>
+<dd>
+
+<p>Shortcircuits the rest of the tests, but does not make a strict classification of spam or ham. Rather, it uses the default score for the rule being shortcircuited. This would allow you, for example, to define a rule such as</p>
+
+<pre><code>body TEST /test/
+describe TEST test rule that scores barely over spam threshold
+score TEST 5.5
+priority TEST -200
+shortcircuit TEST on</code></pre>
+
+<p>The result of a message hitting the above rule would be a final score of 5.5, as opposed to 100 (default) if it were classified as spam.</p>
+
+</dd>
+<dt id="off">off</dt>
+<dd>
+
+<p>Disables shortcircuiting on said rule.</p>
+
+</dd>
+<dt id="spam">spam</dt>
+<dd>
+
+<p>Shortcircuit the rule using a set of defaults; override the default score of this rule with the score from <code>shortcircuit_spam_score</code>, set the <code>noautolearn</code> tflag, and set priority to <code>-200</code>. In other words, equivalent to:</p>
+
+<pre><code>shortcircuit TEST on
+priority TEST -200
+score TEST 100
+tflags TEST noautolearn</code></pre>
+
+</dd>
+<dt id="ham">ham</dt>
+<dd>
+
+<p>Shortcircuit the rule using a set of defaults; override the default score of this rule with the score from <code>shortcircuit_ham_score</code>, set the <code>noautolearn</code> and <code>nice</code> tflags, and set priority to <code>-200</code>. In other words, equivalent to:</p>
+
+<pre><code>shortcircuit TEST on
+priority TEST -200
+score TEST -100
+tflags TEST noautolearn nice</code></pre>
+
+</dd>
+</dl>
+
+</dd>
+<dt id="shortcircuit_spam_score-n.nn-default:-100">shortcircuit_spam_score n.nn (default: 100)</dt>
+<dd>
+
+<p>When shortcircuit is used on a rule, and the shortcircuit classification type is set to <code>spam</code>, this value should be applied in place of the default score for that rule.</p>
+
+</dd>
+<dt id="shortcircuit_ham_score-n.nn-default:--100">shortcircuit_ham_score n.nn (default: -100)</dt>
+<dd>
+
+<p>When shortcircuit is used on a rule, and the shortcircuit classification type is set to <code>ham</code>, this value should be applied in place of the default score for that rule.</p>
+
+</dd>
+<dt id="shortcircuit_min_ham_score-n.nn-default:-undef">shortcircuit_min_ham_score n.nn (default: undef)</dt>
+<dd>
+
+<p>When shortcircuit_min_ham_score is set, SpamAssassin will stop processing when total score will be lower then this value.</p>
+
+</dd>
+<dt id="shortcircuit_max_spam_score-n.nn-default:-undef">shortcircuit_max_spam_score n.nn (default: undef)</dt>
+<dd>
+
+<p>When shortcircuit_max_spam_score is set, SpamAssassin will stop processing when total score will be higher then this value.</p>
+
+</dd>
+</dl>
+
+<h1 id="TAGS">TAGS</h1>
+
+<p>The following tags are added to the set available for use in reports, headers etc.:</p>
+
+<pre><code>_SC_ shortcircuit status (classification and rule name)
+_SCRULE_ rulename that caused the shortcircuit
+_SCTYPE_ shortcircuit classification (&quot;spam&quot;, &quot;ham&quot;, &quot;default&quot;, &quot;none&quot;)</code></pre>
+
+<h1 id="SEE-ALSO">SEE ALSO</h1>
+
+<p><code>https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3109</code></p>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Shortcircuit.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,111 @@
+NAME
+ Mail::SpamAssassin::Plugin::Shortcircuit - short-circuit evaluation for
+ certain rules
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
+
+ report Content analysis details: (_SCORE_ points, _REQD_ required, s/c _SCTYPE_)
+
+ add_header all Status "_YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ shortcircuit=_SCTYPE_ autolearn=_AUTOLEARN_ version=_VERSION_"
+
+DESCRIPTION
+ This plugin implements simple, test-based shortcircuiting.
+ Shortcircuiting a test will force all other pending rules to be skipped,
+ if that test is hit. In addition, a symbolic rule, "SHORTCIRCUIT", will
+ fire.
+
+ Recommended usage is to use "priority" to set rules with strong S/O
+ values (ie. 1.0) to be run first, and make instant spam or ham
+ classification based on that.
+
+CONFIGURATION SETTINGS
+ The following configuration settings are used to control
+ shortcircuiting:
+
+ shortcircuit SYMBOLIC_TEST_NAME {ham|spam|on|off}
+ Shortcircuiting a test will force all other pending rules to be
+ skipped, if that test is hit.
+
+ Recommended usage is to use "priority" to set rules with strong S/O
+ values (ie. 1.0) to be run first, and make instant spam or ham
+ classification based on that.
+
+ To override a test that uses shortcircuiting, you can set the
+ classification type to "off".
+
+ Note that DNS and other network lookups are launched when SA reaches
+ priority -100. If you want to shortcircuit scanning before any
+ network queries are sent, you need to set lower than -100 priority
+ to any such rule, like -200 as in the examples below.
+
+ Shortcircuited test will be automatically set to priority -200, but
+ only if the original priority is unchanged at default 0.
+
+ on Shortcircuits the rest of the tests, but does not make a strict
+ classification of spam or ham. Rather, it uses the default score
+ for the rule being shortcircuited. This would allow you, for
+ example, to define a rule such as
+
+ body TEST /test/
+ describe TEST test rule that scores barely over spam threshold
+ score TEST 5.5
+ priority TEST -200
+ shortcircuit TEST on
+
+ The result of a message hitting the above rule would be a final
+ score of 5.5, as opposed to 100 (default) if it were classified
+ as spam.
+
+ off Disables shortcircuiting on said rule.
+
+ spam
+ Shortcircuit the rule using a set of defaults; override the
+ default score of this rule with the score from
+ "shortcircuit_spam_score", set the "noautolearn" tflag, and set
+ priority to -200. In other words, equivalent to:
+
+ shortcircuit TEST on
+ priority TEST -200
+ score TEST 100
+ tflags TEST noautolearn
+
+ ham Shortcircuit the rule using a set of defaults; override the
+ default score of this rule with the score from
+ "shortcircuit_ham_score", set the "noautolearn" and "nice"
+ tflags, and set priority to -200. In other words, equivalent to:
+
+ shortcircuit TEST on
+ priority TEST -200
+ score TEST -100
+ tflags TEST noautolearn nice
+
+ shortcircuit_spam_score n.nn (default: 100)
+ When shortcircuit is used on a rule, and the shortcircuit
+ classification type is set to "spam", this value should be applied
+ in place of the default score for that rule.
+
+ shortcircuit_ham_score n.nn (default: -100)
+ When shortcircuit is used on a rule, and the shortcircuit
+ classification type is set to "ham", this value should be applied in
+ place of the default score for that rule.
+
+ shortcircuit_min_ham_score n.nn (default: undef)
+ When shortcircuit_min_ham_score is set, SpamAssassin will stop
+ processing when total score will be lower then this value.
+
+ shortcircuit_max_spam_score n.nn (default: undef)
+ When shortcircuit_max_spam_score is set, SpamAssassin will stop
+ processing when total score will be higher then this value.
+
+TAGS
+ The following tags are added to the set available for use in reports,
+ headers etc.:
+
+ _SC_ shortcircuit status (classification and rule name)
+ _SCRULE_ rulename that caused the shortcircuit
+ _SCTYPE_ shortcircuit classification ("spam", "ham", "default", "none")
+
+SEE ALSO
+ "https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3109"
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,72 @@
+<?xml version="1.0" ?>
+<!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::SpamCop - perform SpamCop reporting of messages</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <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>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::SpamCop - perform SpamCop reporting of messages</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::SpamCop</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>SpamCop is a service for reporting spam. SpamCop determines the origin of unwanted email and reports it to the relevant Internet service providers. By reporting spam, you have a positive impact on the problem. Reporting unsolicited email also helps feed spam filtering systems, including, but not limited to, the SpamCop blocklist used in SpamAssassin as a DNSBL.</p>
+
+<p>Note that spam reports sent by this plugin to SpamCop each include the entire spam message.</p>
+
+<p>See https://www.spamcop.net/ for more information about SpamCop.</p>
+
+<h1 id="USER-SETTINGS">USER SETTINGS</h1>
+
+<dl>
+
+<dt id="spamcop_from_address-user-example.com-default:-none">spamcop_from_address user@example.com (default: none)</dt>
+<dd>
+
+<p>This address is used during manual reports to SpamCop as the From: address. You can use your normal email address. If this is not set, a guess will be used as the From: address in SpamCop reports.</p>
+
+</dd>
+<dt id="spamcop_to_address-user-example.com-default:-generic-reporting-address">spamcop_to_address user@example.com (default: generic reporting address)</dt>
+<dd>
+
+<p>Your customized SpamCop report submission address. You need to obtain this address by registering at <code>https://www.spamcop.net/</code>. If this is not set, SpamCop reports will go to a generic reporting address for SpamAssassin users and your reports will probably have less weight in the SpamCop system.</p>
+
+</dd>
+<dt id="spamcop_max_report_size-default:-50">spamcop_max_report_size (default: 50)</dt>
+<dd>
+
+<p>Messages larger than this size (in kilobytes) will be truncated in report messages sent to SpamCop. The default setting is the maximum size that SpamCop will accept at the time of release.</p>
+
+</dd>
+<dt id="spamcop_relayhost-server:port-default:-direct-connection-to-SpamCop">spamcop_relayhost server:port (default: direct connection to SpamCop)</dt>
+<dd>
+
+<p>Direct connection to SpamCop servers (port 587) is used for report submission by default. If this is undesirable or blocked by local firewall policies, you can specify a local SMTP relayhost to forward reports. Relayhost should be configured to not scan the report, for example by using a separate submission port. SSL or authentication is not supported.</p>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_SpamCop.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,46 @@
+NAME
+ Mail::SpamAssassin::Plugin::SpamCop - perform SpamCop reporting of
+ messages
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::SpamCop
+
+DESCRIPTION
+ SpamCop is a service for reporting spam. SpamCop determines the origin
+ of unwanted email and reports it to the relevant Internet service
+ providers. By reporting spam, you have a positive impact on the problem.
+ Reporting unsolicited email also helps feed spam filtering systems,
+ including, but not limited to, the SpamCop blocklist used in
+ SpamAssassin as a DNSBL.
+
+ Note that spam reports sent by this plugin to SpamCop each include the
+ entire spam message.
+
+ See https://www.spamcop.net/ for more information about SpamCop.
+
+USER SETTINGS
+ spamcop_from_address user@example.com (default: none)
+ This address is used during manual reports to SpamCop as the From:
+ address. You can use your normal email address. If this is not set,
+ a guess will be used as the From: address in SpamCop reports.
+
+ spamcop_to_address user@example.com (default: generic reporting address)
+ Your customized SpamCop report submission address. You need to
+ obtain this address by registering at "https://www.spamcop.net/". If
+ this is not set, SpamCop reports will go to a generic reporting
+ address for SpamAssassin users and your reports will probably have
+ less weight in the SpamCop system.
+
+ spamcop_max_report_size (default: 50)
+ Messages larger than this size (in kilobytes) will be truncated in
+ report messages sent to SpamCop. The default setting is the maximum
+ size that SpamCop will accept at the time of release.
+
+ spamcop_relayhost server:port (default: direct connection to SpamCop)
+ Direct connection to SpamCop servers (port 587) is used for report
+ submission by default. If this is undesirable or blocked by local
+ firewall policies, you can specify a local SMTP relayhost to forward
+ reports. Relayhost should be configured to not scan the report, for
+ example by using a separate submission port. SSL or authentication
+ is not supported.
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,38 @@
+<?xml version="1.0" ?>
+<!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>Test - test plugin</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <li><a href="#NAME">NAME</a></li>
+ <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Test - test plugin</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::Test
+header MY_TEST_PLUGIN eval:check_test_plugin()</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>To try this plugin, write the above two lines in the synopsis to <code>/etc/mail/spamassassin/plugintest.cf</code>.</p>
+
+
+</body>
+
+</html>
+
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.txt
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.txt?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.txt (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_Test.txt Fri Mar 29 12:01:17 2024
@@ -0,0 +1,11 @@
+NAME
+ Test - test plugin
+
+SYNOPSIS
+ loadplugin Mail::SpamAssassin::Plugin::Test
+ header MY_TEST_PLUGIN eval:check_test_plugin()
+
+DESCRIPTION
+ To try this plugin, write the above two lines in the synopsis to
+ "/etc/mail/spamassassin/plugintest.cf".
+

Added: spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_TextCat.html
URL: http://svn.apache.org/viewvc/spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_TextCat.html?rev=1916621&view=auto
==============================================================================
--- spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_TextCat.html (added)
+++ spamassassin/site/full/4.0.x/doc/Mail_SpamAssassin_Plugin_TextCat.html Fri Mar 29 12:01:17 2024
@@ -0,0 +1,402 @@
+<?xml version="1.0" ?>
+<!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::TextCat - TextCat language guesser</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:root@localhost" />
+</head>
+
+<body>
+
+
+
+<ul id="index">
+ <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>
+</ul>
+
+<h1 id="NAME">NAME</h1>
+
+<p>Mail::SpamAssassin::Plugin::TextCat - TextCat language guesser</p>
+
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
+
+<pre><code>loadplugin Mail::SpamAssassin::Plugin::TextCat</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>This plugin will try to guess the language used in the message body text.</p>
+
+<p>You can use the &quot;ok_languages&quot; directive to set which languages are considered okay for incoming mail and if the guessed language is not okay, <code>UNWANTED_LANGUAGE_BODY</code> is triggered. Alternatively you can use the X-Languages metadata header directly in rules.</p>
+
+<p>It will always add the results to a &quot;X-Languages&quot; name-value pair in the message metadata data structure. This may be useful as Bayes tokens and can also be used in rules for scoring. The results can also be added to marked-up messages using &quot;add_header&quot;, with the _LANGUAGES_ tag. See <a>Mail::SpamAssassin::Conf</a> for details.</p>
+
+<p>Note: the language cannot always be recognized with sufficient confidence. In that case, no action is taken.</p>
+
+<p>You can use _TEXTCATRESULTS_ tag to view the internal ngram-scoring, it might help fine-tuning settings.</p>
+
+<p>Examples of using X-Languages header directly in rules:</p>
+
+<pre><code>header OK_LANGS X-Languages =~ /\ben\b/
+score OK_LANGS -1
+
+header BAD_LANGS X-Languages =~ /\b(?:ja|zh)\b/
+score BAD_LANGS 1</code></pre>
+
+<h1 id="USER-SETTINGS">USER SETTINGS</h1>
+
+<dl>
+
+<dt id="ok_languages-xx-yy-zz-...-default:-all">ok_languages xx [ yy zz ... ] (default: all)</dt>
+<dd>
+
+<p>This option is used to specify which languages are considered okay for incoming mail. SpamAssassin will try to detect the language used in the message body text.</p>
+
+<p>Note that the language cannot always be recognized with sufficient confidence. In that case, no action is taken.</p>
+
+<p>The rule <code>UNWANTED_LANGUAGE_BODY</code> is triggered if none of the languages detected are in the &quot;ok&quot; list. Note that this is the only effect of the &quot;ok&quot; list. It does not act as a welcomelist against any other form of spam scanning.</p>
+
+<p>In your configuration, you must use the two or three letter language specifier in lowercase, not the English name for the language. You may also specify <code>all</code> if a desired language is not listed, or if you want to allow any language. The default setting is <code>all</code>.</p>
+
+<p>Examples:</p>
+
+<pre><code>ok_languages all (allow all languages)
+ok_languages en (only allow English)
+ok_languages en ja zh (allow English, Japanese, and Chinese)</code></pre>
+
+<p>Note: if there are multiple ok_languages lines, only the last one is used.</p>
+
+<p>Select the languages to allow from the list below:</p>
+
+<dl>
+
+<dt id="af---Afrikaans">af - Afrikaans</dt>
+<dd>
+
+</dd>
+<dt id="am---Amharic">am - Amharic</dt>
+<dd>
+
+</dd>
+<dt id="ar---Arabic">ar - Arabic</dt>
+<dd>
+
+</dd>
+<dt id="be---Byelorussian">be - Byelorussian</dt>
+<dd>
+
+</dd>
+<dt id="bg---Bulgarian">bg - Bulgarian</dt>
+<dd>
+
+</dd>
+<dt id="bs---Bosnian">bs - Bosnian</dt>
+<dd>
+
+</dd>
+<dt id="ca---Catalan">ca - Catalan</dt>
+<dd>
+
+</dd>
+<dt id="cs---Czech">cs - Czech</dt>
+<dd>
+
+</dd>
+<dt id="cy---Welsh">cy - Welsh</dt>
+<dd>
+
+</dd>
+<dt id="da---Danish">da - Danish</dt>
+<dd>
+
+</dd>
+<dt id="de---German">de - German</dt>
+<dd>
+
+</dd>
+<dt id="el---Greek">el - Greek</dt>
+<dd>
+
+</dd>
+<dt id="en---English">en - English</dt>
+<dd>
+
+</dd>
+<dt id="eo---Esperanto">eo - Esperanto</dt>
+<dd>
+
+</dd>
+<dt id="es---Spanish">es - Spanish</dt>
+<dd>
+
+</dd>
+<dt id="et---Estonian">et - Estonian</dt>
+<dd>
+
+</dd>
+<dt id="eu---Basque">eu - Basque</dt>
+<dd>
+
+</dd>
+<dt id="fa---Persian">fa - Persian</dt>
+<dd>
+
+</dd>
+<dt id="fi---Finnish">fi - Finnish</dt>
+<dd>
+
+</dd>
+<dt id="fr---French">fr - French</dt>
+<dd>
+
+</dd>
+<dt id="fy---Frisian">fy - Frisian</dt>
+<dd>
+
+</dd>
+<dt id="ga---Irish-Gaelic">ga - Irish Gaelic</dt>
+<dd>
+
+</dd>
+<dt id="gd---Scottish-Gaelic">gd - Scottish Gaelic</dt>
+<dd>
+
+</dd>
+<dt id="he---Hebrew">he - Hebrew</dt>
+<dd>
+
+</dd>
+<dt id="hi---Hindi">hi - Hindi</dt>
+<dd>
+
+</dd>
+<dt id="hr---Croatian">hr - Croatian</dt>
+<dd>
+
+</dd>
+<dt id="hu---Hungarian">hu - Hungarian</dt>
+<dd>
+
+</dd>
+<dt id="hy---Armenian">hy - Armenian</dt>
+<dd>
+
+</dd>
+<dt id="id---Indonesian">id - Indonesian</dt>
+<dd>
+
+</dd>
+<dt id="is---Icelandic">is - Icelandic</dt>
+<dd>
+
+</dd>
+<dt id="it---Italian">it - Italian</dt>
+<dd>
+
+</dd>
+<dt id="ja---Japanese">ja - Japanese</dt>
+<dd>
+
+</dd>
+<dt id="ka---Georgian">ka - Georgian</dt>
+<dd>
+
+</dd>
+<dt id="ko---Korean">ko - Korean</dt>
+<dd>
+
+</dd>
+<dt id="la---Latin">la - Latin</dt>
+<dd>
+
+</dd>
+<dt id="lt---Lithuanian">lt - Lithuanian</dt>
+<dd>
+
+</dd>
+<dt id="lv---Latvian">lv - Latvian</dt>
+<dd>
+
+</dd>
+<dt id="mr---Marathi">mr - Marathi</dt>
+<dd>
+
+</dd>
+<dt id="ms---Malay">ms - Malay</dt>
+<dd>
+
+</dd>
+<dt id="ne---Nepali">ne - Nepali</dt>
+<dd>
+
+</dd>
+<dt id="nl---Dutch">nl - Dutch</dt>
+<dd>
+
+</dd>
+<dt id="no---Norwegian">no - Norwegian</dt>
+<dd>
+
+</dd>
+<dt id="pl---Polish">pl - Polish</dt>
+<dd>
+
+</dd>
+<dt id="pt---Portuguese">pt - Portuguese</dt>
+<dd>
+
+</dd>
+<dt id="qu---Quechua">qu - Quechua</dt>
+<dd>
+
+</dd>
+<dt id="rm---Rhaeto-Romance">rm - Rhaeto-Romance</dt>
+<dd>
+
+</dd>
+<dt id="ro---Romanian">ro - Romanian</dt>
+<dd>
+
+</dd>
+<dt id="ru---Russian">ru - Russian</dt>
+<dd>
+
+</dd>
+<dt id="sa---Sanskrit">sa - Sanskrit</dt>
+<dd>
+
+</dd>
+<dt id="sco---Scots">sco - Scots</dt>
+<dd>
+
+</dd>
+<dt id="sk---Slovak">sk - Slovak</dt>
+<dd>
+
+</dd>
+<dt id="sl---Slovenian">sl - Slovenian</dt>
+<dd>
+
+</dd>
+<dt id="sq---Albanian">sq - Albanian</dt>
+<dd>
+
+</dd>
+<dt id="sr---Serbian">sr - Serbian</dt>
+<dd>
+
+</dd>
+<dt id="sv---Swedish">sv - Swedish</dt>
+<dd>
+
+</dd>
+<dt id="sw---Swahili">sw - Swahili</dt>
+<dd>
+
+</dd>
+<dt id="ta---Tamil">ta - Tamil</dt>
+<dd>
+
+</dd>
+<dt id="th---Thai">th - Thai</dt>
+<dd>
+
+</dd>
+<dt id="tl---Tagalog">tl - Tagalog</dt>
+<dd>
+
+</dd>
+<dt id="tr---Turkish">tr - Turkish</dt>
+<dd>
+
+</dd>
+<dt id="uk---Ukrainian">uk - Ukrainian</dt>
+<dd>
+
+</dd>
+<dt id="vi---Vietnamese">vi - Vietnamese</dt>
+<dd>
+
+</dd>
+<dt id="yi---Yiddish">yi - Yiddish</dt>
+<dd>
+
+</dd>
+<dt id="zh---Chinese-both-Traditional-and-Simplified">zh - Chinese (both Traditional and Simplified)</dt>
+<dd>
+
+</dd>
+<dt id="zh.big5---Chinese-Traditional-only">zh.big5 - Chinese (Traditional only)</dt>
+<dd>
+
+</dd>
+<dt id="zh.gb2312---Chinese-Simplified-only">zh.gb2312 - Chinese (Simplified only)</dt>
+<dd>
+
+</dd>
+</dl>
+
+<p></p>
+
+</dd>
+<dt id="inactive_languages-xx-yy-zz-...-default:-see-below">inactive_languages xx [ yy zz ... ] (default: see below)</dt>
+<dd>
+
+<p>This option is used to specify which languages will not be considered when trying to guess the language. For performance reasons, supported languages that have fewer than about 5 million speakers are disabled by default. Note that listing a language in <code>ok_languages</code> automatically enables it for that user.</p>
+
+<p>The default setting is:</p>
+
+<dl>
+
+<dt id="bs-cy-eo-et-eu-fy-ga-gd-is-la-lt-lv-rm-sa-sco-sl-yi">bs cy eo et eu fy ga gd is la lt lv rm sa sco sl yi</dt>
+<dd>
+
+</dd>
+</dl>
+
+<p>That list is Bosnian, Welsh, Esperanto, Estonian, Basque, Frisian, Irish Gaelic, Scottish Gaelic, Icelandic, Latin, Lithuanian, Latvian, Rhaeto-Romance, Sanskrit, Scots, Slovenian, and Yiddish.</p>
+
+</dd>
+<dt id="textcat_max_languages-N-default:-3">textcat_max_languages N (default: 3)</dt>
+<dd>
+
+<p>The maximum number of languages any one message can simultaneously match before its classification is considered unknown. You can try reducing this to 2 or possibly even 1 for more confident results, as it&#39;s unusual for a message to contain multiple languages.</p>
+
+<p>Read description for textcat_acceptable_score also, as these settings are closely related. Scoring affects how many languages might be matched and here we set the &quot;false positive limit&quot; where we think the engine can&#39;t decide what languages message really contain.</p>
+
+</dd>
+<dt id="textcat_optimal_ngrams-N-default:-0">textcat_optimal_ngrams N (default: 0)</dt>
+<dd>
+
+<p>If the number of ngrams is lower than this number then they will be removed. This can be used to speed up the program for longer inputs. For shorter inputs, this should be set to 0.</p>
+
+</dd>
+<dt id="textcat_max_ngrams-N-default:-400">textcat_max_ngrams N (default: 400)</dt>
+<dd>
+
+<p>The maximum number of ngrams that should be compared with each of the languages models (note that each of those models is used completely).</p>
+
+</dd>
+<dt id="textcat_acceptable_score-N-default:-1.02">textcat_acceptable_score N (default: 1.02)</dt>
+<dd>
+
+<p>Include any language that scores at least <code>textcat_acceptable_score</code> in the returned list of languages.</p>
+
+<p>This setting is basically a percentile range. Any language having internal ngram-score within N-percent of the best score is included into results. Larger values than 1.05 are not recommended as it can generate many false matches. A setting of 1.00 would mean a single best scoring language is always forcibly selected, but this is not recommended as then textcat_max_languages can&#39;t do its job classifying language as uncertain.</p>
+
+<p>Read the description for textcat_max_languages, as these are settings are closely related.</p>
+
+<p>You can use _TEXTCATRESULTS_ tag to view the internal ngram-scoring, it might help fine-tuning settings.</p>
+
+</dd>
+</dl>
+
+
+</body>
+
+</html>
+
+