
	fml 4.0.3_ALPHA mailing list server/manager package

				Ken'ichi Fukamachi
[Guide]
   home page of fml
	http://www.fml.org/fml/

   download from here
	ftp://ftp.fml.org/pub/fml/
	ftp://ftp.iij.ad.jp/pub/IIJ/dist/fukachan/fml/

------------------------------------------------------------
1	Introduction
1.1	Introduction
1.2	Supported Systems
1.3	Environment you need in installation of fml
1.4	Source codes and the latest information
1.5	ドキュメント
1.6	Mailing Lists

2	Installation
2.1	makefml (installer and CUI interface for configurations)
2.2	Upgrade Installation

3	fml 4.0 Function Overview

4	Version Up and Compatibility
4.1	On Version Up
4.2	To enable new functions effective
4.3	Compatibility
4.4	Changes

5	Distribution
5.1	Copyright
------------------------------------------------------------


1	Introduction

1.1	Introduction

fml 4.0 is a package of mailing list server and utility programs. It
consists of perl scripts. It has been developed, tested and advanced
in Japan from 1993 to 2001. fml contains

   distributer (filter program which passes articles to MTA to deliver)
   command server for users
	command interface for general user
	command interface for remote administration 
	listserv/majordomo style interface (emulation)
   digest server
   CUI installer and configuration program
   other utility programs

fml design policy is based on the degree of freedom, so that I respect
"each environment for each man/women".

I assume that ML is a private communication so that the default fml
policy is manual edit: "you add a new member in hand, only members can
post and use commands". If you want to use extended functions,
e.g. remote administration, you need to EXPLICITLY modify the ML
configuration file (config.ph). One configuration file controls one
ML, so each ML can have each policy. CUI "makefml" provides a method
to customize basic functions. Advanced configuration needs the manual
edit of config.ph.

1.2	Supported Systems

fml can run on almost UNIX like operating systems. The installer
(makefml) tries to adjust fml to your OS in installing as could as
possible. fml master source has been tested on NetBSD (4.4BSD derived
system).

fml on Windows 2000/NT4.0 can work also. Please read INSTALL and
INSTALL_on_NT4.

* Development Environment:

   postfix release-20010228 + perl 5.00503 on NetBSD/i386 1.5.1

*  Test Environment: I've tested fml on the following system:

   postfix release-20010228 (+IPv6) + perl 5.00503 on NetBSD/sparc 1.5.1

The delivery system on fml.ORG consists of 2 MTA's to accelerate the
delivery (as both an experiment and a demonstration :-).

   qmail 1.03
   postfix release-20010228

1.3	Environment you need in installation of fml

fml fundamentally needs

	a UNIX account
	perl5 (recommend 5.004 after)
	MTA (e.g. postfix,sendmail,qmail,exim,...).

See INSTALL for more details on installation.
See INSTALL_on_NT4 for fml on Windows NT4.
See INSTALL_with_QMAIL when you use fml with qmail.

1.4	Source codes and the latest information

[Sources]

You can obtain fml sources at the URL

	ftp://ftp.fml.org/pub/fml/

See this url for explanation of ftp hierarchy:

	http://www.fml.org/fml/download.en.html

Please get the latest one, which is called fml-current. You'll find
fml-current, official released and other mail related sources at the
URL. 

1.5	ドキュメント

When you expand the fml source, you will find several documents under
doc/ and html documents under doc/html/.

The HOME PAGE of the fml is 

	http://www.fml.org/

You can obtain the latest (fml-)current documents and sources here.
You could see the latest topics on fml-users mailing lists or fml home
pages. This site provides the search engine over fml distribution
documents. 

1.6	Mailing Lists

Despite of my efforts, errors are inevitable. (Especially documents
must have a lot of English translation errors ;-) Please send me or ML
your corrections, comments, and suggestions. I set up the following ML
for it

	fml-users@ffs.fml.org   (Language is English)
	# FYI: fml-help@ffs.fml.org (Language is Japanese)

To join fml-users, send the following phrase in the mail body

	subscribe your-name (e.g. subscribe Anne Shirley)

to the address <fml-users-ctl@ffs.fml.org>. You will receive a
confirmation of your will to join this. Please reply and send it back
to <fml-users-ctl@ffs.fml.org>. This confirmation is against
subscription spoofing attacks.

It must be useful to search documents if you have a question. Please
try to search documents under doc/ in the distribution package or try
to use http://www.fml.org/ search engine. It is the first step to
solve your questions.

If you ask me or mailing lists, please check and report your
environment following doc/CHECK_LIST.en before you ask me or mailing
lists.

If you want to contact only the author, please send e-mail to the
address <fml-bugs@ffs.fml.org>. 

	http://www.fml.org/mlarchives/

2	Installation

2.1	makefml (installer and CUI interface for configurations)

To install fml, you can only run

	(shell prompt)% perl makefml install 

, which queries a few your environments. To make a new ML (e.g. elena
ML), run

        /usr/local/fml/makefml newml ML-Name
   e.g. /usr/local/fml/perl makefml newml elena

Please see the file INSTALL for the detail.

2.2	Upgrade Installation

	http://www.fml.org/fml/UPGRADE-e/

