[Index]


* Fundamental Configuration (CF Version, debug, Language)

$LANGUAGE
   fml 3.0 generates template files, $DIR/{help,welcome} in $LANGUAGE
   in "makefml newml". You define this variable in installation.
   The value is controlled by /usr/local/fml/.fml/system.
   value: Japanese/English


$MESSAGE_LANGUAGE
   Error message language fml returns.
   If $MESSAGE_LANGUAGE is not defined, fml 3.0 uses $LANGUAGE.
   &Mesg() tries to translate the given message to this language.
   value: Japanese/English


$DOMAINNAME
   fml automatically set up DNS for this host, but check it again by yourself.
   
   DOMAINNAME the domain name              e.g. fml.org
   FQDN       Fully Qualified Domain Name  e.g. beth.fml.org
   
   value: string


$FQDN
   fml automatically set up DNS for this host, but check it again by yourself.
   
   DOMAINNAME the domain name              e.g. fml.org
   FQDN       Fully Qualified Domain Name  e.g. beth.fml.org
   
   value: string



* Mailing List Policy (for Post, Commands), Maintainer

$MAIL_LIST
   
   $MAIL_LIST is the address for post. For example 'elena@fml.org'.
   
   $PERMIT_POST_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When post from not a member is rejected,
   fml calls $REJECT_POST_HANDLER.
   $REJECT_POST_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   value: string


$PERMIT_POST_FROM
   
   $MAIL_LIST is the address for post. For example 'elena@fml.org'.
   
   $PERMIT_POST_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When post from not a member is rejected,
   fml calls $REJECT_POST_HANDLER.
   $REJECT_POST_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   value: string


$REJECT_POST_HANDLER
   
   $MAIL_LIST is the address for post. For example 'elena@fml.org'.
   
   $PERMIT_POST_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When post from not a member is rejected,
   fml calls $REJECT_POST_HANDLER.
   $REJECT_POST_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   value: string


$CONTROL_ADDRESS
   $CONTROL_ADDRESS is the address you send a command request to.
   For example 'elena-ctl@fml.org'.
   
   $PERMIT_COMMAND_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When command request from not a member is rejected,
   fml calls $REJECT_COMMAND_HANDLER.
   
   $REJECT_COMMAND_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   Typical Configuration is
   
   (default)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "reject";
   
   (automatic subscribe: fml automatically handles subscribe request)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "auto_subscribe";
   
   value: string


$PERMIT_COMMAND_FROM
   $CONTROL_ADDRESS is the address you send a command request to.
   For example 'elena-ctl@fml.org'.
   
   $PERMIT_COMMAND_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When command request from not a member is rejected,
   fml calls $REJECT_COMMAND_HANDLER.
   
   $REJECT_COMMAND_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   Typical Configuration is
   
   (default)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "reject";
   
   (automatic subscribe: fml automatically handles subscribe request)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "auto_subscribe";
   
   value: string


$REJECT_COMMAND_HANDLER
   $CONTROL_ADDRESS is the address you send a command request to.
   For example 'elena-ctl@fml.org'.
   
   $PERMIT_COMMAND_FROM is one of "anyone", "members_only" and "moderator".
   It defines who can post to this ML. 
   When command request from not a member is rejected,
   fml calls $REJECT_COMMAND_HANDLER.
   
   $REJECT_COMMAND_HANDLER is one of "reject", "auto_subscribe" and "ignore".
   HISTORY: you can use "auto_regist" used in fml 2.x.
   
   Typical Configuration is
   
   (default)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "reject";
   
   (automatic subscribe: fml automatically handles subscribe request)
   $PERMIT_COMMAND_FROM    = "members_only";
   $REJECT_COMMAND_HANDLER = "auto_subscribe";
   
   value: string


$MAIL_LIST_ACCEPT_COMMAND
   obsolete (though you can use it)
   When $MAIL_LIST_ACCEPT_COMMAND = 1, 
   both $MAIL_LIST and $CONTROL_ADDRESS accept commands
   which format is "# command".
   value: 1/0


$MAINTAINER
   mailing list maintainer/administrator address e.g. 'elena-admin@fml.org'.
   $MAINTAINER != $MAIL_LIST IS REQUIRED AGAINST MAIL LOOP!
   value: string


$MAINTAINER_SIGNATURE
   mailing list maintainer/administrator address e.g. 'elena-admin@fml.org'.
   $MAINTAINER != $MAIL_LIST IS REQUIRED AGAINST MAIL LOOP!
   value: string


$ML_FN
   obsolete
   
   You can enforce To: field of posted article by rewriting it.
   To: $MAIL_LIST $ML_FN => To: Elena@fml.org (Elena Lolabrigita ML)
   
   value: string



* Directory

$SPOOL_DIR
   article spool
   value: directory string


$TMP_DIR
   tmp, after chdir, under DIR
   value: directory string


$VAR_DIR
   multi-purpose log, temporary, transient, and spool files (4.4BSD style)
   $LOGFILE and $SPOOL_DIR is exceptional but others is under var/.
   value: directory string


$VARLOG_DIR
   multi-purpose log, temporary, transient, and spool files (4.4BSD style)
   $LOGFILE and $SPOOL_DIR is exceptional but others is under var/.
   value: directory string


$VARRUN_DIR
   multi-purpose log, temporary, transient, and spool files (4.4BSD style)
   $LOGFILE and $SPOOL_DIR is exceptional but others is under var/.
   value: directory string


$VARDB_DIR
   multi-purpose log, temporary, transient, and spool files (4.4BSD style)
   $LOGFILE and $SPOOL_DIR is exceptional but others is under var/.
   value: directory string



* Manual Registration

$MANUAL_REGISTRATION_TYPE
   
   Term "Manual Registration" may be ambiguous but it implies
   ML maintainer needs to do some action to add a new member.
   When the maintainer receives subscribe request, he/she 
   1. remote login to the fml host and edit actives/members
   2. remote login to the fml host and run "makefml add ML address"
   3. send a command to add an address e.g. "admin add address".
   You need to enable remote administration function to do it.
   See "remote administration" section for more details.
   
   On contrary, "automatic registration" is fml does everything 
   to add a new member except for some error cases.
   
   only support 'confirmation' or 'forward_to_admin'
   In "confirmation", fml confirms the subscribe request is valid to
   avoid a tricky attack. 
   If "forward_to_admin" is selected, subscribe request is forwarded
   to $MAINTAINER without further check.
   
   value: confirmation/forward_to_admin


