# Copyright (C) 1997-2002 Ken'ichi Fukamachi
#          All rights reserved. 
#               1993-1996 fukachan@phys.titech.ac.jp
#               1996-2002 fukachan@sapporo.iij.ad.jp
# 
# FML is free software; you can redistribute it and/or modify
# it under the terms of GNU General Public License.
# See the file COPYING for more details.
#
# $FML: menu.conf,v 1.25.2.2 2003/12/13 12:18:00 fukachan Exp $
#
# SYNTAXES AND STATEMENTS
#
# =menu 	メニュー画面一覧テンプレート
# =name		メニュー画面で next_ptr として refer される時のタイトル
# =config 	値をいじる変数名
# =query	質問形式の定義
# =map		selectタイプでは 1,2,3.. などとなるが
#		実際に定義する値は 1 -> 1のvalue の value である。
#		その mapping の定義。
#


### DEFUALT
#
# type: y-or-n
#
#	query:		y/n
#	pat:		y|n
#	default:	n
#
# type: select
#
#	query:		0-N
#	pat:		0|1|2|..N
#	default:	0
#

======================================================================
###### /
==================================================


/

=variable

=menu
	=== TOP MENU ===

	Mailing List Addresses
	     FOR POST          $config{'MAIL_LIST'}
	     FOR COMMAND       $SUMMARY{'CONTROL_ADDRESS'}
	_______________________

	_i_  END		
	_i_  ACCESS_POLICY

	     [POST]
	       PERMIT_POST_FROM                 $config{'PERMIT_POST_FROM'}
	       WHEN POST FROM NOT MEMBER        $config{'REJECT_POST_HANDLER'}

	     [COMMAND]                          
	       PERMIT_COMMAND_FROM              $config{'PERMIT_COMMAND_FROM'}
	       WHEN COMMAND FROM NOT MEMBER     $config{'REJECT_COMMAND_HANDLER'}

	_i_  REGISTRATION_METHOD

	     AUTO_REGISTRATION_TYPE             $config{'AUTO_REGISTRATION_TYPE'}
	     UNSUBSCRIBE_AUTH_TYPE              $config{'UNSUBSCRIBE_AUTH_TYPE'}

	_i_  COMMAND_ADDRESS_POLICY
	           address for command          $SUMMARY{'CONTROL_ADDRESS'}

	_i_  REMOTE_ADMINISTRATION              
	                  PERMIT ?              $SUMMARY{'REMOTE_ADMINISTRATION'}
	                  AUTH_TYPE             $config{'REMOTE_ADMINISTRATION_AUTH_TYPE'}

	_i_  HEADER_CONFIG

	_i_  OPTION                             $SUMMARY{'/OPTION'}

	_i_  SECURITY_AND_FILTER                $SUMMARY{'/SECURITY_AND_FILTER'}

=query
	type:	select



======================================================================
###### /ACCESS_POLICY
==================================================

/ACCESS_POLICY

=name
	POLICY OF ACCESS (WHO CAN POST AND USE COMMANDS)

=menu
	WHO CAN POST AND USE COMMANDS

	_i_  END		

	[POST]

	_i_  PERMIT_POST_FROM                   $config{'PERMIT_POST_FROM'}
	_i_  WHEN_POST_FROM_NOT_MEMBER          $config{'REJECT_POST_HANDLER'}
	     (\$REJECT_POST_HANDLER)

	[COMMAND]                               

	_i_  PERMIT_COMMAND_FROM                $config{'PERMIT_COMMAND_FROM'}
	_i_  WHEN_COMMAND_FROM_NOT_MEMBER       $config{'REJECT_COMMAND_HANDLER'}
	     (\$REJECT_COMMAND_HANDLER)

=query
	type:	select
	menu:	policy

=map


==================================================

/ACCESS_POLICY/PERMIT_POST_FROM

=config
	PERMIT_POST_FROM

=name
	PERMIT POST FROM

=menu
	ADDRESSS FOR POST                  $config{'MAIL_LIST'}
	PERMIT_POST_FROM                   $config{'PERMIT_POST_FROM'}

	_i_	END
	_i_	members_only
	_i_	anyone
	_i_	moderator

=query
	type:		select
	menu:		Permit post from 

=map
	1	members_only
	2	anyone
	3	moderator


==================================================

/ACCESS_POLICY/PERMIT_COMMAND_FROM

=config
	PERMIT_COMMAND_FROM

=name
	PERMIT COMMAND FROM

=menu
	ADDRESS FOR COMMAND                $SUMMARY{'CONTROL_ADDRESS'}
	PERMIT_COMMAND_FROM                $config{'PERMIT_COMMAND_FROM'}

	_i_	END
	_i_	members_only
	_i_	anyone
	_i_	moderator

=query
	type:		select
	menu:		Permit command from 


=map
	1	members_only
	2	anyone
	3	moderator



==================================================

/ACCESS_POLICY/WHEN_POST_FROM_NOT_MEMBER
	
=config
	REJECT_POST_HANDLER

=menu
	--- ONLY \"members_only\" CASE
	--- Please ignore this variable in other cases

	[\$REJECT_POST_HANDLER]
	When we receive a post from not member, 
	we do \"$config{'REJECT_POST_HANDLER'}\".

	_i_	END
	_i_	reject

	* fml 3.0 automatic subscribe
	_i_	auto_subscribe

	_i_	ignore

	* fml 2.x automatic subscribe
	  (auto_regist on fml 3.0 works well but may be obsolete in the future)
	_i_	auto_regist

=query
	type:		select
	menu:		which

=map
	1	reject
	2	auto_subscribe
	3	ignore
	4	auto_regist

==================================================

