#!/bin/sh
#
# This script will make sure that the /etc/inetd.conf
# file has the correct entries
#
#
# History:
# 27Aug2001	dawson	first writting.  It is basically a rewrite of
#    the config-inetd.conf script.
#
#
#######################################################################
# Variables
KRB5CONF_DIR="/usr/krb5/config"
KRB5CONF_TARGET_DIR="/etc/xinetd.d"
KRB5CONF_BACKUP_DIR="/etc/xinetd.d.backup"
SERVICES="eklogin ekrb5-telnet gssftp klogin krb5-telnet kshell"
datestamp=`date +%d%b%EY`

########################################################################
# Backup the file, incase the user want's it
backupfile() {
	original="$1"
	if [ -f $KRB5CONF_BACKUP_DIR/$original.$datestamp ] ; then
		#echo "$KRB5CONF_BACKUP_DIR/$original.$datestamp already exists, backup not made"
		echo "$KRB5CONF_BACKUP_DIR/$original.$datestamp already exists, backup not made" > /dev/null
	else
		#echo "Saving original service file as $KRB5CONF_BACKUP_DIR/$original.$datestamp"
		if [ ! -d $KRB5CONF_BACKUP_DIR ] ; then
			mkdir $KRB5CONF_BACKUP_DIR
		fi
		cp $KRB5CONF_TARGET_DIR/$original $KRB5CONF_BACKUP_DIR/$original.$datestamp
	fi
}

########################################################################
#  MAIN PROGRAM
# Go through the template files, file by file

for serv in $SERVICES
  do
	grep -q "Fermi configuration" $KRB5CONF_TARGET_DIR/$serv
	if [ $? -eq 0 ] ; then
		#echo "$serv is already Fermized"
		echo "$serv is already Fermized" > /dev/null
	else
		#echo "$serv is being Fermized"
		backupfile $serv
		/bin/cp -f $KRB5CONF_DIR/$serv.xinetd $KRB5CONF_TARGET_DIR/$serv
	fi
  done
  
if [ -f /etc/init.d/xinetd ] ; then
    echo "Appropriate xinetd services have been Fermized"
	echo "Reloading xinetd"
	/etc/init.d/xinetd reload
fi
exit 0