$MANUAL_REGISTRATION_CONFIRMATION_FILE
   value: directory string



* Automatic Registration

$AUTO_REGISTRATION_TYPE
   
   When REJECT_{POST,COMMAND}_HANDLER is "auto_subscribe" or
   "auto_regist", fml does everything to add a new member except for some
   error cases. The subscription request type is as follows.
   
   value: confirmation/subject/body/no-keyword


$AUTO_REGISTRATION_KEYWORD
   keyword of subscribe request
   $REQUIRE_SUBSCRIBE (CFVersion 2) => $AUTO_REGISTRATION_KEYWORD
   value: string


$AUTO_REGISTRATION_DEFAULT_MODE
   when automatic registration,
   we apply $AUTO_REGISTRATION_DEFAULT_MODE e.g. "m=3mp s=1" to the address.
   Please see "file operation" in doc/tutorial for more details.
   value: string


$CONFIRMATION_ADDRESS
   "confirmation" (default) mode configurations
   please see doc/tutorial for the detail of "confirmation"
   value: string 


$CONFIRMATION_SUBSCRIBE
   "confirmation" (default) mode configurations
   please see doc/tutorial for the detail of "confirmation"
   value: string 


$CONFIRMATION_KEYWORD
   "confirmation" (default) mode configurations
   please see doc/tutorial for the detail of "confirmation"
   value: string 


$CONFIRMATION_WELCOME_STATEMENT
   "confirmation" (default) mode configurations
   please see doc/tutorial for the detail of "confirmation"
   value: string 


$CONFIRMATION_SUBSCRIBE_NEED_YOUR_NAME
   "subscribe" needs no YOUR NAME. 
   value: 1/0


$CONFIRMATION_FILE
   file to send back "what is confirmation?" with "confirmation request"
   reply mail in "confirmation" mode.
   value: filename string 


$CONFIRMATION_EXPIRE
   Expire of request queue. The unit is "hour". (default, 168 == 7*24)
   value: number


$CONFIRMATION_LIST
   confirmation request queue (you should not manually edit it)
   value: filename string


$DEFAULT_SUBSCRIBE
   In fact, obsolete.
   default keyword for trap
   value: string


$WELCOME_FILE
   In adding a new member, fml sends $WELCOME_FILE to him/her.
   ML maintainer should set up this file as a guide of mailing list.
   This function works in automatic registration.
   value: filename string


$WELCOME_STATEMENT
   subject of mail ($WELCOME_FILE) sent to a new member 
   value: string


$FILE_TO_REGIST
   Enforce file to add a new member address for some purposes.
   In default fml adds it to both $ACTIVE_LIST and $MEMBER_LIST.
   value: filename string


$AUTO_REGISTERED_UNDELIVER_P
   obsolete in fact.
   
   In default if body lines > $AUTO_REGISTRATION_LINES_LIMIT, 
   we forward this mail to $MAIL_LIST. If $AUTO_REGISTERED_UNDELIVER_P is set, 
   we ALWAYS DO NOT Forward it to $MAIL_LIST.
   value: 1/0


$AUTO_REGISTRATION_LINES_LIMIT
   obsolete in fact.
   
   In default if body lines > $AUTO_REGISTRATION_LINES_LIMIT, 
   we forward this mail to $MAIL_LIST. If $AUTO_REGISTERED_UNDELIVER_P is set, 
   we ALWAYS DO NOT Forward it to $MAIL_LIST.
   value: 1/0



* Confirmd

$CONFIRMD_ACK_REQ_FILE
   confirmd
   value: filename string


$CONFIRMD_ACK_LOGFILE
   confirmd
   value: filename string


$CONFIRMD_ACK_EXPIRE_UNIT
   value: number / ( number + month/week/day )


$CONFIRMD_ACK_WAIT_UNIT
   value: number / ( number + month/week/day )



* Remote Administration

$REMOTE_ADMINISTRATION
   
   For security, I do not recommend you use remote control of fml.
   If $REMOTE_ADMINISTRATION is set, you can control FML by sending
   a command mail from remote host.
   Another choice from remote host is CGI interface but fml 3.0 does not
   provide it. CGI development is underway.
   
   value: 1/0


$REMOTE_ADMINISTRATION_AUTH_TYPE
   Of course, the remote control requires some kind of authentication.
   The choice of authentication is $REMOTE_ADMINISTRATION_AUTH_TYPE,
   which is one of 
   address		From: field
   crypt		From: field + password (e.g. "#admin pass PASSWORD")
   md5		From: field + password (e.g. "#admin pass PASSWORD")
   pgp                PGP(Pretty Good Privacy) signature 
   
   The difference of "crypt" and "md5" is $PASSWD_FILE format.
   HISTORY: $REMOTE_ADMINISTRATION_REQUIRE_PASSWORD <=> "crypt"
   
   value: crypt/address/md5/pgp/pgp2/pgp5/gpgp


$ADMIN_MEMBER_LIST
   address list of members who can send a command mail from remote
   value: filename string


$ADMIN_HELP_FILE
   help file of admin commands
   value: filename string


$PASSWD_FILE
   password file to authenticate members
   The format is "address encrypted-password" and uses one line for one address.
   value: filename string


$ADMIN_ADD_SEND_WELCOME_FILE
   "admin add" to add an address to a member list. If it succeeds, fml
   sends back $WELCOME_FILE if this variable is defined. In default fml 
   does not do it, so the maintainer needs to send the success of subscribe
   and guide to the new member.
   value: 1/0


$ADMIN_LOG_DEFAULT_LINE_LIMIT
   N, the number of lines, of "tail -N $LOGFILE".
   "admin log" is "tail -100 log" in default to avoid too big mail.
   value: number


$PGP_PATH
   PGP directory path (obsolete in fml 4.0)
   value: filename string 


$USE_FML40_PGP_PATH
   If you enforce the following *KEYRING_DIR in $CFVersion < 6.1,
   set this variable on.
   value: 1/0


$DIST_AUTH_KEYRING_DIR
   fml 4.0
   value: directory string


$DIST_ENCRYPT_KEYRING_DIR
   fml 4.0
   value: directory string


$ADMIN_AUTH_KEYRING_DIR
   fml 4.0
   value: directory string


$ADMIN_ENCRYPT_KEYRING_DIR
   fml 4.0
   value: directory string



* Moderations; moderators check posted articles

$MODERATOR_FORWARD_TYPE
   "moderator" certification type
   value: 1/2/3


