[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

Configuration Variables

Each sub filter system is enabled/disabled independently.

use_SERVICE_filter       = yes
SERVICE_filter_functions = function_A function_B

use_function_A           = yes
function_A_rules         = rule_01 urle_02


# Descriptions: how to inform the rejected message 
#               when the filter system rejects.
#               We prefer string not mime/multipart to avoid parsing by MUA.
#      History: string in 4.0.
#        Value: SELECT ( multipart string )
#     Examples: string
article_post_restrictions_reject_notice_data_type	=	string


=head2	filter


# Descriptions:
#      History: fml8 rearragena fml4 filter functions and integrates them
#		into one.
#		Roughly speaking, fml8 filter is composed of the following
#			$USE_DISTRIBUTE_FILTER
#			$INCOMING_MAIL_SIZE_LIMIT
#			ADD_CONTENT_HANDLER()
#		functions.
#        Value: YES_OR_NO
#     Examples: yes
use_article_filter	= 	yes
 

# Descriptions:
#      History:
#        Value: MIX (
#			article_size_filter
#			article_header_filter
#			article_non_mime_filter
#			article_mime_component_filter
#			article_text_plain_filter
#			article_spam_filter
#			article_virus_filter
#		)
#     Examples:
article_filter_functions	=	article_size_filter
					article_header_filter
					article_non_mime_filter
					article_mime_component_filter
					article_text_plain_filter
					article_spam_filter
					article_virus_filter


=head2	size based filter


# Descriptions: use size based filter.
#      History: no
#        Value: YES_OR_NO
#     Examples:
use_article_size_filter	=	yes


# Descriptions: size based filter rules.
#               first match. 
#               permit post if no rule matched.
#      History:
#        Value: MIX (	check_header_size
#			check_body_size
#			permit
#		)
#     Examples:
article_size_filter_rules	=	check_header_size
					check_body_size
					permit


=head2	header base filter


# Descriptions: use header based filter ?
#      History: disabled by default.
#               "yes" always if $USE_DISTRIBUTE_FILTER is yes.
#        Value: YES_OR_NO
#     Examples:
use_article_header_filter		=	yes


# Descriptions: header filter rules.
#               first match. 
#               permit post if no rule matched.
#      History: fml4 has no check_date rule.
#        Value: MIX (
#			check_message_id
#			check_date
#			permit
#		)
#     Examples:
article_header_filter_rules		=	check_message_id
						check_date
						permit


=head2	filter for non MIME structure


# Descriptions: dummy
#      History: disabled by default.
#		!MIME of 4.0 content filter.
#        Value: YES_OR_NO
#     Examples:
use_article_non_mime_filter		=	yes


# Descriptions: dummy
#      History:
#        Value: MIX ( permit reject_empty_content_type )
#     Examples: permit
article_non_mime_filter_rules		=	permit


# Descriptions: MIME structure based filter
#      History: 4.0 content filter. disabled by default.
#        Value: YES_OR_NO
#     Examples:
use_article_mime_component_filter	=	yes


# Descriptions: file of filter rules
#      History: @CONTENT_HANDLER
#        Value: FILE
#     Examples:
article_mime_component_filter_rules	= $fml_config_dir/mime_component_filter

=head2	filter for text/plain


# Descriptions: use text/plain filter, which is a simple syntax checker.
#      History: 4.0's EnvelopeFilter.
#		half of the following rules applied when
#		$USE_DISTRIBUTE_FILTER is enabled.
#        Value: YES_OR_NO
#     Examples:
use_article_text_plain_filter		=	yes


# Descriptions: filter rules of text/plain filter.
#               first match.
#               permit post if no rule matched.
#      History: See kern/libenvf.pl for more detail.
#		[DISABLED BY DEFAULT]
#
#			reject_not_iso2022jp_japanese_string
#				<=> FILTER_ATTR_REJECT_INVALID_JAPANESE
#			reject_old_fml_command_syntax
#				<=> FILTER_ATTR_REJECT_COMMAND
#			reject_japanese_command_syntax
#				<=> FILTER_ATTR_REJECT_2BYTES_COMMAND
#
#		[ENABLED BY DEFAULT]
#
#			reject_null_mail_body
#				<=> FILTER_ATTR_REJECT_NULL_BODY
#			reject_invalid_fml_command_syntax
#				<=> FILTER_ATTR_REJECT_INVALID_COMMAND
#			reject_one_line_message
#				<=> FILTER_ATTR_REJECT_ONE_LINE_BODY
#			reject_ms_guid
#				<=> FILTER_ATTR_REJECT_MS_GUID
#
#         Note: permit by default 
#        Value: MIX (
#			reject_not_iso2022jp_japanese_string
#			reject_null_mail_body
#			reject_one_line_message
#			reject_old_fml_command_syntax
#			reject_invalid_fml_command_syntax
#			reject_japanese_command_syntax
#			reject_ms_guid
#			permit
#		)
#     Examples:
article_text_plain_filter_rules	=	reject_not_iso2022jp_japanese_string
					reject_null_mail_body
					reject_one_line_message
					reject_old_fml_command_syntax
					reject_invalid_fml_command_syntax
					reject_japanese_command_syntax
					reject_ms_guid
					permit


=head2	external SPAM filter


# Descriptions: use external spam checker.
#		disabled by default.
#		add flag to header and go through if the message looks a spam.
#      History: none
#        Value: YES_OR_NO
#     Examples: no
use_article_spam_filter		=	no


# Descriptions: action if the message looks a spam.
#      History: none
#        Value: MIX ( reject ignore header_rewrite )
#     Examples: header_rewrite
article_spam_filter_rules	=	header_rewrite


# Descriptions: external spam checker.
#		if plural drivers specified, try them sequentially.
#      History: none
#        Value: MIX ( spamassasin spamc bogofilter )
#     Examples: bogofilter
article_spam_filter_drivers	=	bogofilter


# Descriptions: external virus checker. disabled by default.
#      History: none
#        Value: YES_OR_NO
#     Examples: no
use_article_virus_filter	=	no


# Descriptions: action if virus found.
#      History: none
#        Value: MIX ( reject ignore header_rewrite )
#     Examples: reject
article_virus_filter_rules	=	reject


# Descriptions: external virus checker.
#		if plural drivers specified, try them sequentially.
#      History: none
#        Value: MIX ( clamscan )
#     Examples: clamscan
article_virus_filter_drivers	=	clamscan

=head2	inform the filter rejection


# Descriptions: infor the filter rejection ?
#      History: halfly hard-coded in fml 4.0.
#		notice is always sent to maintainer, 
#		but not to sender by default.
#		$FILTER_NOTIFY_REJECTION controlls notice to sender.
#        Value: YES_OR_NO
#     Examples: yes
use_article_filter_reject_notice	=	yes


# Descriptions: recipients to inform
#      History: halfly hard-coded in fml 4.0.
#		notice is always sent to maintainer, 
#		but not to sender by default.
#		$FILTER_NOTIFY_REJECTION controlls notice to sender.
#        Value: MIX ( maintainer sender )
#     Examples: maintainer sender
article_filter_reject_notice_recipients	=	maintainer
						sender


# Descriptions: how fml refer the rejeced message.
#               We prefer string not multipart to avoid parsing of MUA.
#      History: string in fml 4.0.
#        Value: SELECT ( multipart string )
#     Examples: string
article_filter_reject_notice_data_type	=	string


# Descriptions:
#      History:
#        Value: YES_OR_NO
#     Examples:
use_article_spam_filter		=	no


# Descriptions: list up driver names used as spam checker.
#      History: none
#        Value: MIX ( spamassassin spamc bogofilter )
#     Examples: bogofilter
article_spam_filter_functions	=	bogofilter


# Descriptions: exit non-zero status code when spam caught if "-e" specified.
#      History: none
#        Value: COMMAND_LINE_OPTIONS
#     Examples: -e
article_spam_filter_spamassassin_options	=	-e


# Descriptions: spamc optoins. "-c" means check only.
#      History: none
#        Value: COMMAND_LINE_OPTIONS
#     Examples: -c
article_spam_filter_spamc_options		=	-c


# Descriptions: "-e" implies embedded mode.
#      History: none
#        Value: COMMAND_LINE_OPTIONS
#     Examples: -e
article_spam_filter_bogofilter_options		=	-e


# Descriptions:
#      History:
#        Value: YES_OR_NO
#     Examples:
use_article_virus_filter	=	no


# Descriptions: list up driver names used as virus checker.
#      History: none
#        Value: MIX ( virusassassin virusc bogofilter )
#     Examples: bogofilter
article_virus_filter_functions	=	clamav


# Descriptions: --mbox needed for mail files.
#      History: none
#        Value: COMMAND_LINE_OPTIONS
#     Examples: --quiet --mbox
article_virus_filter_clamav_options		=	--quiet --mbox


=head2	filter


# Descriptions:
#      History:
#        Value: YES_OR_NO
#     Examples:
use_command_mail_filter	= 	yes
 

# Descriptions:
#      History:
#        Value: MIX ( command_mail_size_filter )
#     Examples:
command_mail_filter_functions	=	command_mail_size_filter


=head2	size based filter


# Descriptions: use size based filter
#      History:
#        Value: YES_OR_NO
#     Examples:
use_command_mail_size_filter	=	yes


# Descriptions: size based filter rules.
#               first match.
#               permit if no rule matched.
#      History:
#        Value: MIX (
#			check_header_size
#			check_body_size
#			check_command_limit
#			check_line_length_limit
#			permit
#		)
#     Examples:
command_mail_size_filter_rules	=	check_header_size
					check_body_size
					check_command_limit
					check_line_length_limit
					permit


=head2	inform filter rejection


# Descriptions: inform filter rejection ?
#      History: hard-coded.
#        Value: YES_OR_NO
#     Examples: yes
use_command_mail_filter_reject_notice	=	yes


# Descriptions: recipients to inform
#      History: hard-coded.
#        Value: MIX ( maintainer sender )
#     Examples: maintainer sender
command_mail_filter_reject_notice_recipients	=	maintainer
							sender


# Descriptions: how fml refer the rejeced message.
#               We prefer string not multipart to avoid parsing of MUA.
#      History: string in fml 4.0.
#        Value: SELECT ( multipart string )
#     Examples: string
command_mail_filter_reject_notice_data_type	=	string

# Descriptions:
#      History:
#        Value: FILE
#     Examples:
path_bogofilter           = @BOGOFILTER@

# $article_digest_finish_end_hook = q{ 1;};
# $article_digest_finish_start_hook = q{ 1;};
# $article_digest_prepare_end_hook = q{ 1;};
# $article_digest_prepare_start_hook = q{ 1;};
# $article_digest_run_end_hook = q{ 1;};
# $article_digest_run_start_hook = q{ 1;};
# $article_digest_verify_request_end_hook = q{ 1;};
# $article_digest_verify_request_start_hook = q{ 1;};
# $article_filter_end_hook = q{ 1;};
# $article_filter_start_hook = q{ 1;};
# $article_header_rewrite_end_hook = q{ 1;};
# $article_header_rewrite_start_hook = q{ 1;};
# $article_post_finish_end_hook = q{ 1;};
# $article_post_finish_start_hook = q{ 1;};
# $article_post_prepare_end_hook = q{ 1;};
# $article_post_prepare_start_hook = q{ 1;};
# $article_post_run_end_hook = q{ 1;};
# $article_post_run_start_hook = q{ 1;};
# $article_post_verify_request_end_hook = q{ 1;};
# $article_post_verify_request_start_hook = q{ 1;};
# $command_mail_filter_end_hook = q{ 1;};
# $command_mail_filter_start_hook = q{ 1;};
# $command_mail_finish_end_hook = q{ 1;};
# $command_mail_finish_start_hook = q{ 1;};
# $command_mail_prepare_end_hook = q{ 1;};
# $command_mail_prepare_start_hook = q{ 1;};
# $command_mail_run_end_hook = q{ 1;};
# $command_mail_run_start_hook = q{ 1;};
# $command_mail_verify_request_end_hook = q{ 1;};
# $command_mail_verify_request_start_hook = q{ 1;};
# $createonpost_finish_end_hook = q{ 1;};
# $createonpost_finish_start_hook = q{ 1;};
# $createonpost_prepare_end_hook = q{ 1;};
# $createonpost_prepare_start_hook = q{ 1;};
# $createonpost_run_end_hook = q{ 1;};
# $createonpost_run_start_hook = q{ 1;};
# $createonpost_verify_request_end_hook = q{ 1;};
# $createonpost_verify_request_start_hook = q{ 1;};
# $distribute_finish_end_hook = q{ 1;};
# $distribute_finish_start_hook = q{ 1;};
# $distribute_prepare_end_hook = q{ 1;};
# $distribute_prepare_start_hook = q{ 1;};
# $distribute_run_end_hook = q{ 1;};
# $distribute_run_start_hook = q{ 1;};
# $distribute_verify_request_end_hook = q{ 1;};
# $distribute_verify_request_start_hook = q{ 1;};
# $error_mail_analyzer_finish_end_hook = q{ 1;};
# $error_mail_analyzer_finish_start_hook = q{ 1;};
# $error_mail_analyzer_prepare_end_hook = q{ 1;};
# $error_mail_analyzer_prepare_start_hook = q{ 1;};
# $error_mail_analyzer_run_end_hook = q{ 1;};
# $error_mail_analyzer_run_start_hook = q{ 1;};
# $error_mail_analyzer_verify_request_end_hook = q{ 1;};
# $error_mail_analyzer_verify_request_start_hook = q{ 1;};
# $faker_finish_end_hook = q{ 1;};
# $faker_finish_start_hook = q{ 1;};
# $faker_prepare_end_hook = q{ 1;};
# $faker_prepare_start_hook = q{ 1;};
# $faker_run_end_hook = q{ 1;};
# $faker_run_start_hook = q{ 1;};
# $faker_verify_request_end_hook = q{ 1;};
# $faker_verify_request_start_hook = q{ 1;};
# $fetchfml_finish_end_hook = q{ 1;};
# $fetchfml_finish_start_hook = q{ 1;};
# $fetchfml_prepare_end_hook = q{ 1;};
# $fetchfml_prepare_start_hook = q{ 1;};
# $fetchfml_run_end_hook = q{ 1;};
# $fetchfml_run_start_hook = q{ 1;};
# $fetchfml_verify_request_end_hook = q{ 1;};
# $fetchfml_verify_request_start_hook = q{ 1;};
# $fmladdr_finish_end_hook = q{ 1;};
# $fmladdr_finish_start_hook = q{ 1;};
# $fmladdr_prepare_end_hook = q{ 1;};
# $fmladdr_prepare_start_hook = q{ 1;};
# $fmladdr_run_end_hook = q{ 1;};
# $fmladdr_run_start_hook = q{ 1;};
# $fmladdr_verify_request_end_hook = q{ 1;};
# $fmladdr_verify_request_start_hook = q{ 1;};
# $fmlalias_finish_end_hook = q{ 1;};
# $fmlalias_finish_start_hook = q{ 1;};
# $fmlalias_prepare_end_hook = q{ 1;};
# $fmlalias_prepare_start_hook = q{ 1;};
# $fmlalias_run_end_hook = q{ 1;};
# $fmlalias_run_start_hook = q{ 1;};
# $fmlalias_verify_request_end_hook = q{ 1;};
# $fmlalias_verify_request_start_hook = q{ 1;};
# $fmlconf_finish_end_hook = q{ 1;};
# $fmlconf_finish_start_hook = q{ 1;};
# $fmlconf_prepare_end_hook = q{ 1;};
# $fmlconf_prepare_start_hook = q{ 1;};
# $fmlconf_run_end_hook = q{ 1;};
# $fmlconf_run_start_hook = q{ 1;};
# $fmlconf_verify_request_end_hook = q{ 1;};
# $fmlconf_verify_request_start_hook = q{ 1;};
# $fmldoc_finish_end_hook = q{ 1;};
# $fmldoc_finish_start_hook = q{ 1;};
# $fmldoc_prepare_end_hook = q{ 1;};
# $fmldoc_prepare_start_hook = q{ 1;};
# $fmldoc_run_end_hook = q{ 1;};
# $fmldoc_run_start_hook = q{ 1;};
# $fmldoc_verify_request_end_hook = q{ 1;};
# $fmldoc_verify_request_start_hook = q{ 1;};
# $fmlhtmlify_finish_end_hook = q{ 1;};
# $fmlhtmlify_finish_start_hook = q{ 1;};
# $fmlhtmlify_prepare_end_hook = q{ 1;};
# $fmlhtmlify_prepare_start_hook = q{ 1;};
# $fmlhtmlify_run_end_hook = q{ 1;};
# $fmlhtmlify_run_start_hook = q{ 1;};
# $fmlhtmlify_verify_request_end_hook = q{ 1;};
# $fmlhtmlify_verify_request_start_hook = q{ 1;};
# $fmlpgp_finish_end_hook = q{ 1;};
# $fmlpgp_finish_start_hook = q{ 1;};
# $fmlpgp_prepare_end_hook = q{ 1;};
# $fmlpgp_prepare_start_hook = q{ 1;};
# $fmlpgp_run_end_hook = q{ 1;};
# $fmlpgp_run_start_hook = q{ 1;};
# $fmlpgp_verify_request_end_hook = q{ 1;};
# $fmlpgp_verify_request_start_hook = q{ 1;};
# $makefml_finish_end_hook = q{ 1;};
# $makefml_finish_start_hook = q{ 1;};
# $makefml_prepare_end_hook = q{ 1;};
# $makefml_prepare_start_hook = q{ 1;};
# $makefml_run_end_hook = q{ 1;};
# $makefml_run_start_hook = q{ 1;};
# $makefml_verify_request_end_hook = q{ 1;};
# $makefml_verify_request_start_hook = q{ 1;};

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >