[______TOC_______]
[NEXT CHAPTER]
Internals
1 Mailing list server overview
1.1 ML Server Process Overview
1.2 Historical View
1.3 Policy
1.4 Function overviews
1.5 Installation
2 Brief Overview of FML functions
2.1 Directory structure
2.2 Installer
2.3 On documents
2.4 Non-privileged user
2.5 Dynamic library loading
2.6 configuration file (config.ph)
2.7 Access control and automatic registration
2.8 File Operations
2.9 MIME and Base64 decoding
2.10 Remote administration
2.11 .forward
2.12 Listserv/Majordomo
2.13 Communication with MTA (e.g. sendmail)
2.14 When your machine which FML runs on cannot receive mail
2.15 Security
2.16 Others
3 Version Up and Compatibility
3.1 how to version up
3.2 Enable new functions
3.3 Compatibility on config.ph
3.4 Libraries For Compatibility
3.5 Compatibility with before FML 1.6
3.6 Compatibility with FML 2.0 ("get" command)
3.7 Compatibility with hml 1.6
4 Around design policy
4.1 Do we permit any From: addresses?
4.2 Loop checks against mail loops
4.3 newsyslog(8)
4.4 Date: is the time FML delivers.
4.5 cut out Received: fields
4.6 cut out Return-Receipt-To:
5 File Operation Functions
5.1 mget options
5.2 mget3 Routine Default
5.3 mget3 search algorithm
5.4 Program paths
5.5 mget3 process
5.6 Warn a command syntax error ?
5.7 File size unit of "mget" sending back process
5.8 The maximum files for "mget" parameters
5.9 Mget Format: Unix From Format
5.10 Mget Format: MIME/Multipart BNF representation
5.11 Mget Format: An example of MIME/Multipart
5.12 Mget Format: RFC934
5.13 Mget Format: RFC1153 digest
5.14 Mget Format: Customize RFC1153 format
5.15 Mget Format: lzh + ish option
5.16 Convert to SJIS (Japanese) (lzh + ish and lhz + uuencode option)
6 Fml Processes
6.1 Functions as ML Server
6.2 How "sendmail -> fml.pl" works
6.3 Order to search library files
6.4 Priority of configuration file search
6.5 fml.pl process (first stage)
6.6 fml process (second stage)
6.7 fml process, lock and signal handling
6.8 Event Scheduler
6.9 Another locking algorithm
7 FML internal data structures
7.1 Naming convention of variables
7.2 Naming convention of functions
7.3 %Envelope (hash)
7.4 Initialize data structures
7.5 Directory variables
7.6 On temporary directory ($TMP_DIR)
7.7 Configuration files
7.8 Other useful variables
7.9 Listing variables list
8 FML configuration files, formats and structures
8.1 members file formats
8.2 actives file formats
8.3 Differences between $ACTIVE_LIST and $MEMBER_LIST
8.4 Plural member lists and delivery lists
8.5 $MSEDN_RC format (digest control file msend.pl uses)
8.6 Password file format
8.7 Maintenances
9 Security
9.1 On security
9.2 Security Check Routine
9.3 DNS Spoofing
9.4 Address Spoofing
9.5 SYN Flooding
9.6 Email address and RFC822 representation
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 On sendmail 8.8 check_* rule sets
9.14 SMTP and Authentication
9.15 &system() function
10 Library Functions
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 Naming Convention
Appendix A.1 Function Name
Appendix B.1 loading order (in distrubution mode)
[______TOC_______]
[NEXT CHAPTER]