$MODERATOR_MEMBER_LIST
   member list who receives submitted article. 
   If this file does not exist, it is forwarded to only $MAINTAINER.
   A moderator who certificate submitted articles and permit the post
   to mailing list.
   
   fml does not check moderator's addresses. fml check only "moderators
   knows passwords or identifiers (one time password)".
   
   value: filename string 


$MODERATOR_EXPIRE_LIMIT
   expire old submitted but not certified articles 
   default: 2 weeks
   value: number



* Security

$REJECT_ADDR
   We reject $REJECT_ADDR@ARBITRARY.DOM.AIN since these are clearly NOT
   individuals. It also may be effective to avoid mail loop since 
   some error or automatic reply comes from not individual addresses.
   This restriction is stronger than $PERMIT_*_FROM variable.
   For example, if $PERMIT_POST_FROM is "anyone", fml does not permit
   post from root@some.domain. If you permit it, please define $REJECT_ADDR.
   
   XXX This variable name is ambiguous. It should be $REJECT_ACCOUNT?
   
   value: regexp string


$REJECT_ADDR_LIST
   list of addresses fml should reject. fml checks From: field for this but
   it may be ineffective since SMTP has no general authentication method.
   value: filename string


$NOT_USE_UNIX_FROM_LOOP_CHECK
   check UNIX from to avoid mail loop. check in default.
   value: 1/0


$CHECK_MESSAGE_ID
   check Message-Id: duplication to avoid mail loop
   value: 1/0


$CHECK_MAILBODY_CKSUM
   check mail body content md5 checksum to avoid mail loop
   do not check it in default. 
   value: 1/0


$LOG_CONNECTION
   obsolete today
   Logs the getpeername()
   value: 1/0


$ADDR_CHECK_MAX
   address check levels, which level is the tree depth from the root.
   For example
   fukachan@phys.titech.ac.jp
   fukachan@axion.phys.titech.ac.jp
   
   fml checks $ADDR_CHECK_MAX level from the name space root. That is
   compare "jp" -> compare "ac" -> titech -> phys -> axion ...
   
   When $ADDR_CHECK_MAX = 3, fml regards these two are the same.
   When $ADDR_CHECK_MAX = 4, fml regards these two are the same.
   When $ADDR_CHECK_MAX = 5, fml regards these two are DIFFERENT!
   
   value: number


$INCOMING_MAIL_SIZE_LIMIT
   fml reject too big mail.
   In-coming mail size > $INCOMING_MAIL_SIZE_LIMIT, fml discards it
   and send a warning only to the maintainer.
   0 (default) implies infinite (no limit)
   value: number


$NOTIFY_MAIL_SIZE_OVERFLOW
   When fml reject too big mail, 
   if $NOTIFY_MAIL_SIZE_OVERFLOW is set, notify the rejection to the sender.
   value: 1/0


$ANNOUNCE_MAIL_SIZE_OVERFLOW
   When fml reject too big mail, 
   if $ANNOUNCE_MAIL_SIZE_OVERFLOW is set, announce "too big mail from someone"
   to mailing list (SARASHIMONO:-).
   value: 1/0


$MAX_MEMBER_LIMIT
   Resource Limit (useful for ISP ?): (default 0 == not check this limit)
   the maximum of ML delivery members when auto registration routine works.
   
   If member > $MAX_MEMBER_LIMIT, auto registration rejects the request. 
   We check actives to permit aliases of post-able addresses. 
   We check @ACTIVE_LIST effective members, not @MEMBER_LIST.
   value: number


$USE_DISTRIBUTE_FILTER
   Filter of posted article.
   &EnvelopeFilter is called in the top of &Distribute if you set
   $USE_DISTRIBUTE_FILTER = 1;
   value: 1/0


$DISTRIBUTE_FILTER_HOOK
   Filter of posted article.
   You can use $DISTRIBUTE_FILTER_HOOK for advanced customizes.
   value: string


$FILTER_NOTIFY_REJECTION
   $FILTER_NOTIFY_REJECTION enables fml.pl notifies the rejection to
   the sender.
   value: 1/0


$FILTER_ATTR_REJECT_NULL_BODY
   Attribute of filter of posted article
   value: 1/0


$FILTER_ATTR_REJECT_COMMAND
   Attribute of filter of posted article
   When $FILTER_ATTR_REJECT_COMMAND is 1 under distribution mode, 
   rejects "# command" syntax just before distribution (&Distribute;)
   value: 1/0


$FILTER_ATTR_REJECT_2BYTES_COMMAND
   Attribute of filter of posted article
   reject Japanese "2byes English words"
   value: 1/0


$FILTER_ATTR_REJECT_INVALID_COMMAND
   Attribute of filter of posted article
   reject command mail sent to the address for posting.
   value: 1/0


$FILTER_ATTR_REJECT_ONE_LINE_BODY
   Attribute of filter of posted article
   reject a mail with "one line" mail body (must be invalid command mail)
   one line means the input mail has one line in the first paragraph
   except for signature (last paragraph).
   Even if it has one line, the paragraph ends with period '.'
   it must be an effective paragraph. So we should not reject it.
   value: 1/0


$FILTER_ATTR_REJECT_MS_GUID
   Attribute of filter of posted article
   reject MIME/multipart mails with Microsoft GUID within it, 
   We intend to reject "Melissa virus" family by it.
   value: 1/0


$FILTER_ATTR_REJECT_INVALID_JAPANESE
   reject not ascii nor ISO-2022-JP
   value: 1/0


$CONTENT_HANDLER_CUTOFF_EMPTY_MESSAGE
   cutoff empty message. 
   value: 1/0


$CONTENT_HANDLER_REJECT_EMPTY_MESSAGE
   reject empty message after cut off process.
   value: 1/0


$USE_HANKAKU_CONVERTER
   try to convert Japanese HANKAKU chars in the mail body to ZENAKKU
   value: 1/0


$HTML_MAIL_DEFAULT_HANDLER
   reject HTML mails that the same content exist in the form of both
   plain and html. e.g. some versions of M$ outlook, netscape mail
   "AGAINST_HTML_MAIL: 1/0" is old style, which works for compatibility though.
   NULL (default) is "pass through a html mail".
   value: "strip" / "reject" / ""


$USE_MTI
   Traffic Monitoring Mechanism within fml
   Mail Traffic Information: internal traffic monitor
   value: 1/0


$MTI_WARN_INTERVAL
   MIT warning (mail bomb report) negative cache interval
   to avoid mail bomb of "mail bomb attack report" itself.
   value: number


$MTI_WARN_LASTLOG
   value: filename string 


