CONTROL.CTL(5)

NAME
control.ctl - specify handling of Usenet control messages

DESCRIPTION
The file /var/news/etc/control.ctl is used to determine what action is taken when a control message is received. It is read by the parsecontrol script, which is called by all the control scripts. (For an explanation of how the control scripts are invoked, see innd(8).)

The file consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. All other lines consist of four fields separated by a colon:
    message:from:newsgroups:action

The first field is the name of the message for which this line is valid. It should be either the name of the control message, or the word ``all'' to mean that it is valid for all messages.

The second field is a shell-style pattern that matches the email address of the person posting the message. (The poster's address is first converted to lowercase.) The matching is done using the shell's case statement; see sh (1) for details.

If the control message is ``newgroup'' or ``rmgroup'' then the third field specifies the shell-style pattern that must match the group being created or removed. If the control message is of a different type, then this field is ignored.

The fourth field specifies what action to take if this line is selected for the message. The following actions are understood:

doit
    The action requested by the control message should be performed. In most cases the control script will also send mail to usenet.

doifarg
    If the control message has an argument, this is treated as a ``doit'' action. If no argument was given, it is treated as a ``mail'' entry. This is used in ``sendsys'' entries script so that a site can request its own newsfeeds(5) entry by posting a ``sendsys mysite'' article. On the other hand, sendsys ``bombs'' ask that the entire newsfeeds file be sent to a forged reply-to address; by using ``doifarg'' such messages will not be processed automatically.

doit=file
    The action is performed, but a log entry is written to the specified log file, file. If file is the word ``mail'' then the record is mailed. A null string is equivalent to /dev/null. A pathname that starts with a slash is taken as the absolute filename to use as the log. All other pathnames are written to /var/log/news/file.log. The log is written by writelog (see newslog(8)).

drop
    No action is taken; the message is ignored.

log A one-line log notice is sent to standard error. Innd normally directs this to the file /var/log/news/errlog.

log=file
    A log entry is written to the specified log file, file, which is interpreted as described above.

mail
    A mail message is sent to the news administrator.

Lines are matched in order; the last match found in the file is the one that is used. For example, with the following three lines:
    newgroup:*:*:drop
    newgroup:tale@*.uu.net:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:doit
    newgroup:kre@munnari.oz.au:aus.*:mail
A newgroup coming from ``tale'' at a UUNET machine will be honored if it is in the mainstream Usenet hierarchy. If ``kre'' posts a newgroup message creating ``aus.foo'', then mail will be sent. All other newgroup messages are ignored.

HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews.

SEE ALSO
innd(8), newsfeeds(5), scanlogs(8).