               SpamAssassin SNF4SA Plugin for SNFServer
                             README file

              Copyright (C) 2009 ARM Research Labs, LLC.

           See www.armresearch.com for the copyright terms.
                                   
This directory contains the SpamAssassin plugin for SNFServer.

The plugin implements a rule that checks the email message with
SNFServer.

If SNFServer determines that the email message is spam, then the
plugin calculates a plugin score that depends on the SNFServer result.
The plugin score for each SNFServer result is specified in the
configuration file using the "snf_result" configuration line (please
see the INSTALL file for further info).

The GBUdb scan result also changes the plugin score by:

  abs(p * c) ^ 0.5 * sign(p) * MaxWeight

where p is the probability and c is the confidence returned by the
GBUdb scan, sign(p) is -1 if p < 0 and +1 otherwise, and MaxWeight is
specified in the configuration file.  If SNFServer is not configured
to insert the GBUdb scan results into a header in the message, or
MaxWeight is not specified in the configuration file, then the
plugin score is not affected by the GBUdb scan results.

If SpamAssassin supports dynamic score reporting (SpamAssassin version
3.2.0 or later), then the plugin score is added to the score of the
message.

If the version of SpamAssassin is earlier than 3.2.0, then the plugin
behavior is different.  In this case, if the plugin score is equal to
or above a threshold specified in the configuration file, then a fixed
value specified in the configuration file is added to the score of the
message.  If instead the plugin score is below the threshold, then the
score of the message is not changed by this plugin.  The fixed value
is specified by the "score" configuration line, and the threshold is
specified by the "pre_3.2_static_sa_score_threshold" configuration
line.  Please see the INSTALL file for further info.

In addition to scanning the message, the plugin inserts headers into
the email.  The SNFServer must be configured to generate the
X-headers.  Please see the SNFServer documention for configuration
instructions.  The plugin obtains the headers from SNFServer (using
the XCI interface), and inserts the headers into the email message.
The following headers are inserted by the plugin into the message if
SNFServer is configured to generate them:

  1) 'X-SPAM-MessageSniffer-Scan-Result' contains the body of the
  X-MessageSniffer-Scan-Result header inserted by SNFServer.

  2) 'X-SPAM-MessageSniffer-Rules' contains the body of the
  X-MessageSniffer-Rules header inserted by SNFServer.

  3) 'X-SPAM-GBUdb-Analysis' contains the body of the X-GBUdb-Analysis
  header inserted by SNFServer.

Please see the INSTALL file for installation and configuration.