$MTI_EXPIRE_UNIT
   garbage collection
   how old data (cache) to remove in clean up 
   value: number


$MTI_BURST_SOFT_LIMIT
   low water mark
   value: number


$MTI_BURST_HARD_LIMIT
   high water mark
   value: number


$MTI_COST_EVAL_FUNCTION
   function name to evaluate the current traffic load
   value: funtion string


$MTI_MAIL_FROM_HINT_LIST
   cache of spammer candidates
   value: filename string


$SUBSCRIBE_ANNOUNCE_FORWARD_TYPE
   how to announce the new comer if $AUTO_REGISTERED_UNDELIVER_P is 0.
   value: raw / prepend_info


$UNSUBSCRIBE_AUTH_TYPE
   Optional. If UNSUBSCRIBE_AUTH_TYPE is 'confirmation', fml sends back
   confirmation against a fake. In default, FML does not do confirmation.
   available type is "confirmation" only.
   value: confirmation


$CHADDR_AUTH_TYPE
   chaddr checks confirmation
   value: confirmation / ""


$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 = $id % $NUM_LOG_MAIL; $id++).
   Latest $NUM_LOG_MAIL files are stored in $LOG_MAIL_DIR and 
   the message size of each file except for the header
   is limited up to $LOG_MAIL_FILE_SIZE_MAX bytes to save disk.
   value: 1/0


$LOG_MAIL_DIR
   value: filename string


$LOG_MAIL_SEQ
   value: filename string


$NUM_LOG_MAIL
   value: number


$LOG_MAIL_FILE_SIZE_MAX
   value: number


$USE_ENCRYPTED_DISTRIBUTION
   PGP Encrypted ML
   value: 1/0


$ENCRYPTED_DISTRIBUTION_TYPE
   value: pgp / pgp2 / pgp5 / gpgp



* Header Customization

$DATE_TYPE
   Date: definition ("makefml config" can control this)
   1 original-date			Date:
   * Date: == when distribute() works
   2 distribute-date+posted		Date: + Posted:
   3 distribute-date+x-posted		Date: + X-Posted:
   4 distribute-date+x-original-date	Date: + X-Original-Date:
   * Date: == when fml.pl receives or is kicked off.
   5 received-date+posted		Date: + Posted:
   6 received-date+x-posted		Date: + X-Posted:
   7 received-date+x-original-date	Date: + X-Original-Date:
   value: original-date/distribute-date+posted/distribute-date+x-posted
   /distribute-date+x-original-date/received-date+posted
   /received-date+x-posted/received-date+x-original-date


$XMLNAME
   In article header, fml adds following header fields.
   
   $XMLNAME
   $XMLCOUNT: sequence-number
   
   e.g.
   X-ML-Name: Elena
   X-Mail-Count: 00007
   
   value: string


$XMLCOUNT
   In article header, fml adds following header fields.
   
   $XMLNAME
   $XMLCOUNT: sequence-number
   
   e.g.
   X-ML-Name: Elena
   X-Mail-Count: 00007
   
   value: string


$SUBJECT_TAG_TYPE
   In default subject tag does not exist to show more and more effective
   subject and body. Client Interface SHOULD CONTROL subject descriptions.
   
   The available type is [:] [,] [ ] (:) (,) ( ).
   e.g. [:]  => [Elena:00100] format (here $BRACKET is "Elena").
   But you can customize SUBJECT_FREE_* series variables.
   Please see doc/tutorial for the detail
   
   value:  (:) / [:] / () / [] / (,) / [,] / () / [] / (ID) / [ID] / ""


$BRACKET
   BRACKET of "Subject: [BRACKET:ID] ..." form
   value: string


$STRIP_BRACKETS
   obsolete
   We strip off e.g. [ML:fukachan] form in Subject
   but this operations depends on special forms, so not functional.
   You do not expect a lot on this option.


$BRACKET_SEPARATOR
   You can customize your own bracket by these variables.
   See doc/tutorial and libtagdef.pl on examples.
   value: regexp string


$SUBJECT_FREE_FORM
   You can customize your own bracket by these variables.
   See doc/tutorial and libtagdef.pl on examples.
   value: regexp string


$SUBJECT_FREE_FORM_REGEXP
   You can customize your own bracket by these variables.
   See doc/tutorial and libtagdef.pl on examples.
   value: regexp string


$SUBJECT_FORM_LONG_ID
   You can customize your own bracket by these variables.
   See doc/tutorial and libtagdef.pl on examples.
   value: regexp string


$USE_ERRORS_TO
   obsolete based on RFC1123
   value: 1/0


$ERRORS_TO
   obsolete based on RFC1123
   value: string


$USE_ORIGINAL_MESSAGE_ID
   Message-Id: use original Message-Id or Server Defined Message-Id ?
   if 1, original and 
   if 0, fml generates a message-id like $day.FMLAAA.$pid.$MAIL_LIST
   value: 1/0


$PRECEDENCE
   Precedence: field; 
   value: string


$APPEND_STARDATE
   append STARTREK stardate :-) in article. 
   Stardate calculation algorithm is ambiguous.
   X-Stardate: field
   value: 1/0


$USE_RFC2369
   RFC2369 e.g. list-post: ..
   value: 1/0


$LIST_SOFTWARE
   List-*


$LIST_POST
   List-*


$LIST_OWNER
   List-*


$LIST_HELP
   List-*


$LIST_SUBSCRIBE
   List-*


$LIST_UNSUBSCRIBE
   List-*


$LIST_ID
   List-*


$REWRITE_TO
   obsolete in fml 3.0
   We should force "To: $MAIL_LIST" form "For Eye" or NOT?
   default is "NO".
   
   0 Pass the original field To: 
   1 We rewrite "To: $MAIL_LIST, original-to-fields".
   2 Force "To: $MAIL_LIST".
   
   REWRITE_TO = 1 if NOT_REWRITE_TO == 0 (2.1 Release)
   value: 0/1/2


$TZONE_DST
   time zone within summer time if you use summer time.
   thank HIROSHIMA Naoki <naoki@bcrossing.com> on this idea


$PASS_ALL_FIELDS_IN_HEADER
   In some cases you need to pass only defined fields of the header
   which is defined in @HdrFieldsOrder (see "sub SetDefaults" in fml.pl).
   All files except $SKIP_FIELDS is passed through 
   when $PASS_ALL_FIELDS_IN_HEADER is set. 
   The old variable name is $SUPERFLUOUS_HEADERS.
   value: 1/0