/ACCESS_POLICY/WHEN_COMMAND_FROM_NOT_MEMBER
	
=config
	REJECT_COMMAND_HANDLER

=menu
	[\$REJECT_COMMAND_HANDLER]

	When we receive a command mail from not member, 
	we do \"$config{'REJECT_COMMAND_HANDLER'}\".

	_i_	END
	_i_	reject

	* fml 3.0 automatic subscribe
	_i_	auto_subscribe

	_i_	ignore

	* fml 2.x automatic subscribe
	  (auto_regist on fml 3.0 works well but may be obsolete in the future)
	_i_	auto_regist

	* fml 2.x/3.0 special asymetric treat of member and actives.
	posters are restricted. recipients are automatically handled by fml.
	This will be useful for one way mail, for example, mail magazines.
	_i_	auto_asymmetric_regist

=query
	type:		select
	menu:		which

=map
	1	reject
	2	auto_subscribe
	3	ignore
	4	auto_regist
	5	auto_asymmetric_regist

======================================================================
###### /REGISTRATION_METHOD

/REGISTRATION_METHOD

=name
	REGISTRATION METHOD TYPE

=menu
	Choices of each Registration Method in AUTOMATIC REGISTRATION

	_i_  END
	_i_  AUTO_REGISTRATION_TYPE	$config{'AUTO_REGISTRATION_TYPE'}

		When to subscribe, choice (\$AUTO_REGISTRATION_TYPE) is 
			confirmation (default. recommended)
			body
			subject
			no-keyword

	_i_  UNSUBSCRIBE_AUTH_TYPE	$config{'UNSUBSCRIBE_AUTH_TYPE'}
	
		When to unsubscribe, choice (\$UNSUBSCRIBE_AUTH_TYPE) is
			confirmation			
			address and \"not defined\" (default)

	_i_  CHADDR_AUTH_TYPE	        $config{'CHADDR_AUTH_TYPE'}
	
		When to chaddr, choice (\$CHADDR_AUTH_TYPE) is
			confirmation			
			address and \"not defined\" (default)

=query
	type:	select

/REGISTRATION_METHOD/AUTO_REGISTRATION_TYPE

=config
	AUTO_REGISTRATION_TYPE

=name
	Method in AUTO REGISTRATION

=menu
	AUTO_REGISTRATION_TYPE	$config{'AUTO_REGISTRATION_TYPE'}

	_i_  END
	_i_  confirmation
	_i_  body
	_i_  subject
	_i_  no-keyword


=query
	type:		select
	menu:		which type

=map
	1  confirmation
	2  body
	3  subject
	4  no-keyword

/REGISTRATION_METHOD/UNSUBSCRIBE_AUTH_TYPE

=config
	UNSUBSCRIBE_AUTH_TYPE

=name
	Authentication method when unsubscrib request is received.

=menu
	UNSUBSCRIBE_AUTH_TYPE	$config{'UNSUBSCRIBE_AUTH_TYPE'}

	_i_  END
	_i_  confirmation
	_i_  address


=query
	type:		select
	menu:		which type

=map
	1  confirmation
	2  address

/REGISTRATION_METHOD/CHADDR_AUTH_TYPE

=config
	CHADDR_AUTH_TYPE

=name
	Authentication method when chaddr request is received.

=menu
	CHADDR_AUTH_TYPE	$config{'CHADDR_AUTH_TYPE'}

	_i_  END
	_i_  confirmation
	_i_  address


=query
	type:		select
	menu:		which type

=map
	1  confirmation
	2  address


======================================================================
###### /COMMAND_ADDRESS_POLICY

/COMMAND_ADDRESS_POLICY

=name
	SETTINGS AROUND COMMANDS

=menu

	_i_	END
	_i_	CONTROL_ADDRESS			$config{'CONTROL_ADDRESS'}
	_i_	MAIL_LIST_ACCEPT_COMMAND	$config{'MAIL_LIST_ACCEPT_COMMAND'}

=query
	type:	select



/COMMAND_ADDRESS_POLICY/CONTROL_ADDRESS

=config
	CONTROL_ADDRESS

=name
	COMMAND ADDRESS 

=menu
	COMMAND ADDRESS			$SUMMARY{'CONTROL_ADDRESS'}

	For command, which address you use?
	(here DOMAINNAME = $config{'_CA_DOMAIN_'});

	_i_	END
	_i_	$config{'_ML_'}-ctl\@\$DOMAINNAME
	_i_	$config{'_ML_'}\@\$DOMAINNAME
	_i_	fmlserv\@\$DOMAINNAME (listserv like interface)
	_i_	NOT USE

	For example, let's create the mailing list \"elena\" ML :-).
	In default, we use \"elena-ctl\" format address for command only.
	If you choice \"elena\" for commands, 
	\"elena\" receive both posted articles and commands
	where \"# command\" trap in the mail body is a sign of a commands mail.
	\"fmlserv\" is the listserv/majordomo style interface of FML.

=query
	type:		select
	menu:		which type

=map
	1	$config{'_ML_'}-ctl@$DOMAINNAME
	2	$config{'_ML_'}@$DOMAINNAME
	3	fmlserv@$DOMAINNAME
	4	_NULL_


/COMMAND_ADDRESS_POLICY/MAIL_LIST_ACCEPT_COMMAND

=config
	MAIL_LIST_ACCEPT_COMMAND

=menu
	MAIL_LIST_ACCEPT_COMMAND	$config{'MAIL_LIST_ACCEPT_COMMAND'}

=query
	type:		y-or-n
	menu:		MAIL_LIST also accepts "# command" 


======================================================================
###### /REMOTE_ADMINISTRATION

