[______TOC_______] [NEXT CHAPTER]

                    内部構造や実装の理屈についてなど

    1	概要

    1.1	ML Server Process Overview
    1.2	Historical View
    1.3	Policy
    1.4	機能の概要
    1.5	インストール

    2	fml の機能についての概要
    2.1	Directory 構造
    2.2	インストーラ
    2.3	ドキュメントについて
    2.4	一般ユーザー権限ということ
    2.5	ライブラリ・モジュールとダイナミック・ローディング
    2.6	設定ファイル (config.ph)
    2.7	アクセス制御と自動登録
    2.8	ファイル操作: 取り寄せとまとめ送り
    2.9	MIME や base64 等の処理
    2.10	リモートでＭＬを管理すること
    2.11	.forward
    2.12	Listserv/Majordomo
    2.13	MTAとの通信 (e.g. sendmail)
    2.14	MTAがメールを受けとれないマシンの時
    2.15	セキュリティ
    2.16	その他の機能

    3	Version Up と互換性について
    3.1	how to version up
    3.2	新しい機能を有効にするには？
    3.3	config.phの互換性について
    3.4	互換性のためのライブラリ
    3.5	FML 1.6 より前からの移行について
    3.6	FML 2.0 との互換性 (get コマンド)
    3.7	hml 1.6 との互換性

    4	設計指針に関するいくつかの考察…
    4.1	From: はすべてを認めるべきだろうか？
    4.2	ML無限ループのチェックメカニズム
    4.3	newsyslog(8)
    4.4	Date: == サーバが配送した時間
    4.5	Received: を削る
    4.6	Return-Receipt-To: も削るべき

    5	ファイルをまとめて操作する関数群 (mgetとまとめおくりで使う)
    5.1	mget options (help file より)
    5.2	mget3 のデフォールトの変更
    5.3	mget3 インターフェイス:パターンマッチ戦略
    5.4	プログラムのパス
    5.5	mget3 の送り返しプロセス
    5.6	コマンドで単なるシンタックスエラーの警告をする
    5.7	mget の送り返し時のファイルサイズ
    5.8	mget で指定できるファイルの最大数
    5.9	Mget Format: Unix From 形式
    5.10	Mget Format: MIME/MultipartのBNF表現（RFC1521より）
    5.11	Mget Format: MIME/Multipartの見本
    5.12	Mget Format: RFC934
    5.13	Mget Format: RFC1153 digest
    5.14	Mget Format: 1153 のカスタマイズ
    5.15	Mget Format: lzh + ish option
    5.16	SJIS にファイルを変換して送る （lzh + ish と lhz + uuencode option）

    6	FML のプロセス
    6.1	ＭＬサーバの動作 (fml と sendmail の役割分担)
    6.2	Sendmail -> fml.pl 時の動作
    6.3	ライブラリのファイルを探す順番 (fml.pl と ARGV)
    6.4	設定ファイルのサーチ順番

    6.5	fmlのプロセス(STDINからの読み込みの第一段階)
    6.6	fmlのプロセス(第２段階, %Envelopeの処理)
    6.7	fml process の lock と signal handling
    6.8	イベント・スケジューラ
    6.9	ロックの仕方(flock でない場合)

    7	FML 内部におけるデータ構造
    7.1	変数名の naming convention
    7.2	関数名の Naming Convention
    7.3	%Envelope (ハッシュテーブル)
    7.4	データ構造の初期化
    7.5	ディレクトリ変数
    7.6	$TMP_DIR について
    7.7	設定ファイル群
    7.8	単に便利なためにある変数
    7.9	内部で使われている変数を調べるには？

    8	FML 設定ファイルのフォーマットと構造
    8.1	members ファイルのフォーマットと構造
    8.2	actives ファイルのフォーマットと構造
    8.3	actives と members の違い
    8.4	複数のメンバーリスト、複数の配送リスト
    8.5	msendrc ファイルのフォーマットと構造
    8.6	パスワードファイルのフォーマットと構造
    8.7	FMLインストール後の maintenance と version up に関して

    9	Security
    9.1	Security 関係の基本思想
    9.2	Security Check Routine
    9.3	DNS Spoofing
    9.4	Address Spoofing
    9.5	SYN Flooding
    9.6	Email アドレスの表現とRFC822
    9.7	smrsh.c
    9.8	access(2)
    9.9	Precedence Priority
    9.10	4.4BSD vacation
    9.11	File and Directory Permission Default
    9.12	Directory Permissions
    9.13	sendmail 8.8 における check_* ルールセットについて
    9.14	SMTP and Authentication
    9.15	&system() function

    10	ライブラリ関数

    10.1	daemon (libutils.pl)
    10.2	Sendmail (libsmtp.pl)
    10.3	SendFile (libsmtp.pl)
    10.4	NeonSendFile (libsmtp.pl)
    10.5	Addr2FQDN              (fml.pl)
    10.6	AddressMatch           (fml.pl)
    10.7	MailListMemberP        (fml.pl)
    10.8	MailListActiveP        (fml.pl)
    10.9	Append2                (fml.pl)
    10.10	AutoRegist             (libutils.pl)
    10.11	ChangeMemberList       (libfml.pl)
    10.12	ChangePasswd           (libcrypt.pl)
    10.13	CheckMember            (fml.pl)
    10.14	CmpPasswd              (libcrypt.pl)
    10.15	CmpPasswdInFile        (libcrypt.pl)
    10.16	Conv2mailbox           (fml.pl)
    10.17	DecodeMimeStrings      (libMIME.pl)
    10.18	Flock                  (fml.pl)
    10.19	Funlock                (fml.pl)
    10.20	GetID                  (libfml.pl)
    10.21	GetTime                (fml.pl)
    10.22	Lock                   (fml.pl)
    10.23	Log                    (fml.pl)
    10.24	LogWEnv                (fml.pl)
    10.25	Lookup (fml.pl)
    10.26	MailListActiveP	(fml.pl)
    10.27	MailListMemberP	(fml.pl)
    10.28	Mesg                   (fml.pl)
    10.29	NewSyslog              (libnewsyslog.pl)
    10.30	Notify                 (fml.pl)
    10.31	RunHooks               (fml.pl)
    10.32	ExecNewProcess		(fml.pl)
    10.33	SecureP                (fml.pl)
    10.34	SendBackInOrder     (libfop.pl)
    10.35	SocketInit             (libsmtp.pl)
    10.36	TurnOverW0             (libnewsyslog.pl)
    10.37	Unlock                 (fml.pl)
    10.38	Warn                   (fml.pl)
    10.39	WholeMail              (fml.pl)
    10.40	eval                   (fml.pl)
    10.41	ipc                    (libutils.pl)
    10.42	system                 (libutils.pl)

    11	Porting to other Operationg Systems
    11.1	Micro$oft NT 4.0
    11.2	sys/ Directory

    Appendix A	変数名や関数名の名付け方の慣習について
    Appendix A.1	関数名

    Appendix B	some debug information
    Appendix B.1	ロードしていく様子の例 (配送の場合)

[______TOC_______] [NEXT CHAPTER]