CONTROL.CTL(5)

NAME
control.ctl - specify handling of Usenet control messages

DESCRIPTION
The file <pathetc in inn.conf>/control.ctl is used to determine what action is taken when a control message is received. If <usecontrolchan in inn.conf> is ``true'', it is read by the controlchan script, which can be invoked as channel program by innd(8). When control.ctl is modified, controlchan notices this automatically and reload it. If <usecontrolchan in inn.conf> is ``false'', 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 ``checkgroups'' then the third field specifies the shell-style pattern that is used to determine which newsgroups are processed for checking. 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 <USER specified with --with-news-master at configure>.

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 <pathlog in inn.conf>/file.log. The log is written by writelog (see newslog(8)).

drop
    No action is taken; the message is ignored.

verify-*
    If the value starts with the string ``verify-'', for example, ``verify-news.announce.newgroups'', then PGP verification of the control message will be done using the key issued by the ``user'' defined by the rest of the string -- ``news.announce.newsgroups'' in this example.

verify-*=file
    PGP verification is done as for the ``verify-*'' entries, and a log entry is written to the specified file.

log A one-line log notice is sent to standard error. Innd normally directs this to the file <pathlog in inn.conf>/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:group-admin@isc.org:comp.*|humanities.*|misc.*|news.*|\
    rec.*|sci.*|soc.*|talk.*:verify-news.announce.newgroups
    newgroup:kre@munnari.oz.au:aus.*:mail
A newgroup coming from ``group-admin'' at a ISC 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
inn.conf(5), innd(8), newsfeeds(5), scanlogs(8).