$SKIP_FIELDS
   ignore header field irrespective of @HdrFieldsOrder and
   $PASS_ALL_FIELDS_IN_HEADER setting
   value: regexp string


$ALLOW_WRONG_LINES_IN_HEADER
   correct a wrong input
   value: 1/0



* Commands, Command Traps, File Operations (e.g. mget)

$COMMAND_SYNTAX_EXTENSION
   obsolete
   COMMAND format is "#help" == "# help" if $COMMAND_SYNTAX_EXTENSION is set.
   value: 1/0


$USE_SUBJECT_AS_COMMANDS
   "Subject: # commands" is available?
   value: 1/0


$USE_WARNING
   obsolete
   If NOT "# command" syntax commands is given, ignore or warn to the user?
   Our default is not, since most such cases are "signature".
   value: 1/0


$COMMAND_ONLY_SERVER
   obsolete: since this is the same as --ctladdr.
   value: 1/0


$COMMAND_CHECK_LIMIT
   obsolete
   when $MAIL_LIST == $CONTROL_ADDRESS, 
   the first $COMMAND_CHECK_LIMIT lines is checked for commands mail or not?
   $GUIDE_CHECK_LIMIT is the same kind of variable but for "# guide" trap.
   $GUIDE_KEYWORD determines "guide" of "$ guide" trap.
   value: number


$GUIDE_CHECK_LIMIT
   obsolete
   value: number


$GUIDE_KEYWORD
   obsolete
   value: string


$MAXLEN_COMMAND_INPUT
   The maximum length for each command. 128 bytes by default.
   value: number


$MAXNUM_COMMAND_INPUT
   The maximum number of commands in one command mail.
   The variable \$MAXNUM_COMMAND_INPUT controls this.
   If the value is 3, fml permits 3 commands in one command mail.
   0 or NULL implies infinite (default). 
   value: number


$CHADDR_KEYWORD
   "# chaddr" command name aliases
   value: regexp string


$CHADDR_REPLY_TO
   choise of addresses to return for "chaddr" command reply
   value: newaddr curaddr maintainer


$ADMIN_CHADDR_REPLY_TO
   choise of addresses to return for "admin chaddr" command reply
   value: newaddr curaddr maintainer


$MGET_MODE_DEFAULT
   The default mode of "mget" without mode (default is "tar.gz" form).
   $MGET_TEXT_MODE_DEFAULT is used by &SendFileBySplit
   value: mode string


$MGET_TEXT_MODE_DEFAULT
   The default mode of "mget" without mode (default is "tar.gz" form).
   $MGET_TEXT_MODE_DEFAULT is used by &SendFileBySplit
   value: mode string


$MAIL_LENGTH_LIMIT
   The reply for "mget" commands sends long reply mails as splitten mails
   by the unit $MAIL_LENGTH_LIMIT lines once at $SLEEPTIME secs..
   value: number


$SLEEPTIME
   The reply for "mget" commands sends long reply mails as splitten mails
   by the unit $MAIL_LENGTH_LIMIT lines once at $SLEEPTIME secs..
   value: number


$MIME_VERSION
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_CONTENT_TYPE
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_MULTIPART_BOUNDARY
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_MULTIPART_CLOSE_DELIMITER
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_MULTIPART_DELIMITER
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_MULTIPART_PREAMBLE
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$MIME_MULTIPART_TRAILER
   almost obsolete
   special case of "mget" routine uses these variables. 
   It is not user defined variable.
   See doc/tutorial and libfop.pl for the detail. 
   You change MIME/Multipart default.
   value: string


$USE_SJIS_IN_ISH
   Japanese specific
   sjis conversion in "mget ish" mode.
   value: 1/0


$RFC1153_ISSUE
   RFC1153 configurations; see doc/tutorial for the detail
   value: number


$RFC1153_VOL
   value: number / string


$RFC1153_SEQUENCE_FILE
   value: filename string


$USE_DOT_QMAIL_EXT
   qmail specific extension
   To send "get 1" to ml-ctl@domain is equivalent to that
   send anything to ml-get-1@domain if this variable is defined.
   value: 1/0


$FORCE_COMMAND_REPLY_TO
   obsolete
   For the reply for commands from fml,
   we force Reply-To: $FORCE_COMMAND_REPLY_TO ?(default is $CONTROL_ADDRESS)
   value: string


$MGET_SUBJECT_TEMPLATE
   Subject template in "mget" reply. 
   automatic substitute is done before send the reply; For example, 
   Subject: result for mget [last:3 tar + gzip] (1/1) (Elena Lolabrigita ML)
   
   _DOC_MODE_   <=>    [last:10 tar + gzip]
   _PART_       <=>    (1/4)
   _ML_FN_      <=>    $ML_FN (here is "(Elena Lolabrigita ML)") 
   
   $NOT_SHOW_DOCMODE is obsolete, it equals you discard _PART_.
   
   value: string


$MESSAGE_RETURN_ADDR_POLICY
   send error message to Reply-To: ? or From: ?
   (Of course From: if Reply-To: is not defined).
   If $MESSAGE_RETURN_ADDR_POLICY is null, 
   it implies we prefer Reply-To: (by default).
   value: from / reply-to



* Digest/Matome Okuri Configurations

$MSEND_SUBJECT_TEMPLATE
   Subject template in Digest/matome okuri.
   automatic substitute is done before send the reply; For example, 
   Digest -Matome Okuri- Article 768 [last:10 tar + gzip] (1/1) (Elena ML)
   
   _ARTICLE_RANGE_  <=>    Article 768
   _DOC_MODE_       <=>    [last:10 tar + gzip]
   _PART_           <=>    (1/4)
   _ML_FN_          <=>    $ML_FN (here is "(Elena ML)") 
   
   $NOT_SHOW_DOCMODE is obsolete, it equals you discard _PART_.
   
   value: string


$MSEND_RC
   Digest/Matome Okuri rc file
   value: filename string


$MSEND_MODE_DEFAULT
   rfc1153 or rfc934
   obsoletes $USE_RFC1153, $USE_RFC1153_DIGEST, $USE_RFC934
   value: mode string


$MSEND_DEFAULT_SUBJECT
   Subject:
   value: string


$MSEND_NOTIFICATION
   If no articles to send, we send "no traffic" to the member of $MAIL_LIST
   with the subject $MSEND_NOTIFICATION_SUBJECT if $MSEND_NOTIFICATION is set.
   value: 1/0


$MSEND_NOTIFICATION_SUBJECT
   value: string


