uudemon.admin revision 7c478bd95313f5f23a4c958a745db2134aa03244
#!/usr/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 1997 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
#
# This shell sends uucp status information to an administrator.
# It should be started by a line in /var/spool/cron/crontabs/uucp.
# e.g.
#
# 48 8,12,16 * * * /etc/uucp/uudemon.admin
#
# return a list of systems defined in /etc/uucp/Systems
getsystems() {
if [ ! -f /etc/uucp/Systems ]; then
return
else
awk '$1 !~ /^#/ {print $1}' /etc/uucp/Systems
fi
}
# return a list of systems defined in /etc/asppp.cf
getpppsystems() {
if [ ! -f /etc/asppp.cf ]; then
return
else
X=`sed -e 's/#.*$//' /etc/asppp.cf`
set -- $X
while [ $# -ne 0 ];
do
if [ "$1" = "peer_system_name" ]; then
PPPSYSTEMS="$PPPSYSTEMS $2"
fi
shift
done
echo "$PPPSYSTEMS"
fi
}
nouucp()
{
# run through the systems list, deleting ppp systems
outstr=""
for i in `getsystems`
do
del=0
for j in `getpppsystems`
do
if [ "$j" = "$i" ]; then
del=1
fi
done
if [ $del -ne 1 ]; then
outstr="$outstr $i"
fi
done
# if any names are in $outstr, assume uucp is configured
if [ -n "$outstr" ]; then
return 1
else
return 0
fi
}
# Start of actual processing. For energystar compatibility,
# we attempt to do as little I/O as possible, so first check
# to see if uucp is configured before doing all this work.
if nouucp; then
exit 0
fi
set +e
export PATH
PATH=/usr/bin
MAILTO=uucp
LOGDIR=/var/uucp/.Log
ULOG=$LOGDIR/uucico
TMP=/tmp/uu$$
(uustat -p; uustat -q) > $TMP
if [ -s $TMP ]
then
(echo "Subject: uu-status"; echo; cat $TMP) | mail $MAILTO
fi
grep passwd $ULOG/* > $TMP 2> /dev/null
if [ -s $TMP ]
then
(echo "Subject: passwd check"; echo; cat $TMP) | mail $MAILTO
fi
rm $TMP