/REMOTE_ADMINISTRATION

=name
	REMOTE ADMINISTRATION

=menu
	REMOTE ADMINISTRATION
	Do you maintain the ML in remote? $SUMMARY{'REMOTE_ADMINISTRATION'}

	_i_ END
	_i_ REMOTE_ADMINISTRATION              $SUMMARY{'REMOTE_ADMINISTRATION'}
	_i_ REMOTE_ADMINISTRATION_AUTH_TYPE    $config{'REMOTE_ADMINISTRATION_AUTH_TYPE'}
	_i_ ADMIN_ADD_SEND_WELCOME_FILE        $SUMMARY{'ADMIN_ADD_SEND_WELCOME_FILE'}


=query
	type:		select
	menu:		which


============================================
/REMOTE_ADMINISTRATION/REMOTE_ADMINISTRATION


=config
	REMOTE_ADMINISTRATION

=name
	REMOTE ADMINISTRATION

=menu
	Do you maintenance the ML in remote?

=query
	type:		y-or-n
	menu:		Do you maintain in remote?


/REMOTE_ADMINISTRATION/REMOTE_ADMINISTRATION_AUTH_TYPE

=config
	REMOTE_ADMINISTRATION_AUTH_TYPE

=menu
	REMOTE_ADMINISTRATION_AUTH_TYPE          $config{'REMOTE_ADMINISTRATION_AUTH_TYPE'}

	_i_	END
	_i_	pgp		PGP version 2 (compatible)
	_i_	pgp2		PGP version 2
	_i_	pgp5		PGP version 5
	_i_	gpg		GNU Privacy Guard (not yet implemented)
	_i_	crypt
	_i_	md5
	_i_	address

=query
	type:		select
	menu:		which type

=map
	1	pgp
	2	pgp2
	3	pgp5
	4	gpg
	5	crypt
	6	md5
	7	address


/REMOTE_ADMINISTRATION/ADMIN_ADD_SEND_WELCOME_FILE

=config

	ADMIN_ADD_SEND_WELCOME_FILE

=menu
	Send WELCOME_FILE to the user 
	when you add the user by 'admin add' command?
	$SUMMARY{'ADMIN_ADD_SEND_WELCOME_FILE'}

=query
	type: y-or-n


======================================================================
###### /HEADER_CONFIG
==================================================

/HEADER_CONFIG

=name
	HEADER CONFIGURATIONS

=config

=menu
	_i_	END

	* Subject: TAG
	_i_	SUBJECT_TAG_TYPE                   $config{'SUBJECT_TAG_TYPE'}
	_i_	SUBJECT_TAG_FIGURE                 $config{'SUBJECT_FORM_LONG_ID'}

	* To:
	_i_	REWRITE_TO                         $SUMMARY{'REWRITE_TO'}

	* Date:
	_i_	DATE_TYPE                          $config{'DATE_TYPE'}

	
	_i_	PASS_ALL_FIELDS                    $SUMMARY{'PASS_ALL_FIELDS_IN_HEADER'}
	_i_	PASS_RECEIVED_THROUGH              $SUMMARY{'PASS_RECEIVED_THROUGH'}

=query
	type:		select
	menu:		which type


/HEADER_CONFIG/REWRITE_TO

=config
	REWRITE_TO

=name
	To: field rewriting

=menu
	REWRITE_TO		$SUMMARY{'REWRITE_TO'}

	1 and 2 is FOR YOUR EYES. 
	YOU CAN ALWAYS SEE \"To: \$MAIL_LIST\" AT THE SAME POSITION.

	_i_	END
	_i_	To: $config{'MAIL_LIST'}, NON-MAIL-LIST-ADDRESS
	_i_	To: $config{'MAIL_LIST'}
	_i_	pass through the original To: 

=query
	type:		select
	menu:		which type

=map
	1	1
	2	2
	3	0


/HEADER_CONFIG/SUBJECT_TAG_TYPE

=config
	SUBJECT_TAG_TYPE

=menu
	SUBJECT_TAG_TYPE	$config{'SUBJECT_TAG_TYPE'}

	_i_	END

	TYPE    Subject Example
	----------------------------
	_i_     Subject: NO TAG (Default, Fml recommends)
	
	_i_     Subject: (Elena:00100)
	
	_i_     Subject: [Elena:00100]    (hml 1.6 compat)
	
	_i_     Subject: (Elena 00100)
	
	_i_     Subject: [Elena 00100]
	
	_i_     Subject: (Elena,00100)
	
	_i_     Subject: [Elena,00100]

	_i_     Subject: (Elena)

	_i_     Subject: [Elena]

	_i_     Subject: (00100)

	_i_     Subject: [00100]


=query
	type:		select
	menu:		SUBJECT TAG TYPE

=map
	1	_NULL_
	2	(:)
	3	[:]
	4	( )
	5	[ ]
	6	(,)
	7	[,]
	8	()
	9	[]
	10	(ID)
	11	[ID]


/HEADER_CONFIG/SUBJECT_TAG_FIGURE

=config
	SUBJECT_FORM_LONG_ID

=menu
	\@SUBJECT_FORM_LONG_ID FIGURES of Subject TAG 
	for all \$SUBJECT_TAG_TYPE e.g.	[elena 00100] for 5 figures.
	The current figure is $config{'SUBJECT_FORM_LONG_ID'}.

	_i_	END
	_i_	-1 e.g. [elena 1],     [elena 100],   [elena 10000]
	_i_	 2 e.g. [elena 01],    [elena 100],   [elena 10000]
	_i_	 3 e.g. [elena 001],   [elena 100],   [elena 10000]
	_i_	 4 e.g. [elena 0001],  [elena 0100],  [elena 10000]
	_i_	 5 e.g. [elena 00001], [elena 00100], [elena 10000]
	_i_	 6 e.g. [elena 000100]
	_i_	 7 e.g. [elena 0000100]
	_i_	 8 e.g. [elena 00000100]
	_i_	 9 e.g. [elena 000000100]
	_i_	10 e.g. [elena 0000000100]


