[______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]