Mail::SpamAssassin::Spamd.3pm

Langue: en

Version: 2008-01-05 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

Mail::SpamAssassin::Spamd

SYNOPSIS

  use base qw(Mail::SpamAssassin::Spamd);
  sub ... { ... }
  ...
 
 

DESCRIPTION

This module contains a skeleton for handling client request in spamd implementation. Must not be used directly, but subclassed.

An instance should have lifetime of a single request.

Interface is likely to change.

See the source code of spamd(1) and Mail::SpamAssassin::Spamd::Apache2(3).

METHODS

"log_connection()"
Call as soon as the connection is accepted.
"log_start_work()"
Call after "parse_msgids()".
"log_end_work()"
Call after "pass_through_sa()".
"log_result()"
Call as late as possible, after sending response to the client.
"check_headers()"
Sanity checks on headers sent by the client. Sends status line indicating error to the client and returns false on first problem found.
"parse_msgids()"
Extract the Message-Id(s) for logging purposes.
"service_unavailable_error('error message')"
"protocol_error('error message')"
"service_timeout('error message')"
Send appropiate status line to the client and log the error.
"send_status_line('EX_FOO', 'message')"
EX_error constant defaults to "EX_OK". Message defaults to the name of the constant.
"send_response()"
Generates response (headers and body, no status line) to the request and sends it to the client.
"pass_through_sa()"
Runs the actual tests. Wrap it with "eval()" to implement timeout.
"spamhdr()"
Generates the "Spam: status ; score / threshold" response header.
"read_user_config()"
Read config for the current user and register a cleanup handler to restore state of the SA object later. This is a wrapper around the handle_user_* methods.
"handle_user_sql('username')"
load_scoreonly_sql for the given user. Do not call this directly.
"handle_user_ldap()"
load_scoreonly_ldap for the given user. Do not call this directly.
"status()"
Returns the Mail::SpamAssassin::PerMsgStatus object. Only valid after "pass_through_sa()".
"spamtest()"
Returns the Mail::SpamAssassin object.
"access_info()"
"user()"
Returns username as supplied by client in the User header or string '(unknown)'. Use for logging purposes.
"cfg()"
Returns Mail::SpamAssassin::Spamd::Config object (or hash reference with resembling values).
"headers_in()"
Hash ref containing headers sent by the client.
"cleanup_register(sub { ... }, $argument)"
APR::Pool functionality --- call a piece of code when the object is destroyed.

The following methods must be overloaded:

"_remote_host()"
"_remote_ip()"
"_remote_port()"
Information about the client.
"new( spamtest =" $sa_object, foo => 'bar', ... )>
Creates new object; "shift && bless { @_ }", basically.
"handle_user_local('username')"
read_scoreonly_config for the given user. You might want to change uid, chdir, set $ENV, etc. Do not call this directly.
"read_body()"
Read body from the client, run $self->spamtest->parse and store result as the "parsed" key.
"read_headers()"
Read method and headers from the client. Set various properties accordingly.
"send_buffer('list of', 'buffers to send')"
Send buffers to the client.
"auth_ident()"
XXX