#!/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