* fml-help ˤ륢󥱡ȤΤޤȤ

ޤȤȡޤεǽǤ櫓content filter εȤʤä 
cutoff εǽϤ⤦פʤ͡ȤȤʤȤա


   Q: content filter äƤɤ˻ȤäƤޤ

   A:	Ȥˤϡۤ (1) Ƿޤꡣ

	Ϥȥݥꥷ(ӤǤ뤫ݤʤ)ˤä (2)⥢꤫⡣

	᡼η򸷤Ǥʤ̤ͣϡ⤽ content filter  
	on ˤʤ(㤨м̡ͣ)

   ѥ: 

	(1) text/plain  multipart  text/plain ̤
		text/plain ʤ᡼ʤơ ML Ǥ
		 virus Ĥ⤷ʤ

	(2) multipart  text/plain ʳ褦ʥ᡼ϵ
		virus Ĥ⤷ʤ

	(3) multipart  text/html ʬ
		 html ᡼
		ĤǤ text/plain ᤹(ꤹ)

	(4) multipart  image/* ʬ
		ʤƣ̤ͣʤ褩

	(5) text/html Υ᡼ʤ spam ˷ޤäƤ뤫ΤƤ

   TODO: ĥǽ

	Q: content-type ɤĴ٤
		image/gif ʤ gif ?

	A: ̵ʤFile::ʤȤǡ
	   եΥפ̤⥸塼Ȥ OK ʤΤ
	   줺(?)


* X-Sequence: fml-devel 252

ե륿

	header

	body
		non-mime
			permit / reject (4.0  content filter  !MIME)

		mime component filter
			4.0  content filter

		text/plain filter
				ja, en, ... (¸)
				¸ѡ (M$ GUID scanner ߤ)

			Ƭʬ text/plain ѡȤФ
			󥿥åå

Ϥʳˡ virus scanner ʤФϩɬפȻ
ɡϹͤƤʤ
 Ȥꤢ postfix ǤäƤ줣 


 TODO

ޤtext/plain ʬϸ¸ѡȤˤʤäƤʤ
¸Ȥʤ virus checker ڤΥ  

ʤɡƤ󤳤ʤΤǡtext_plain_filter äƤäѤʤȡ
ϰöȤơȤäȤ content filter ι¤ƹ褦

	text/plain 	permit
	text/html	reject
	*		permit

ߤʥ롼˽äȽ򤹤褦˲¤Ȥ⤤ޤ

 content filter 롼롦եΥեޥå

MIME ʤΤǡ!MIME ʤƤΤϤʤtext/plain  
multipart/mixed  text/plain ̤뤿ˡǤ
ɬפȤ⤦

	㡧
					ʬ		
		----------------------------------------------
		text/plain 		*		permit
		multipart/mixed		text/plain	permit
		multipart/mixed		text/html	reject
		multipart/mixed		image/*		cutoff
		*			*		permit

	ˡϤΤ⤢꤫

		text/plain 		:uuencoded:	cutoff
		text/plain 		:size>500k	cutoff

   
	ˤ first match ΤΤȤǤʤΤ롣
	reject  first match cutoff  first match ǤϤʤ

	ϡpermit Ϥɤ¤ΤȤʸ̮¸ȹͤ
	ɤȤ褤ȤСmultipart Υ᡼
	Ȥ

		text/plain + image/jpeg + text/html

	Τ褦ˣĤΰۤʤ륿פΥѡȤʤ硢ɤ
	롼ʤۣ椵ʤ

	򤤤Сcutoff  reject ꤹ륿פΥ롼뤷
	ޤǽʤĤޤΡʤϵݤפ
	ʤ餦ޤǤȤ롣椨˥ǥեȤ permit ˤ뤷
	ʤȤ⤤롣

	ʲfirst match ˡͤƤߤ褦

    Example[0]: ۤΥǥեȥ롼ϡ¾ header  text ե륿
		ͤȡ֤Ȥꤢ̤פ

	*		*	permit

	 content filter Ρ֥롼򤦤ޤ񤱤ʤפȤ̤
	ͳˤäƤٻ

	ʤǥեȤεư reject ѹˤ * * reject 
	դäɤ

    Example[1]: text/plain ()Τߤ뤹

	text/plain	*	permit
	*		*	reject

    Example[2]: text/plain вǤ
		ʳηϵ

	 ϴñʥ롼뤬񤱤ʤ 

	text/plain	*		permit
	multipart/*	text/plain	permit
	*		*		reject

	Υ롼Ǥ

	text/plain + text/plain + text/plain

	Ǥ⡢

	text/plain + text/plain + image/jpeg

	Ǥɤä OK ˤʤäƤޤΤ͡
	ᤸ

	äȤ not ڥ졼(!)Сϲǽ

	text/plain	*		permit
	multipart/*	!text/plain	reject
	multipart/*	text/plain	permit
	*		*		reject

	֤󡢤줬Ԥ plain/text Τߤ̤롼

    Example[3]: text/html () 
		text/html ޤ multipart 

	text/html	*		reject
	multipart/*	text/html	reject
	*		*		permit


    Example[4]: 㡢Ϥɤ衩
   
	 ϴñʥ롼뤬񤱤ʤ 

	text/plain	*		permit
	multipart/*	text/plain	permit
	multipart/*	*		reject
	*		*		reject

	multipart Ȥ text/plain Τ
	ʤ᡼ʤĤޤꡢ

	text/plain + text/plain + text/plain

	ϡOKǤ⡢

	text/plain + text/plain + image/jpeg
	text/plain + image/jpeg + text/html

	 2 ֤Υ롼 permit Ƥޤ
	ᤸ


    Example[5]: 4 ΥХꥨ reject ǤϤʤ cutoff
   
	text/plain	*		permit
	multipart/*	image/*		cutoff
	multipart/*	text/plain	permit
	*		*		reject

	text/plain + text/plain + text/plain

	ϡOK

	text/plain + text/plain + image/jpeg

	Υ᡼ image/jpeg ʬäơ3֤Υ롼 permit
	롣Ǥ⡢

	text/plain + image/jpeg + text/html

	̲ᤷ㤤ޤ


    Example[6]: 5 ΥХꥨ cutoff + permit ȡ

	text/plain	*		permit
	multipart/*	image/*		cutoff
	multipart/*	image/*		permit
	multipart/*	text/plain	permit
	*		*		reject

	ʤ顢

	text/plain + text/plain + text/plain
	text/plain + text/plain + image/jpeg
	text/plain + text/plain + text/html

	ߤ OK 롼Υޥå꤬ۤʤ롣


[]
    Q: permit ϡ

    A: permit ϡָ̤˵פȤ̣Ǥ

		text/plain	*	permit
		*		*	reject

	ϡtext/plain ϵʳΤʤ뷿ʤ
	 text/plain ۣ椵ʤΤ OK

		text/plain	*	permit
		*		*	reject


    A: permit ϡ֥᡼ΤפȤ̣Ǥ

	Ȥ text/plain Υ᡼Ȥ褦 ľŪ
	Ϥ

		text/plain	*	permit
		*		*	reject

	 permit ¨ OK ΰ̣ǤʤȤ
		
		*	*	reject

	ȰˤʤäƤޤ permit "᡼Τ OK Ȥ
	롼ȤξȤ餷碌򤽤ǽˤ"Ȥ̣ˤ
	Ȥʤ

	äơΤ褦ʥ롼Ϥꤨʤ

		text/plain 		*		permit
		multipart/mixed		text/plain	permit
		multipart/mixed		text/html	reject
		multipart/mixed		image/*		cutoff
		*			*		permit

	ȤΤϡΥ롼ϼΤ褦˽񤤤ƤƱǤ롣

		text/plain 		*		permit
		multipart/mixed		text/html	reject
		multipart/mixed		image/*		cutoff
		*			*		permit

	Ĥޤ permit ̿ǽäƤޤȤСmultipart 
	Ƥϻ¾ȤäƤϤʤȤˤʤ롣إǥեȤν٤
	text/plain * ٤Τ褦ʤΤФƤΤ permit ̿ϰ̣
	롣


[] ߤѿη

=head2	ե륿

use_article_filter	= 	yes
 

article_filter_functions	=	article_header_filter
					article_non_mime_filter
					article_mime_component_filter
					article_text_plain_filter

=head2	إå١Υե륿

use_article_header_filter		=	yes

article_header_filter_rules		=	check_message_id
						permit

=head2	MIME ١Υե륿

use_article_non_mime_filter		=	yes

article_non_mime_filter_rules		=	permit

use_article_mime_component_filter	=	yes

article_mime_component_filter_rules	= $fml_config_dir/mime_component_filter

=head2	ƥʬФե륿

use_article_text_plain_filter		=	yes

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

----
$FML: 01_RFC_FILTER.txt,v 1.2 2002/10/21 07:48:29 fukachan Exp $