$MSEND_NOT_USE_X_ML_INFO
   not require X-ML-Info: in the "mget";
   value: 1/0


$MSEND_NOT_USE_NEWSYSLOG
   not do newsyslog in the Sundays morning. $NOT_USE_NEWSYSLOG (CFVersion 2)
   value: 1/0



* Other Files for Configurations and Logs

$LOG_MESSAGE_ID
   cache file of Message-ID: loop check
   value: filename string


$MESSAGE_ID_CACHE_BUFSIZE
   cache size of Message-ID: negative cache
   value: number


$LOG_MAILBODY_CKSUM
   cache file of mailbody cksum mail loop check
   value: filename string


$MEMBER_LIST
   $MEMBER_LIST 	member who can post and use commands
   $ACTIVE_LIST 	delivery list
   value: filename string


$ACTIVE_LIST
   $MEMBER_LIST 	member who can post and use commands
   $ACTIVE_LIST 	delivery list
   value: filename string


$GUIDE_FILE
   ATTENTION: only "guide" is also send to strangers
   
   $GUIDE_FILE 		sent by "# guide" command, 
   $OBJECTIVE_FILE 	sent by "# objective" command
   $HELP_FILE 		sent by "# help" command
   value: filename string


$OBJECTIVE_FILE
   ATTENTION: only "guide" is also send to strangers
   
   $GUIDE_FILE 		sent by "# guide" command, 
   $OBJECTIVE_FILE 	sent by "# objective" command
   $HELP_FILE 		sent by "# help" command
   value: filename string


$HELP_FILE
   ATTENTION: only "guide" is also send to strangers
   
   $GUIDE_FILE 		sent by "# guide" command, 
   $OBJECTIVE_FILE 	sent by "# objective" command
   $HELP_FILE 		sent by "# help" command
   value: filename string


$DENY_FILE
   When fml rejects mail from someone, fml sends back this file to the sender.
   value: filename string


$LOGFILE
   $LOGFILE		log file
   $MGET_LOGFILE		log file for mget routine, $LOGFILE in default.
   value: filename string


$MGET_LOGFILE
   $LOGFILE		log file
   $MGET_LOGFILE		log file for mget routine, $LOGFILE in default.
   value: filename string


$LOGFILE_SUFFIX
   suffix extension if defined. For example log.2000
   For example $LOGFILE_SUFFIX = ".%C%y", file name is "log.2000".
   See UNIX manual "strftime(3)" for more details on format.
   value: srtings


$DEBUG_LOGFILE
   when -d2 ($debug = 2), logs this file for convenience.
   value: filename string


$SUMMARY_FILE
   article summary file
   value: filename string


$SEQUENCE_FILE
   sequence number file
   value: filename string


$LOCK_FILE
   rename(2) lock (liblock.pl)
   value: filename string



* SMTP and Delivery

$USE_INET6
   always try IPv6 connection by default
   value: 1/0


$HOST
   value: string


$PORT
   value: number


$SMTP_SENDER
   enforce MAIL FROM:<$SMTP_SENDER> if defined
   value: address


$SMTP_LOG
   IF $NOT_TRACE_SMTP IS 1 (default 0), we log the SMTP session to $SMTP_LOG
   value: filename string


$USE_SMTP_LOG_ROTATE
   rotate use of var/log/_smtplog.$i (where $i is the number)
   value: 1/0


$SMTP_LOG_ROTATE_EXPIRE_LIMIT
   expire how old _smtplog.$date
   value: number


$NUM_SMTP_LOG_ROTATE
   the number of var/log/_smtplog.$i files. This is the value of modulus.
   value: number


$SMTP_LOG_ROTATE_TYPE
   type of suffix for _smtplog
   value: number / day


$NOT_TRACE_SMTP
   IF $NOT_TRACE_SMTP IS 1 (default 0), we log the SMTP session to $SMTP_LOG
   IF $TRACE_SMTP_DELAY IS 1, we log the delay of response between SMTP server.
   value: 1/0


$TRACE_SMTP_DELAY
   IF $NOT_TRACE_SMTP IS 1 (default 0), we log the SMTP session to $SMTP_LOG
   IF $TRACE_SMTP_DELAY IS 1, we log the delay of response between SMTP server.
   value: 1/0


$USE_SMTP_PROFILE
   smtp profile for debug
   value: 1/0


$MCI_SMTP_HOSTS
   You can use plural MTA for parallel delivery.
   $MCI_SMTP_HOSTS is the number of hosts you use.
   @HOSTS is the array of hosts you use.
   value: number


$DEFAULT_RELAY_SERVER
   obsolete today
   value: string


$RELAY_HACK
   obsolete today
   CF (by motonori@wide.ad.jp) base relay control if $RELEY_HACK is on. 
   with %RELAY_GW, %RELAY_NGW, %RELAY_NGW_DOM (set in librelayhack.pl)
   $CF_DEF is CF's configuration files; 
   **ATTENTION**; we do not use sendmail.cf but CF's configuration.
   value: 1/0


$CF_DEF
   obsolete today
   value: filename string


$USE_OUTGOING_ADDRESS
   list-outgoing@domain is a real distribution address. Fml does not
   sends article to all recipient list to MTA but only this address.
   MTA expands address list and distribute article.
   In default fml does not use this but effective for poor machine like
   486 16M ;-)
   
   fml -> list-outgoing -> expanded and distributed to $ACTIVE_LIST members
   
   XXX dedicated to minmin sama:D
   
   value: 1/0


$OUTGOING_ADDRESS
   list-outgoing@domain is a real distribution address. Fml does not
   sends article to all recipient list to MTA but only this address.
   MTA expands address list and distribute article.
   In default fml does not use this but effective for poor machine like
   486 16M ;-)
   
   fml -> list-outgoing -> expanded and distributed to $ACTIVE_LIST members
   
   value: string


$USE_VERP
   VERPs: Variable Envelope Return Paths. See qmail documents for more details.
   XXX you need additional configuration so that MTA receives VERPs addresses.
   
   value: 1/0


$POSTFIX_VERP_DELIMITERS
   postfix $verp_delimiters
   value: string


$TRY_VERP_PER_DAY
   try VERPs once a day for efficient delivery.
   value: 1/0


$NOT_USE_ESMTP_PIPELINING
   we use ESMTP pipelining mechanism by default.
   value: 1/0


$USE_SMTPFEED_F_OPTION
   smtpfeed special option which provides VERPs like error track trick.
   value: 1/0



* MISC