=query
	type: select

=map
	0	0
	1	-1
	2	2
	3	3
	4	4
	5	5
	6	6
	7	7
	8	8
	9	9
	10	10


/HEADER_CONFIG/DATE_TYPE

=config
	DATE_TYPE

=menu
	DATE_TYPE: $config{'DATE_TYPE'}

	_i_	END
	_i_	Original Date:
	_i_	Date: (when distributed) and Posted: Original Date
	_i_	Date: (when distributed) and X-Posted: Original Date
	_i_	Date: (when distributed) and X-Original-Date: Original Date
	_i_	Date: (when received) and Posted: Original Date
	_i_	Date: (when received) and X-Posted: Original Date
	_i_	Date: (when received) and X-Original-Date: Original Date

=query	
	type:		select
	menu:		DATE_TYPE

=map
	 1 original-date
	 2 distribute-date+posted
	 3 distribute-date+x-posted
	 4 distribute-date+x-original-date
	 5 received-date+posted
	 6 received-date+x-posted
	 7 received-date+x-original-date
	


/HEADER_CONFIG/PASS_ALL_FIELDS

=config
	PASS_ALL_FIELDS_IN_HEADER

=menu
	Pass all fields in the header ?

	PASS_ALL_FIELDS			$config{'PASS_ALL_FIELDS_IN_HEADER'}

=query
	type:		y-or-n
	menu:		Pass all fields in the header ?


/HEADER_CONFIG/PASS_RECEIVED_THROUGH

=config
	SKIP_FIELDS

=name
	Pass Received: fields through?

=menu
	Pass Received: fields through? $SUMMARY{'PASS_RECEIVED_THROUGH'}

	_i_	END
	_i_	YES, Pass through
	_i_	NO, cut it to avoid e.g. 'too many hops'

=query
	type:		select

=map
	1	Return-Receipt-To
	2	Received|Return-Receipt-To


======================================================================
###### /SECURITY_AND_FILTER
==================================================

/SECURITY_AND_FILTER

=name
	SECURITY & FILTERING

=menu
	Security and Filtering

	_i_  END

	_i_  MORE_SECURE

	* Filter
	_i_ USE_DISTRIBUTE_FILTER             $SUMMARY{'USE_DISTRIBUTE_FILTER'}
	_i_ FILTER_ATTRRIBUTE                 # filtering options

	* loop
	_i_ CHECK_MAILBODY_CKSUM              $SUMMARY{'CHECK_MAILBODY_CKSUM'}

	* Traffic Monitor
	_i_ USE_MTI                           $SUMMARY{'USE_MTI'}

	* Mail size limit
	_i_ MAX_MAIL_SIZE                     $config{'INCOMING_MAIL_SIZE_LIMIT'}
	_i_ NOTIFY_MAIL_SIZE_OVERFLOW         $SUMMARY{'NOTIFY_MAIL_SIZE_OVERFLOW'}
	_i_ ANNOUNCE_MAIL_SIZE_OVERFLOW       $SUMMARY{'ANNOUNCE_MAIL_SIZE_OVERFLOW'}

	* Other Limits
	_i_ ADDR_CHECK_MAX                    $config{'ADDR_CHECK_MAX'}
	_i_ MAXNUM_COMMAND_INPUT              $config{'MAXNUM_COMMAND_INPUT'}

	* Reject system accounts (e.g. to avoid loop)
	_i_ REJECT_ADDR                       $config{'REJECT_ADDR'}

	* debug
	_i_ USE_LOG_MAIL                      $SUMMARY{'USE_LOG_MAIL'}

#	* Setup (*** You cannot reverse this process in makefml menu ***)
#	  Secureity Recommendation
#	_i_ SECURE_SETUP		

	*** PGP Encrypted ML FOR DISTRIBUTION *** 
	_i_ USE_ENCRYPTED_DISTRIBUTION        $config{'USE_ENCRYPTED_DISTRIBUTION'}
	_i_ ENCRYPTED_DISTRIBUTION_TYPE       $config{'USE_ENCRYPTED_DISTRIBUTION'}

=query
	type:	select

/SECURITY_AND_FILTER/MORE_SECURE

=menu
	Apply more secure configurations ?
	For example
		input mail size limit
		enable filtering 
		enable traffic monitor system
		log all input mails
		disable some commands (e.g. actives, members, ...)

=query
	type:		y-or-n
	menu: apply more secure configuration

=hook
	local($k, $v);
	print STDERR "\n\t -- configure some variables for more security\n\n";
	require 'etc/makefml/secure_config.ph';
	while (($k, $v) = each %SecureConfig) {
	   $config{$k} = $v;
	   print STDERR "\t\$${k} => $v\n";
	}
	sleep 1;
	print STDERR "\n\t -- disable some commands\n";
	print STDERR   "\t    appends the following statements:\n";
	$v = &GetFile('etc/makefml/secure_local_config');
	print STDERR $v;
	$USER_DEFINED_LOCAL_CONFIG .= $v;
	sleep 1;

/SECURITY_AND_FILTER/USE_DISTRIBUTE_FILTER

=config
	USE_DISTRIBUTE_FILTER	

