[PREVIOUS CHAPTER]
[NEXT CHAPTER]
7 Delivery, commands and access controls
7.1 Access Control and policy
$PERMIT_POST_FROM
$REJECT_POST_HANDLER
$PERMIT_COMMAND_FROM
$REJECT_COMMAND_HANDLER
are access control variables.
$PERMIT_POST_FROM permit posting from whom ?
$REJECT_POST_HANDLER If a not member posts mail,
what should we do?
$PERMIT_COMMAND_FROM permit commands from whom ?
$REJECT_COMMAND_HANDLER If a not member posts a command mail,
what should we do?
[whom]
anyone from anyone
members_only members only (in $MEMBER_LIST @MEMBER_LIST)
moderator forward mail from anyone to moderators
[handler]
reject reject (sends the file "deny" to From:)
auto_subscribe calls automatic registration (fml Release 3)
ignore ignore
(auto_regist fml Release 2 automatic registration)
When non usual event occurs in any case, fml.pl sends a report to
$MAINTAINER.
In "anyone", "members_only" and "moderators", $REJECT_ADDR is applied.
If mail comes from public addresses e.g. "root', "postmaster",
"mailer-daemon", fml.pl rejects it. If you can pass it, change
$REJECT_ADDR.
$REJECT_ADDR = 'root|postmaster|MAILER-DAEMON|msgs|nobody';
$REJECT_ADDR .= '|majordomo|listserv|listproc';
Consider a default config.ph of elena ML. In it access control is
defined as follows:
$MAIL_LIST = "elena\@$DOMAINNAME";
$PERMIT_POST_FROM = "members_only";
$REJECT_POST_HANDLER = "reject";
$CONTROL_ADDRESS = "elena-ctl\@$DOMAINNAME";
$PERMIT_COMMAND_FROM = "members_only";
$REJECT_COMMAND_HANDLER = "reject";
7.2 Automatic registration and access control
For example, configure
$MAIL_LIST = "elena\@$DOMAINNAME";
$PERMIT_POST_FROM = "members_only";
$REJECT_POST_HANDLER = "reject";
$CONTROL_ADDRESS = "elena-ctl\@$DOMAINNAME";
$PERMIT_COMMAND_FROM = "members_only";
In this case, fml.pl rejects mail posted from a not member.
Subscribe request from a not member to the command address is passed
to automatic registration routine.
$REJECT_POST_HANDLER = "auto_subscribe";
enables to pass mail from a not member to the automatic registration
routine.
7.3 $MAIL_LIST
Consider if you set $MAIL_LIST == $CONTROL_ADDRESS. The combination is
possible to set up. In this case fml.pl cannot recognize the mail is
commands or a usual article. However special keywords to show this
mail is for commands can control fml.pl action mode. The keyword
syntax is '# command' syntax. For example, "# help".
This is not used in default and prepared for some backward
compatibility.
7.4 Address for commands only
listname-ctl is set up for a command address in default examples.
include-ctl file is created for it and aliases has an entry for this
address. Please set up them. "--ctladdr" in listname-ctl is required,
so DO NOT REMOVE IT. Who can use commands is controlled by
$PERMIT_COMMAND_FROM. You can change the variable by hand or makefml config.
7.5 If $MAIL_LIST == $CONTROL_ADDRESS
Consider if you set $MAIL_LIST == $CONTROL_ADDRESS. The combination is
possible to set up. In this case fml.pl cannot recognize commands or
just an article. However special keywords to show commands can control
fml.pl action mode. The keyword syntax is '# command' syntax.
This is not used in default and prepared for some backward
compatibility.
7.6 Set up a special server
You can set up a special purpose server by setting $LOAD_LIBRARY.
$LOAD_LIBRARY priority is higher than a command server. In fact
theoretically speaking, a command server is a special case of this
functionality. The command server is when
$LOAD_LIBRARY = 'libfml.pl';
and if you set
$LOAD_LIBRARY = 'libftpmail.pl';
you can provide ftpmail server.
7.7 Access control in remote administration
Address, password, PGP authentication are available.
[PREVIOUS CHAPTER]
[NEXT CHAPTER]