$USE_MIME
   Mime Decode On if $USE_MIME for ISO-2022-JP statements.
   e.g. Decode $SUMMARY_FILE subject and so on.
   default 1 from 2.1C#13
   value: 1/0


$MIME_BROKEN_ENCODING_FIXUP
   special hack to treat broken MIME ending (e.g. by MacOS X)
   value: 1/0


$MIME_DECODED_ARTICLE
   obsolete and Japanese specific 
   NOT RECOMMENDED OPTION: 
   articles in the spool are MIME-DECODED for poor environment users.
   These articles may be insane in strict MIME oriented mail interfaces.
   value: 1/0


$PREAMBLE_MAILBODY
   FOR COMMAND RESULT MAIL, 
   you always append some message in the command reply mail body.
   For example, the mail body becomes
   
   $PREAMBLE_MAILBODY
   original body
   $TRAILER_MAILBODY
   
   If you use the article distributed in ML, you must use some hooks.
   For example, append this in the last of config.ph (but before 1;)
   $SMTP_OPEN_HOOK = q
   $e{'Body'} = $PREAMBLE_MAILBODY. $e{'Body'} .$TRAILER_MAILBODY;
   #;
   Please see doc/tutorial for our policy behind this.
   
   value: string


$TRAILER_MAILBODY
   FOR COMMAND RESULT MAIL, 
   you always append some message in the command reply mail body.
   For example, the mail body becomes
   
   $PREAMBLE_MAILBODY
   original body
   $TRAILER_MAILBODY
   
   If you use the article distributed in ML, you must use some hooks.
   For example, append this in the last of config.ph (but before 1;)
   $SMTP_OPEN_HOOK = q
   $e{'Body'} = $PREAMBLE_MAILBODY. $e{'Body'} .$TRAILER_MAILBODY;
   #;
   Please see doc/tutorial for our policy behind this.
   
   value: string


$GOOD_BYE_PHRASE
   In the last of e.g. "command status report", we add 
   "$GOOD_BYE_PHRASE $FACE_MARK" :-) in the last of the reply. 
   So the standard form is
   
   message
   FYI message generated by the function $PROC_GEN_INFO.
   $GOOD_BYE_PHRASE $FACE_MARK
   for example, "	--$MAIL_LIST, Be Seeing You!"
   
   value: string


$FACE_MARK
   In the last of e.g. "command status report", we add 
   "$GOOD_BYE_PHRASE $FACE_MARK" :-) in the last of the reply. 
   So the standard form is
   
   message
   FYI message generated by the function $PROC_GEN_INFO.
   $GOOD_BYE_PHRASE $FACE_MARK
   for example, "	--$MAIL_LIST, Be Seeing You!"
   
   value: string


$PROC_GEN_INFO
   value: function name string


$USE_FLOCK
   use flock for lock algorithm if $USE_FLOCK is on.
   see flock(2), alarm(3). If not, we rename(2) base lock.
   The timeout of rename(2) lock is rand(3) *  $MAX_TIMEOUT secs.
   value: 1/0


$MAX_TIMEOUT
   In rename(2) base lock case,
   the timeout of rename(2) lock is rand(3) *  $MAX_TIMEOUT secs.
   value: number


$NOT_USE_SPOOL
   Not spooling of articles (default is "spooling")
   It may be used for some secret ML, ML on diskless machihe;-), ISP services
   value: 1/0


$COMPAT_FML15
   "$CFVersion < 2" equals "$COMPAT_FML15 = 1;"
   value: 1/0


$NEWSYSLOG_MAX
   newsyslog library maximum number. default is 4. 
   log.4 is removed and 
   log.3 -> log.4, log.2 -> log.3, log.1 -> log.2, log.0 -> log.1, log -> log.0
   value: number


$CRONTAB
   not used generally. This is "cron of fml package" configuration.
   $CRONTAB 	configuratoin file
   $CRON_PIDFILE	pid file
   value: filename string


$CRON_PIDFILE
   not used generally. This is "cron of fml package" configuration.
   $CRONTAB 	configuratoin file
   $CRON_PIDFILE	pid file
   value: filename string


$CRON_NOTIFY
   not used generally. This is "cron of fml package" configuration.
   cron notifies what is done to $MAINTAINER.
   value: 1/0


$USE_CROSSPOST
   cross operations
   value: 1/0


$USE_MEMBER_NAME
   Under $USE_MEMBER_NAME is set, commands on member lists
   are with Gecos Fields which are extracted from From: field 
   in the time of auto registration.
   Author: Masayuki FUKUI <fukui@sonic.nm.fujitsu.co.jp>
   value: 1/0



* Expire and Archive

$USE_EXPIRE
   If $USE_EXPIRE is set, we do expire articles in $SPOOL_DIR.
   The default is "no". You need to remove articles if you do so.
   
   Expiration limit is $EXPIRE_LIMIT, which syntax is
   e.g. 7days(days) or 100 (articles left in spool)
   If you re-generate $SUMMARY_FILE, set $EXPIRE_SUMMARY
   
   value: 1/0


$EXPIRE_SUMMARY
   expire summary file when $USE_EXPIRE is enabled.
   value: 1/0


$EXPIRE_LIMIT
   expire how old articles 
   value: number / ( number + day/week/month )


$USE_ARCHIVE
   If $USE_ARCHIVE is on, we do automatically archive, which is 
   spool/articles is aggregated to e.g. "$ARCHIVE_DIR/100.tar.gz"
   by the unit $ARCHIVE_UNIT.
   
   the location of store (when $USE_ARCHIVE on):	$ARCHIVE_DIR
   the search path order                       : $ARCHIVE_DIR @ARCHIVE_DIR
   
   If @ARCHIVE_DIR is set and $ARCHIVE_DIR is not set, 
   we use $ARCHIVE_DIR[0] as the $ARCHIVE_DIR.
   
   value: 1/0


$ARCHIVE_UNIT
   spool/articles is aggregated to "$ARCHIVE_DIR/100.tar.gz"
   by the unit $ARCHIVE_UNIT.
   value: number


$DEFAULT_ARCHIVE_UNIT
   spool/articles is aggregated to "$ARCHIVE_DIR/100.tar.gz"
   by the unit $ARCHIVE_UNIT.
   value: number


$ARCHIVE_DIR
   spool/articles is aggregated to "$ARCHIVE_DIR/100.tar.gz"
   value: directory string


$INDEX_FILE
   "index" command
   In default we scan spool and archives and reports, but
   send back $INDEX_FILE if $INDEX_FILE exists.
   value: filename string