=menu
	Filtering for distribute mails. 
	For example, rejects the following mails
		no content body
		only  'unsubscribe' word 
		invalid Message-Id
		...

	USE_DISTRIBUTE_FILTER	$config{'USE_DISTRIBUTE_FILTER'}

=query
	type:		y-or-n
	menu:		USE ENVELOPE FILTER OR NOT


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE

=name
	FILTERING ATTRIBUTES

=menu
	FILTERING ATTRIBUTES

	_i_ END

	_i_ FILTER_ATTR_REJECT_COMMAND           $SUMMARY{'FILTER_ATTR_REJECT_COMMAND'}

	* reject 2 bytes \"unsubscribe\" commands
	_i_ FILTER_ATTR_REJECT_2BYTES_COMMAND    $SUMMARY{'FILTER_ATTR_REJECT_2BYTES_COMMAND'}

	* tell the sender \"your mail is discarded.\"
	_i_ FILTER_NOTIFY_REJECTION              $SUMMARY{'FILTER_NOTIFY_REJECTION'}

#	_i_  FILTER_ATTR_REJECT_NULL_BODY        $SUMMARY{'FILTER_ATTR_REJECT_NULL_BODY'}
#	_i_  FILTER_ATTR_REJECT_ONE_LINE_BODY    $SUMMARY{'FILTER_ATTR_REJECT_ONE_LINE_BODY'}
#	_i_  FILTER_ATTR_REJECT_INVALID_COMMAND  $SUMMARY{'FILTER_ATTR_REJECT_INVALID_COMMAND'}

	* reject special files with macro (e.g. Melissa familly virus)
	_i_  FILTER_ATTR_REJECT_MS_GUID          $SUMMARY{'FILTER_ATTR_REJECT_MS_GUID'}


=query
	type:	select


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_COMMAND

=config
	FILTER_ATTR_REJECT_COMMAND

=name
	REJECT \"\# command\" SYNTAX

=menu
	Filtering: reject \"\# command \" syntax for distribute mails

	FILTER_ATTR_REJECT_COMMAND $config{'FILTER_ATTR_REJECT_COMMAND'}

=query
	type:		y-or-n
	menu:		REJECT \"\# command\" syntax


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_2BYTES_COMMAND

=config
	FILTER_ATTR_REJECT_2BYTES_COMMAND

=name
	REJECT \"\# 2-bytes command\" SYNTAX (Japanese)

=menu
	Filtering: reject \"\# command \" syntax for distribute mails

	FILTER_ATTR_REJECT_2BYTES_COMMAND $config{'FILTER_ATTR_REJECT_2BYTES_COMMAND'}

=query
	type:		y-or-n
	menu:		REJECT \"\# 2-bytes command\" syntax


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_NOTIFY_REJECTION

=config
	FILTER_NOTIFY_REJECTION

=menu
	notify \"fml filter rejects your mail for some reason\" to the sender.

=query
	type:		y-or-n
	menu:		REJECT \"\# command\" syntax


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_NULL_BODY

=config
	FILTER_ATTR_REJECT_NULL_BODY

=menu
	reject null body (no content body) mail

=query
	type:		y-or-n
	menu:		reject no content mail


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_ONE_LINE_BODY

=config
	FILTER_ATTR_REJECT_ONE_LINE_BODY

=query
	type:		y-or-n
	menu:		reject one line mail


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_INVALID_COMMAND 

=config
	FILTER_ATTR_REJECT_INVALID_COMMAND 

=query
	type:		y-or-n
	menu:		reject invalid command syntax


/SECURITY_AND_FILTER/FILTER_ATTRRIBUTE/FILTER_ATTR_REJECT_MS_GUID

=config
	FILTER_ATTR_REJECT_MS_GUID

=menu
	check and reject special files with Microsoft Macro
	for example, Melissa familly virus (must be too may rejected)

=query
	type:		y-or-n
	menu:		reject special files



/SECURITY_AND_FILTER/USE_MTI

=config
	USE_MTI

=menu
	    MTI (Mail Traffic Information)
	--- FML Traffic Monitor System ---

	FML checks the current traffic and automatically
	rejects and add FML's spamlist from bombers.
	
	USE_MTI		$config{'USE_MTI'}

=query
	type:		y-or-n
	menu:		USE MTI, TRAFFIC MONITOR


/SECURITY_AND_FILTER/PERMIT_MEMBER_LIST_COMMANDS

=config
	PERMIT_MEMBER_LIST_COMMANDS

=menu
	Permit member/active commands?
	For security we unrecommend it.

	PERMIT_MEMBER_LIST_COMMANDS	$config{'PERMIT_MEMBER_LIST_COMMANDS'}

=query
	type:		y-or-n
	menu:		Permit member/active commans?


/SECURITY_AND_FILTER/MAX_MAIL_SIZE

=config
	INCOMING_MAIL_SIZE_LIMIT

=menu
	The maximum of input mail size.
	The current value is $config{'INCOMING_MAIL_SIZE_LIMIT'}.

	_i_ END
	_i_ 0		accept all sizes.
	_i_ 2K
	_i_ 4K
	_i_ 8K
	_i_ 16K
	_i_ 32K
	_i_ 64K
	_i_ 128K
	_i_ 256K
	_i_ 512K
	_i_ 1M
	_i_ 2M
	_i_ 4M

=query
	type:		select

=map
	 1 	 0
	 2 	 2K
	 3 	 4K
	 4 	 8K
	 5 	 16K
	 6 	 32K
	 7 	 64K
	 8 	 128K
	 9 	 256K
	 10 	 512K
	 11 	 1M
	 12 	 2M
	 13 	 4M


/SECURITY_AND_FILTER/NOTIFY_MAIL_SIZE_OVERFLOW

