Mail::SpamAssassin::Conf::Parser

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Mail::SpamAssassin::CUser:Contributed PerlMail::SpamAssassin::Conf::Parser(3)



NAME
       Mail::SpamAssassin::Conf::Parser - parse SpamAssassin configuration

SYNOPSIS
	 (see Mail::SpamAssassin)

DESCRIPTION
       Mail::SpamAssassin is a module to identify spam using text analysis
       and several internet-based realtime blacklists.

       This class is used internally by SpamAssassin to parse its configura-
       tion files.  Please refer to the "Mail::SpamAssassin" documentation
       for public interfaces.

STRUCTURE OF A CONFIG BLOCK
       This is the structure of a config-setting block.	 Each is a hashref
       which may contain these keys:

       setting
	   the name of the setting it modifies, e.g. "required_score". this
	   also doubles as the default for ’command’ (below). THIS IS
	   REQUIRED.

       command
	   The command string used in the config file for this setting.
	   Optional; ’setting’ will be used for the command if this is omit-
	   ted.

       aliases
	   An [aryref] of other aliases for the same command.  optional.

       type
	   The type of this setting:

		      - $CONF_TYPE_STRING: string
		      - $CONF_TYPE_NUMERIC: numeric value (float or int)
		      - $CONF_TYPE_BOOL: boolean (0/no or 1/yes)
		      - $CONF_TYPE_TEMPLATE: template, like "report"
		      - $CONF_TYPE_ADDRLIST: address list, like "whitelist_from"
		      - $CONF_TYPE_HASH_KEY_VALUE: hash key/value pair,
			like "describe" or tflags

	   If this is set, a ’code’ block is assigned based on the type.

	   Note that $CONF_TYPE_HASH_KEY_VALUE-type settings require that the
	   value be non-empty, otherwise they’ll produce a warning message.

       code
	   A subroutine to deal with the setting.  Only used if type is not
	   set.	 ONE OF code OR type IS REQUIRED.  The arguments passed to
	   the function are "($self, $key, $value, $line)", where $key is the
	   setting (*not* the command), $value is the value string, and $line
	   is the entire line.

	   There are two special return values that the code subroutine may
	   return to signal that there is an error in the configuration:

	   $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE -- this setting
	   requires that a value be set, but one was not provided.

	   $Mail::SpamAssassin::Conf::INVALID_VALUE -- this setting requires
	   a value from a set of ’valid’ values, but the user provided an
	   invalid one.

	   Any other values -- including "undef" -- returned from the subrou-
	   tine are considered to mean ’success’.

       default
	   The default value for the setting.  may be omitted if the default
	   value is a non-scalar type, which should be set in the Conf ctor.
	   note for path types: using "__userstate__" is recommended for
	   defaults, as it allows Mail::SpamAssassin module users who set
	   that configuration setting, to receive the correct values.

       is_priv
	   Set to 1 if this setting requires ’allow_user_rules’ when run from
	   spamd.

       is_admin
	   Set to 1 if this setting can only be set in the system-wide config
	   when run from spamd.	 (All settings can be used by local programs
	   run directly by the user.)

       is_frequent
	   Set to 1 if this value occurs frequently in the config. this means
	   it’s looked up first for speed.

METHODS
perl v5.8.8			  2008-01-Mail::SpamAssassin::Conf::Parser(3)