[PREVIOUS CHAPTER] [______TOC_______]

Appendix A Crosspost

    Appendix A.1	Introduction

    When mail is cross-posted over ML's, each ML driver passes them
    through.  Hence the number of mails is amplified since each ML driver
    runs independently. It is too sad;-)

    There exist two solutions to avoid this.

       1	Interprocess communication between ML drivers over Internet.

       2	Each driver has ML server's member lists over a lot of ML's.
    	Each driver determines delivery in considering such member lists,
    	To: and Cc: fields in the mail to deliver.

    When the communication or protocol fails in the case 1, mail loop
    may occur over Internet.  In the case 2, we turn back again to the
    current independent delivery. We avoid loops at lease.  We adopt
    scenario 2.

    Also in scenario 2, FML can interpret member lists for other ML
    drivers though other drivers deliver mail irrespective of a ML or a
    person address.  FML needs to know the ML's information to determine
    cross post or not among ML's.

    Appendix A.2	Crosspost Judgment Algorithm

    Let ML's be a, b, c and the in-coming mail header be

    	To:	a, b
    	Cc:	c

    To check whether we should deliver the current article to
    aoi@chan.panic or not, FML proceeds the following steps:

    	aoi@cha.panic is in ML "a"'s member list
    	aoi@cha.panic is in ML "b"'s member list
    	aoi@cha.panic is in ML "c"'s member list
    	........

    An article to aoi@chan.panic is delivered under the ML when the
    address is found firstly in the steps above. If the address to deliver
    is found firstly in "a" ML member list, the "a" ML driver delivers the
    mail to aoi@chan.panic.  If ML is "b", the driver should not deliver
    it.  This is cross post operation. It is important that ML servers run
    independently. Each mailing list driver determines which address it
    should deliver mail to.

    How to reply depends on

    	1	each person's judgment
    	2	person which posts an article determines Reply-To:

    Appendix A.3	Config.ph Configurations

    To support crosspost judgment, set

    	$USE_CROSSPOST = 1;

    Of course, it is sad unless all related ML run under cross post
    operations.

    Appendix A.4	Configuration file: @CROSSPOST_CF

    The configuration is

    =
    	ML Address		location of config.ph

    FML requires config.ph and member lists (e.g. actives, members ...)
    for each ML. If you support for other ML drivers, you need to create
    virtual config.ph for them.

    Example: We determine judgment for elena ML by checking
    /var/spool/ml/elena/config.ph and lists under /var/spool/ml/elena.

    	elena@baycity.asia	/var/spool/ml/elena
    	Freekick@baycity.asia	/var/spool/ml/Freekick