HardenedBSD/etc/periodic/daily/440.status-mailq
Brian Somers 9472aac628 Fix the output when daily_status_mailq_shorten is set to YES
PR:			23766
Mostly submitted by:	lambert@ssabsd.csw.net
MFC after:		3 days
2002-05-07 13:11:05 +00:00

65 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# $FreeBSD$
#
# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
case "$daily_status_mailq_enable" in
[Yy][Ee][Ss])
if [ ! -x /usr/bin/mailq ]
then
echo '$daily_status_mailq_enable is set but /usr/bin/mailq' \
"isn't executable"
rc=2
else
echo ""
echo "Mail in local queue:"
rc=$(case "$daily_status_mailq_shorten" in
[Yy][Ee][Ss])
mailq |
perl -ne 'print if /^\s+\S+@/' |
sort |
uniq -c |
sort -nr |
awk '$1 > 1 {print $1, $2}';;
*)
mailq;;
esac | tee /dev/stderr | fgrep -v 'mqueue is empty' | wc -l)
[ $rc -gt 1 ] && rc=1
case "$daily_status_include_submit_mailq" in
[Yy][Ee][Ss])
if [ -f /etc/mail/submit.cf ]
then
echo ""
echo "Mail in submit queue:"
rc=$(case "$daily_status_mailq_shorten" in
[Yy][Ee][Ss])
mailq -Ac |
perl -ne 'print if /^\s+\S+@/' |
sort |
uniq -c |
sort -nr |
awk '$1 > 1 {print $1, $2}';;
*)
mailq -Ac;;
esac | tee /dev/stderr | fgrep -v 'mqueue is empty' | wc -l)
[ $rc -gt 1 ] && rc=1
fi;;
esac
fi;;
*) rc=0;;
esac
exit $rc