OpenSolaris_b135/cmd/bnu/uudemon.admin

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