$INDEX_SHOW_DIRNAME
   show directory name in "index" command result? default is "no".
   value: 1/0



* Library Commands

$LIBRARY_DIR
   
   "library" command is a small mailing list within mailing list.
   It is useful to exchange some files.
   You can put and get files by "library" commands.
   
   In default, @DenyProcedure = ('library'); So 'library' command is disabled;
   Set @DenyProcedure = ('') in LOCAL CONFIG part (the last of config.ph).
   
   value: directory string


$LIBRARY_ARCHIVE_DIR
   
   "library" command is a small mailing list within mailing list.
   It is useful to exchange some files.
   You can put and get files by "library" commands.
   
   In default, @DenyProcedure = ('library'); So 'library' command is disabled;
   Set @DenyProcedure = ('') in LOCAL CONFIG part (the last of config.ph).
   
   value: directory string


$LOGFILE_NEWSYSLOG_LIMIT
   to turn over \$DIR/log
   value: number


$AMLIST_NEWSYSLOG_LIMIT
   to turn over $ACTIVE_LIST and $MEMBER_LIST if the file size over this value, 
   default 150K = 30*5000
   value: number / (number + K/M)



* Html Configurations

$AUTO_HTML_GEN
   
   HTML article generator: Please see doc/tutorial for the details.
   AUTO_HTML_GEN == AUTOmatic HTML GENeration
   if $AUTO_HTML_GEN, we generate html'ed articles in $DIR/$HTML_DIR
   value: 1/0


$USE_NEW_HTML_GEN
   use Mail::HTML::Lite in fml-devel (fml next generation).
   value: 1/0


$HTML_THREAD
   value: 1/0


$HTML_INDEX_REVERSE_ORDER
   value: 1/0


$HTML_DIR
   generate html articles under htdocs/ 
   value: directory string


$HTML_EXPIRE_LIMIT
   expire old html articles if non-zero value is defined.
   not expire in default since the value is 0 or NULL.
   options: Please see doc/tutorial for the details.
   value: number


$HTML_INDEX_TITLE
   title of index.html
   value: string


$HTML_DATA_CACHE
   cache file
   value: filename string


$HTML_DATA_THREAD
   cache file
   value: filename string


$HTML_OUTPUT_FILTER
   filter in generate html file
   value: filename string


$HTML_STYLESHEET_BASENAME
   stylesheet file name (see HTML 4.0)
   "fml.css" is default.
   value: filename string


$HTML_THREAD_REF_TYPE
   threading algorithm type
   value: default / prefer-in-reply-to


$HTML_THREAD_SORT_TYPE
   sort type for entries of thread.html
   default is "time" from past to latest, 
   "reverse-number" is from latest to past.
   value: "" / reverse-number


$HTML_INDEX_UNIT
   $subdir type of htdocs/$subdir/
   value: number / day / week / month / infinite


$HTML_INDENT_STYLE
   threading type
   value: "" / UL


$HTML_MULTIPART_IMAGE_REF_TYPE
   image file embedding style
   value: A / IMAGE 


$HTML_DEFAULT_UMASK
   html file umask
   value: "" / umask


$HTML_WRITE_UMASK
   html file umask
   value: "" / umask



* Interface to DataBase Management System

$USE_DATABASE
   value: 1/0


$DATABASE_METHOD
   value: 


$DATABASE_CACHE_FILE_SUFFIX
   value:


$DATABASE_DRIVER
   value: filename


$DATABASE_DRIVER_ATTRIBUTES
   attributes to inform database drivers
   value: 


$SQL_SERVER_HOST
   value: string 


$SQL_SERVER_PORT
   value: number


$SQL_SERVER_USER
   value: string 


$SQL_DATABASE_NAME
   value: string 


$SQL_SERVER_PASSWORD
   value: string 


$SQL_DATABASE_NAME
   value: string 


$LDAP_SERVER_HOST
   value: string


$LDAP_SERVER_PASSWORD
   value: string


$LDAP_SEARCH_BASE
   value: string


$LDAP_SERVER_BIND
   value: string


$LDAP_QUERY_FILTER
   value: string



* Interface to other Services (http,ftp,gopher,www)

$USE_WHOIS
   "whois": default is search of local database file 
   If "whois -h host" syntax is given, we connects "host" whois server.
   If $USE_WHOIS set, you can use local database $WHOIS_DB.
   If you have local whois server (inetd), you can also use it.
   If "whois help" is given, send back $WHOIS_HELP_FILE if it exists.
   
   value: 1/0


$DEFAULT_WHOIS_SERVER
   value: string


$WHOIS_DB
   value: filename string


$WHOIS_HELP_FILE
   value: filename string


$WHOIS_JCODE_P
   do Japanese conversion or not? for the result from whois server
   value: 1/0



* Architecture Dependence

$CPU_TYPE_MANUFACTURER_OS
   cpu-type manufacturer operating-system by GNU config.guess ("makefml")
   value: string


$STRUCT_SOCKADDR
   struct sockaddr
   It is system dependent.
   value: string


$LOCK_SH
   flock(2) system call; please see "/usr/include/sys/file.h"
   value: number


$LOCK_EX
   flock(2) system call; please see "/usr/include/sys/file.h"
   value: number


$LOCK_NB
   flock(2) system call; please see "/usr/include/sys/file.h"
   value: number


$LOCK_UN
   flock(2) system call; please see "/usr/include/sys/file.h"
   value: number


$COMPAT_SOLARIS2
   enforce solaris 2 compatible
   value: 1/0


$NOT_USE_TIOCNOTTY
   used in cron of fml package
   we can emulate daemon(3) ?
   value: 1/0


$HAS_GETPWUID
   On Unix, always yes set 1 in &SetDefaults;
   value: 1/0


$HAS_GETPWGID
   On Unix, always yes set 1 in &SetDefaults;
   value: 1/0


$HAS_ALARM
   On Unix, always yes set 1 in &SetDefaults;
   value: 1/0


$UNISTD
   On Unix, always yes set 1 in &SetDefaults;
   value: 1/0


$SENDMAIL
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$TAR
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$UUENCODE
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$COMPRESS
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$ZCAT
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$LHA
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$ISH
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$ZIP
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$BZIP2
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGP
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGP5
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGPE
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGPK
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGPS
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$PGPV
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$GPG
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$RCS
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$CI
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$BASE64_DECODE
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$BASE64_ENCODE
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string


$MD5
   program paths fml uses
   Usually "makefml newml" checks and expands this value. 
   value: filename string