=config
	NOTIFY_MAIL_SIZE_OVERFLOW

=menu
	When fml receives a mail size, fml notifies it to the sender
	to avoid further resending.
	The current configuration: notify?     $SUMMARY{'NOTIFY_MAIL_SIZE_OVERFLOW'}

=query
	type: y-or-n


/SECURITY_AND_FILTER/ANNOUNCE_MAIL_SIZE_OVERFLOW

=config
	ANNOUNCE_MAIL_SIZE_OVERFLOW

=menu
	When fml receives a mail size, fml announces the received mail 
	is too big to the ML (with the received mail header).
	# SARASIMONO? :-)

	The current configuration: ANNOUNCE?     $SUMMARY{'ANNOUNCE_MAIL_SIZE_OVERFLOW'}

=query
	type: y-or-n


/SECURITY_AND_FILTER/REJECT_ADDR

=config
	REJECT_ADDR

=menu
	FML rejects addresses which matches \$REJECT_ADDR in default.
	For example, FML rejects mails from MAILER-DAMON.
	If you do not need this function, unset \$REJECT_ADDR
	The current value is

	$config{'REJECT_ADDR'}

	_i_ END
	_i_ reject (reject addresses in \$REJECT_ADDR)
	_i_ accept all accounts

=query
	type:		select

=map
	1	$MANIFEST{'REJECT_ADDR'}
	2	$NULL


/SECURITY_AND_FILTER/ADDR_CHECK_MAX

=config
	ADDR_CHECK_MAX

=menu
	FML checks the indentity of From: address as an authentication
	up to \$ADDR_CHECK_MAX (default 3) levels domain.
	If 3, we compare fukachan\@sapporo.iij.ad.jp and
	kfuka\@sapporo.iij.ad.jp in the following order:
	jp, ad.jp, iij.ad.jp
		
	The current \$ADDR_CHECK_MAX is $config{'ADDR_CHECK_MAX'}
	

	_i_ END
	_i_ 1	        aoi\@panic
	_i_ 2	        aoi\@chan.panic
	_i_ 3	        aoi\@c.chan.panic
	_i_ 4	        aoi\@d.c.chan.panic
	_i_ 5	        aoi\@e.d.c.chan.panic
	_i_ 6	        aoi\@f.e.d.c.chan.panic
	_i_ 7	        aoi\@g.f.e.d.c.chan.panic
	_i_ 8	        aoi\@h.g.f.e.d.c.chan.panic
	_i_ 9	        aoi\@i.h.g.f.e.d.c.chan.panic
	_i_ 10	        aoi\@j.i.h.g.f.e.d.c.chan.panic
	_i_ 100	        aoi\@x.y.................................chan.panic

=query
	type:		select

=map
	 1 	 1
	 2 	 2
	 3 	 3
	 4 	 4
	 5 	 5
	 6 	 6
	 7 	 7
	 8 	 8
	 9 	 9
	 10 	 10
	 11 	 100


/SECURITY_AND_FILTER/MAXNUM_COMMAND_INPUT

=config
	MAXNUM_COMMAND_INPUT

=menu
	The maximum number of commands in one command mail.
	The variable \$MAXNUM_COMMAND_INPUT controls this.
	The current number is \"$config{'MAXNUM_COMMAND_INPUT'}\".
	0 or NULL implies \"infinite\".

=query	
	type:	number

/SECURITY_AND_FILTER/USE_LOG_MAIL

=config
	USE_LOG_MAIL

=menu
	If you set \$USE_LOG_MAIL, 
	LOGGING THE LATEST IN-COMING MAILS

	Logs an in-coming mail to \$LOG_MAIL_DIR/\$id 
	where (\$id = `cat \$LOG_MAIL_SEQ`; \$id % \$NUM_LOG_MAIL; \$id++).
	Latest \$NUM_LOG_MAIL files are stored in \$LOG_MAIL_DIR 
	and each file size is limited up to 
	\$LOG_MAIL_FILE_SIZE_MAX bytes to save disk.

	Now \$USE_LOG_MAIL = $SUMMARY{'USE_LOG_MAIL'};
=query
	type: y-or-n


/SECURITY_AND_FILTER/USE_ENCRYPTED_DISTRIBUTION

=config
	USE_ENCRYPTED_DISTRIBUTION

=menu
	If you set \$USE_ENCRYPTED_DISTRIBUTION,
	distribution of ML is encrypted. The default is PGP.
	Now \$USE_ENCRYPTED_DISTRIBUTION: $config{'USE_ENCRYPTED_DISTRIBUTION'}

	YOU NEED ANOTHER SETTINGS on PGP. Please see http://www.fml.org/
	or doc/tutorial*/ in the fml package for more details.

=query
	type: y-or-n

/SECURITY_AND_FILTER/ENCRYPTED_DISTRIBUTION_TYPE

=config
	ENCRYPTED_DISTRIBUTION_TYPE

=menu
	ENCRYPTED_DISTRIBUTION_TYPE $config{'ENCRYPTED_DISTRIBUTION_TYPE'}
	If not defined, we use pgp2 (PGP versoin 2).

	_i_  END		
	_i_  pgp2	PGP version 2
	_i_  pgp5	PGP versoin 5
	_i_  gpg	GNU Privacy Guard (not yet implemented)

=query
	type:	select

=map
	1	pgp2
	2	pgp5
	3	gpg


/SECURITY_AND_FILTER/CHECK_MAILBODY_CKSUM

=config
	CHECK_MAILBODY_CKSUM

=menu
	If you set \$CHECK_MAILBODY_CKSUM
	fml checks article duplication based on MD5 cksum of input article.

=query
	type: y-or-n



