NetBSD/share/sushi/system/inetdconf/script

59 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# $NetBSD: script,v 1.2 2001/08/01 08:11:33 garbled Exp $
BIGLIST="ftp,tcp telnet,tcp shell,tcp login,tcp exec,tcp uucpd,tcp nntp,tcp \
finger,tcp ident,tcp tftp,udp comsat,udp ntalk,udp bootps,udp hunt,udp \
tcpmux,tcp echo,tcp discard,tcp chargen,tcp daytime,tcp time,tcp echo,udp \
discard,udp chargen,udp daytime,udp time,udp qotd,tcp klogin,tcp eklogin,tcp \
kshell,tcp kerberos-adm,tcp kpasswd,udp hprop,tcp rstatd/1-3,rpc/udp \
rusersd/2-3,rpc/udp walld/1,rpc/udp sprayd/1,rpc/udp rquotad/1,rpc/udp \
ftp,tcp6 telnet,tcp6 shell,tcp6 login,tcp6 finger,tcp6 tftp,udp6 \
kpasswd,udp6 rstatd/1-3,rpc/udp6 rusersd/2-3,rpc/udp6"
INETDCONF="/etc/inetd.conf"
if [ "$1" = "YES" ]; then
restart=YES
fi
shift
IFS=" "
CONF=`cat $INETDCONF`
echo "Processing $INETDCONF"
j=0
for i in $BIGLIST
do
TCONF="${CONF}"
j=`expr $j + 1`
x=$(echo `eval echo \\$${j}`)
A=`echo "$i" | sed -e 's@,@ .* @'`
B=`echo "$i" | sed -e 's@,@ @'`
C=`/usr/share/sushi/system/inetdconf/script1 $B | grep YES`
if [ -z "$C" -a $x = "YES" ]; then
echo "Cannot enable service $B"
continue
fi
C=`/usr/share/sushi/system/inetdconf/script1 $B | head -1`
if [ $C = "YES" -a $x = "YES" ]; then
continue
fi
if [ $C = "NO" -a $x = "NO" ]; then
continue
fi
if [ $C = "YES" -a $x = "NO" ]; then
echo "DISABLING service $B"
CONF=`echo $TCONF | sed -e "s@\(^$A .*\)@#\1@"`
fi
if [ $C = "NO" -a $x = "YES" ]; then
echo "ENABLING service $B"
CONF=`echo $TCONF | sed -e "s@^#\($A .*\)@\1@"`
fi
done
echo "Writing modified version to $INETDCONF"
echo $CONF >$INETDCONF
if [ "$restart" = "YES" ]; then
/etc/rc.d/inetd reload
fi