3	fml 4.0 Function Overview

   ---------------------------------------------------------------
   I think that FML should provide "the degrees of freedom for users
   and maintainers as could as possible" and decreases the routine
   work of administrators. Fml configuration in default assumes manual
   operations, so e.g. manually add a member to the ML.  If you use
   extensions e.g. automatic registration/subscribe remote
   administration, you should enable functions explicitly.
   ---------------------------------------------------------------

[documentation]

[installation]

*  makefml (CUI; interactive install and customize interface)

*  GUI based on CGI (4.0 new)

[General]

* Access with DataBase Servers by several methods

	PostgreSQL
	MySQL
	LDAP (Leightweight Directory Access Protocol)

* Message Language Extension (3.0 new)

*  fix memory usage (3.0 new)

[security]

*  Filtering for posted articles (2.2 new function)
   e.g. reject null body mail and only 'unsubscribe' body mails.

*  FIlter: Reject Melissa family virus

*  Message-ID Cache, system account rejection, ... against loop

*  Traffic Monitor (2.2 new function)
   which monitors the ML traffic. Fml rejects more articles from a
   sender from which fml observes the high traffic mail, which must a
   mail bomber.

*  MD5 check sum loop detecton (3.0 new, optional)

	e.g. Melissa virus, happy99

*  FML Advisory
   advisory on fml configurations and current topics
	e.g. Melissa virus, happy99

[delivery system]

*  access control for each delivery and command functions
	(anyone/members_only/moderator types are available)

  [on "moderator"]
  Moderator has three types. In default, fml caches submission, 
  and sends one time password for certification to moderators.

*  Digest Delivery (Matome Okuri)
   Each customization for each user 
   e.g. send tar.gz format of articles to a user, 
        MIME/Multipart to another user. 
        Also a digest is sent to each user at each time.

	PGP 2
	PGP 5 (4.0 new)

*  PGP encrypted ML
	PGP 2
	PGP 5 (4.0 new)

*  Easy header customization in detail

*  Article spooling or not
   You can use archive other than the default spool
*  automatic compression (spool -> tar.gz style) and expiration
*  article expiration (if you have little DISK)
*  HTML article generation (HTML 4.0 FORMAT)
	new thread format (2.2.1 new)

*  fml connects MTA via SMTP connection not exec(2) MTA.
   # exec(2) style is optional or the last resort if SMTP fails.
   So you can use another hosts for delivery and plural MTA's.

*  Startrek Stardate :D

*  mead.pl (2.2 new)
   remove users which causes mail errors automatically.

*  Some limitation on ML (2.2 new)
   input mail size limit
   limit of the number of ML subscribers
   the maximum number of commands in one mail

*  $OUTGOING_ADDRESS (2.2.1 new)
   fml sends the article to an address $OUTGOINT_ADDRESS.	
   shorten perl lifetime HACK(e.g. on i486 with 16M memory machine)

*  ML by POP3  (optional)

    ContentHandler 

[commands]

	PGP 2
	PGP 5 (4.0 new)

*  Remote Administration
    authentication type: 
	address
	password (password file is saved by crypt or MD5)
	PGP(Pretty Good Privacy) signature based authentication
	PGP 2
	PGP 5 (4.0 new)

*  Multiple functions to handle a bundle of articles

	PLAINTEXT 
		UNIX FROM
		RFC934	
		RFC1153
		MIME/Multipart

	COMPRESSED FORMAT
		gzip UNIX FROM file
		Lha + Ish
		Lha + uuencode
		tar + gzip
		zip + base64  (2.2 new)
		uuencode

   e.g. $DIR/log, $DIR/members, $DIR/actives

*  Newsyslog(8) support log files rotations
   (log -> log.0, log.0 -> log.1 ...) 
   e.g. $DIR/log, $DIR/members, $DIR/actives

*  listserv/majordomo compatible interface (emulation)

[registration]

* change actives/members treatment of automatic subscribe (3.0 new)

*  automatic registration (default: confirmation)
   which confirms the "subscribe" will in default.
   type: confirmation, keyword in body or subject, no-keyword

*  fml tries to confirm "subscribe" request in the case of manual
   registration.

   $MANUAL_REGISTRATION_TYPE = 'confirmation' or 'forward_to_admin'

*  confirmation in "unsubscribe". (2.2 new). This is optional.

*  confirmation in "chaddr". (2.2.1 new). This is optional.

*  confirmd (2.2 new)
   Confirmd queries user's will whether he/she continues to join
   a ML or not? Confirmd removes users if no reply.

*  USE_MEMBER_NAME (2.2 new)
   manages a set of addresses and full names.

Fml provides fundamentals for a lot of mailing list functions. You can
use fml as it is and the first step to hack a ML of your own.

Please use the latest version since programs which contact external
worlds should be always latest e.g. for security, evolution
environments, ... Hence it is better to do hacks for latest version.

4	Version Up and Compatibility

4.1	On Version Up

I recommends you use "makefml install" in doing version up since
makefml tries to adjust fml to fit your OS.

4.2	To enable new functions effective

You can use makefml's menu configuration to enable some basic
functions. Please define new options in config.ph explicitly. In
default, new mechanism does not work if not defined. Please see
INSTALL for more details.

4.3	Compatibility

*** translation is abbreviated ***

4.4	Changes

Please see CHANGES and RELEASE_NOTES.

5	Distribution

5.1	Copyright

   Copyright (C) 1993-2001 Ken'ichi Fukamachi

   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: README.wix,v 2.46.2.10 2001/07/29 05:00:17 fukachan Exp $
