[PREVIOUS CHAPTER] [NEXT CHAPTER]
4 Around design policy

4.1	Do we permit any From: addresses?


In default FML does not permit mail from root, postmaster even if
$PERMIT_POST_FROM == "anyone" or $PERMIT_COMMAND_FROM == "anyone". We
think we cannot permit a post from non personal addresses such as
root, postmaster since a ML is for private communication. It is useful
to detect e.g. error mail loops. The addresses to reject is the
following pattern.

    $REJECT_ADDR  = 'root|postmaster|MAILER-DAEMON|msgs|nobody';
    $REJECT_ADDR .= '|majordomo|listserv|listproc';


When we reject the mail from $REJECT_ADDR\@*, FML forwards it to
$MAINTAINER for consults. Other than $REJECT_ADDR we think addresses
to reject is 'uudecode', 'sysdiag', .... I think $REJECT_ADDR should
be more if possible.


$REJECT_ADDR_LIST is also a list to reject.

4.2	Loop checks against mail loops


$CHECK_MESSAGE_ID is 1 in default. FML caches Message-Id: field of an
in-coming mail against mail loops. Duplicated Message-Id:'s are
invalid since Message-Id is unique in all space-time.


4.3	newsyslog(8)


FML provides a library of a subset of newsyslog(8). It rotates logs
like

	...
	rename log.0 log.1
	rename log log.0
	...


@NEWSYSLOG_FILES is a list of newsyslog(8) target which consists of
digest delivery configuration, member and active lists.
msend.pl calls newsyslog function on Sunday morning.

    @NEWSYSLOG_FILES = 
	("$MSEND_RC.bak", "$MEMBER_LIST.bak", "$ACTIVE_LIST.bak");


$NEWSYSLOG_MAX is the maximum of rotation of log files.
e.g.

	log.4 log.3 ... log.0 log 


4.4	Date: is the time FML delivers. 


Date:	is the time when fml.pl delivers an article. 	
Posted:	is the time when the original sender posted. 

The concept of ML must be two ways of thinking.

	1	just relay.
	2	ML server receives mail and sends it again. 
		not just relay.

We think FML should be type 2. You can sort articles by Date: since it
is the fml.pl delivery order. This conversion is for your eyes.

4.5	cut out Received: fields

4.6	cut out Return-Receipt-To:


To avoid replies from all ML members.


[PREVIOUS CHAPTER] [NEXT CHAPTER]