======================================================================
###### /OPTION
==================================================


/OPTION

=menu
	OTHER OPTIONAL VARIABLES

	_i_  END		
#	_i_  MIME                          $SUMMARY{'USE_MIME'}
	_i_  HTML_GENERATION               $SUMMARY{'AUTO_HTML_GEN'}
	_i_  SPOOLING                      $SUMMARY{'SPOOLING'}
	_i_  FLOCK                         $SUMMARY{'USE_FLOCK'}
	_i_  SMTP
	_i_  USE_MEMBER_NAME               $SUMMARY{'USE_MEMBER_NAME'}
	_i_  LANGUAGE
	_i_  VARIABLE_OFF_ON               off/on toggle variables

#	-----------------------
#	TURN OVER old/too big files (NewSyslog(8) like)
#	     * to turn over \$DIR/log.
#	_i_  LOGFILE_NEWSYSLOG_LIMIT   $config{'LOGFILE_NEWSYSLOG_LIMIT'} bytes
#
#	     * to turn over too big \$DIR/actives.bak and \$DIR/members.bak.
#	_i_  AMLIST_NEWSYSLOG_LIMIT    $config{'AMLIST_NEWSYSLOG_LIMIT'} bytes

=query
	type:	select


==================================================

/OPTION/HTML_GENERATION

=name
	Create HTML articles

=menu
	Creating HTML articles automatically

	_i_  END		
	_i_  AUTO_HTML_GEN		$config{'AUTO_HTML_GEN'}
	_i_  HTML_THREAD_REF_TYPE   	$config{'HTML_THREAD_REF_TYPE'}
	_i_  HTML_STYLESHEET_BASENAME	$config{'HTML_STYLESHEET_BASENAME'}
	_i_  HTML_INDEX_UNIT		$config{'HTML_INDEX_UNIT'}
	_i_  HTML_INDENT_STYLE		$config{'HTML_INDENT_STYLE'}

	use new module ?
	_i_  USE_NEW_HTML_GEN		$config{'USE_NEW_HTML_GEN'}

=query
	type:	select


/OPTION/HTML_GENERATION/AUTO_HTML_GEN

=name
	Create HTML articles

=config
	AUTO_HTML_GEN

=menu
	Create HTML articles	$config{'AUTO_HTML_GEN'}

=query
	type:		y-or-n
	menu:		AUTOMATIC HTML GENERATION

/OPTION/HTML_GENERATION/USE_NEW_HTML_GEN

=name
	use new HTML generator

=config
	USE_NEW_HTML_GEN

=menu
	use new HTML generator	$config{'AUTO_HTML_GEN'}

=query
	type:		y-or-n
	menu:		AUTOMATIC HTML GENERATION

/OPTION/HTML_GENERATION/HTML_THREAD_REF_TYPE

=name
	thread reference releation type

=config
	HTML_THREAD_REF_TYPE

=menu
	Thread reference releation type: $config{'HTML_THREAD_REF_TYPE'}

	_i_  END		
	_i_  In-Reply-To: and References:
	_i_  In-Reply-To: or the last of References:

=query
	type:	select

=map
	1	default
	2	prefer-in-reply-to

/OPTION/HTML_GENERATION/HTML_STYLESHEET_BASENAME

=name
	USE STYLESHEET ?

=config
	HTML_STYLESHEET_BASENAME

=menu
	You use stylesheet 1.0 (HTML 4.0)?
	If you use it, define stylesheet.
	Sytlesheet: $config{'HTML_STYLESHEET_BASENAME'}

	_i_  END		
	_i_  fml.css (default example)
	_i_  NOT USE HTML 4.0 STYLE SHEET

=query
	type:	select

=map
	1	fml.css
	2	$NULL

/OPTION/HTML_GENERATION/HTML_INDEX_UNIT

=name
	UNIT OF DIRECTORY

