This file is indexed.

/usr/lib/news/bin/controlbatch is in inn2 2.6.1-2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#! /bin/bash
. /usr/lib/news/innshellvars

########################################################################
# controlbatch - Run controlchan against a batch file.
#
# Command usage:  controlbatch [feedsite batchfile]
# Defaults are feedsite: controlchan!, batchfile: ${BATCH}/controlchan!
########################################################################
#
# This script will run controlchan against a batch file.  You can use
# it to clear occasional backlogs while running controls from a
# channel, or even skip the channel and run control messages as a file
# feed.
#
########################################################################
#
# If you're doing the channel thing, you might want to put something
# like this in your crontab to do a cleanup in the wee hours:
#
#	00 04 * * *	<pathbin>/controlbatch
#
########################################################################
#
# If you would rather skip the channel and just process controls each
# hour in a batch, use this newsfeeds entry instead of the "stock"
# version:
#
# controlchan!\
#	:!*,control,control.*,!control.cancel\
#	:Tf,Wnsm:
#
# And, a crontab entry something like this:
#
#	30 * * * *     <pathbin>/controlbatch
#
########################################################################

batchlock="${LOCKS}/LOCK.controlbatch"
mypid=$$

# A concession to INN 1.x
if [ me${PATHBIN}ow = meow ] ; then
	PATHBIN=${NEWSBIN}
	export PATHBIN
fi

# See if we have no arguments and should use the defaults. If there are
# arguments, make sure we have enough to attempt something useful.
if [ me${1}ow != meow ] ; then
	if [ me${2}ow = meow ] ; then
		echo "Usage: ${0} [feedsite batchfile]" >&2
		exit 0
	else
		feedsite=${1}
		batchfile=${2}
	fi
else
	feedsite=controlchan\!
	batchfile=controlchan\!
fi

# Check if any other copies of controlbatch are running.  If we are not
# alone, give up here and now.
${PATHBIN}/shlock -p $mypid -f ${batchlock} || exit 0

cd ${BATCH}

if [ -s ${batchfile}.work ] ; then
	cat ${batchfile}.work >>${batchfile}.doit
	rm -f ${batchfile}.work
fi

if [ -s ${batchfile} ] ; then
	mv ${batchfile} ${batchfile}.work
	if ${PATHBIN}/ctlinnd -s -t30 flush ${feedsite} ; then
		cat ${batchfile}.work >>${batchfile}.doit
		rm -f ${batchfile}.work
	fi
fi

if [ -s ${batchfile}.doit ] ; then
	${PATHBIN}/controlchan \
		< ${batchfile}.doit >> ${MOST_LOGS}/controlbatch.log 2>&1
	# if you want extra assurance that nothing gets lost...
	# cat ${batchfile}.doit >> ${batchfile}.done
	rm -f ${batchfile}.doit
fi

rm -f ${batchlock}