controlchan - channel-fed control message handler
Controlchan removes the responsibility for handling control messages
(except cancels) from innd(8) and instead processes them from a channel
or file feed. To reduce load, controlchan keeps a copy of control.ctl
in memory and checks permissions (including any required PGP headers)
before any scripts are called. Also, the default (‘‘bad message’’)
case is handled internally. The ‘‘drop’’ case is handled with far less
Normally, controlchan is invoked by innd(8) as configured in newsfeeds.
An example entry is below. Make sure that you’ve created the newsgroup
control.cancel so that controlchan doesn’t have to scan through
cancels, which it won’t process anyway.
:<pathbin in inn.conf>/controlchan
Note that in the (very, very unlikely) event that you need to process
ihave/sendme control messages, be sure that logipaddr is set to false
in inn.conf, because in this case controlchan needs a site name, not an
Controlchan tries to report all log messages through syslog(3), unless
connected to an interactive terminal. To enable syslog(3)’ing for
versions of Perl prior to 5.6.0, you will need to have run ‘‘h2ph’’ on
your system include files at some point (this is required to make
‘‘Sys::Syslog’’ work). If you have not done so, do this:
h2ph * sys/*
If you run FreeBSD, you will need to run the following in addition:
Written by Katsuhiro Kondou <firstname.lastname@example.org> for InterNetNews. This
is revision 8180, dated 2008-11-21.