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