=menu
	the unit of htdocs/'sub-directory'/1000.html 
	THE PRESENT UNIT is \"$config{'HTML_INDEX_UNIT'}\".
	(default \"$MANIFEST{'HTML_INDEX_UNIT'}\").

	sub-directory is like a 
		19980301/	(the directory of 1998/03/01)
	or
		100/		(articles with the number 1-100)	
		200/		(articles with the number 101-200)

	_i_  END
	_i_  TIME_RANGE		e.g. day, week, month
	_i_  NUMBER_OF_ARTICLES	e.g. 100, 1000, ...

=query
	type:	select


/OPTION/HTML_GENERATION/HTML_INDEX_UNIT/TIME_RANGE

=name
	UNIT OF DIRECTORY

=config
	HTML_INDEX_UNIT

=menu
	the unit of htdocs/'sub-directory'/1000.html 
	THE PRESENT UNIT is \"$config{'HTML_INDEX_UNIT'}\".


	sub-directory is like a 
		19980301/	(the directory of 1998/03/01)
	or
		100/		(articles with the number 1-100)	
		200/		(articles with the number 101-200)

	_i_  END
	_i_  day
	_i_  week
	_i_  month
	_i_  infinite

=query
	type:	select

=map
	1  day
	2  week
	3  month
	4  infinite


/OPTION/HTML_GENERATION/HTML_INDEX_UNIT/NUMBER_OF_ARTICLES

=name
	UNIT OF DIRECTORY

=config
	HTML_INDEX_UNIT

=menu
	the unit of htdocs/'sub-directory'/1000.html 
	THE PRESENT UNIT is \"$config{'HTML_INDEX_UNIT'}\".

	sub-directory is like a 
		19980301/	(the directory of 1998/03/01)
	or
		100/		(articles with the number 1-100)	
		200/		(articles with the number 101-200)

	PLEASE INPUT THE UNIT (NUMBER), for example
		100
		1000
		...

=query
	type: number
	query: number e.g. 100, 1000



/OPTION/HTML_GENERATION/HTML_INDENT_STYLE

=name
	Thread Style

=config
	HTML_INDENT_STYLE

=menu
	Threading style. 
	Indent Style: $config{'HTM_INDENT_STYLE'}

	_i_  END		
	_i_  UL
	_i_  fml 2.2 Release style

=query
	type:	select

=map
	1	UL
	2	$NULL



==================================================

/OPTION/MIME

=config
	USE_MIME

=menu
	USE MIME	$config{'USE_MIME'}

=query
	type:		y-or-n
	menu:		USE MIME

==================================================

/OPTION/SPOOLING

=config
	NOT_USE_SPOOL

=menu
	SPOOLING	$SUMMARY{'SPOOLING'}

=query
	type:		reverse-y-or-n
	menu:		Do you spool ML articles?


==================================================
/OPTION/FLOCK

=config
	USE_FLOCK

=menu
	USE FLOCK	$config{'USE_FLOCK'}

=query
	type:		y-or-n
	menu:		USE FLOCK

==================================================
/OPTION/USE_MEMBER_NAME

=config
	USE_MEMBER_NAME

=menu
	USE MEMBER_NAME		$config{'USE_MEMBER_NAME'}

=query
	type:		y-or-n
	menu:		USE USE_MEMBER_NAME

==================================================
/OPTION/LOGFILE_NEWSYSLOG_LIMIT

=config
	LOGFILE_NEWSYSLOG_LIMIT

=menu
	Threshold file size whether fml should turn over too big log file.
	\$LOGFILE_NEWSYSLOG_LIMIT   $config{'LOGFILE_NEWSYSLOG_LIMIT'} bytes.
	IF 0, disables this function. 


=query
	type: number

==================================================
/OPTION/AMLIST_NEWSYSLOG_LIMIT

=config
	AMLIST_NEWSYSLOG_LIMIT

=menu
	Threshold file size whether fml should turn over too big log file.
	\$AMLIST_NEWSYSLOG_LIMIT   $config{'AMLIST_NEWSYSLOG_LIMIT'} bytes.
	IF 0, disables this function. 

=query
	type: number


==================================================
/OPTION/SMTP

=name
	SMTP (Simple Mail Transfer Protocol) options

=menu
	SMTP (Simple Mail Transfer Protocol) options

	_i_  END		
	_i_  USE_OUTGOING_ADDRESS	$SUMMARY{'USE_OUTGOING_ADDRESS'}
	_i_  USE_VERP			$SUMMARY{'USE_VERP'}
	_i_  USE_SMTPFEED_F_OPTION	$SUMMARY{'USE_SMTPFEED_F_OPTION'}

=query
	type:	select


/OPTION/SMTP/USE_OUTGOING_ADDRESS

=name
	USE_OUTGOING_ADDRESS

=config
	USE_OUTGOING_ADDRESS

=menu
	USE_OUTGOING_ADDRESS	$config{'USE_OUTGOING_ADDRESS'}

	When you have less memory and less cpu machine, it may be useful
	to shorten running perl life time.

	If \$USE_OUTGOING_ADDRESS is defined, fml sends article to 
	only one address 
		<$config{'_ML_'}-outgoing\@$config{'DOMAINNAME'}>.
	MTA expands $config{'_ML_'}-outgoing and deliver the article. 

	[CAUTION]
	YOU SHOULD PROTECT $config{'_ML_'}-outgoing FROM e.g. SPAMMERS.

	Please run 'make outgoing' and see generated 'include-outgoing'.
	Also don't forget to add list-outgoing entry to /etc/aliases.

=query
	type:	y-or-n


/OPTION/SMTP/USE_VERP

=name
	USE_VERP

=config
	USE_VERP

=menu
	USE_VERP	$config{'USE_VERP'}

	If \$USE_VERP is defined, use VERPs
	See qmail documents for more details on VERPs.

=query
	type:	y-or-n


/OPTION/SMTP/USE_SMTPFEED_F_OPTION

=name
	USE_SMTPFEED_F_OPTION

=config
	USE_SMTPFEED_F_OPTION

=menu
	USE_SMTPFEED_F_OPTION	$config{'USE_SMTPFEED_F_OPTION'}

	If you use smtpfeed -1 -F,  set \$USE_SMTPFEED_F_OPTION on.
	fml passes X-smtpfeed: 1 to sendmail once 100 articles.

=query
	type:	y-or-n


/OPTION/LANGUAGE

=name

=menu
	Language Configurations

	_i_  END		
	_i_  LANGUAGE
	_i_  MESSAGE_LANGUAGE

=query
	type:	select


/OPTION/LANGUAGE/LANGUAGE

=name
	LANGUAGE

=config
	LANGUAGE

=menu
	Use the specified language's files when copying several
	template message files (ex. help).

	The current language is $config{'LANGUAGE'}.

	*** Run 'make fml create-doc-template' after changed ***

	_i_  END		
	_i_  Japanese
	_i_  English

=query
	type:	select

=map
	1	Japanese
	2	English


/OPTION/LANGUAGE/MESSAGE_LANGUAGE

=name
	MESSAGE_LANGUAGE

=config
	MESSAGE_LANGUAGE

=menu
	Translate message logged by &Mesg() into language \$MESSAGE_LANGUAGE
	The current language is $config{'MESSAGE_LANGUAGE'}.

	_i_  END		
	_i_  Japanese
	_i_  English	(in fact dummy to do nothing)

=query
	type:	select

=map
	1	Japanese
	2	English

