/usr/share/sendmail/update_tcpd is in sendmail-base 8.15.2-10.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #!/bin/sh -e
#-----------------------------------------------------------------------------
#
# Update TCPD environment (TCP Wrappers) for sendmail
#
# Copyright (c) 2001-2001 Richard Nelson. All Rights Reserved.
# Time-stamp: <2001/01/17 10:00:00 cowboy>
#
# Notes (to all):
#
# Notes (to self):
#
#-----------------------------------------------------------------------------
set -e
#------------------------------------------------------------------------------
# Check to see if sendmail is mentioned in /etc/hosts.allow
# Note: This check is far from perfect - it requires sendmail and : be
# on the same line. If you've got a better approach, I'd love to
# see it (Maybe awk/perl)!
# Path to other sendmail helpers
if [ -x ./update_sendmail ]; then
sm_path='.';
elif [ -x $(dirname $0)/update_sendmail ]; then
sm_path=$(dirname $0);
else
sm_path=/usr/share/sendmail;
fi;
# Bring in sendmail.conf for the network definitions
if [ ! -f /etc/mail/sendmail.conf ]; then
if [ -x $sm_path/update_conf ]; then
$sm_path/update_conf;
fi;
fi;
if [ -f /etc/mail/sendmail.conf ]; then
. /etc/mail/sendmail.conf;
fi;
if [ "$HANDS_OFF" != 'No' ]; then
exit 0;
fi;
if grep -qEe "^[^#:]*sendmail[^:]*[:]" /etc/hosts.allow 2>/dev/null; then
need_tcpd=0
else
need_tcpd=1
fi
if [ ! -e /etc/hosts.allow ]; then
need_tcpd=0
fi
if [ $need_tcpd -eq 1 ]; then
cat <<-EOT
Updating /etc/hosts.allow, adding "sendmail: all".
Please edit /etc/hosts.allow and check the rules location to
make sure your security measures have not been overridden -
it is common to move the sendmail:all line to the *end* of
the file, so your more selective rules take precedence.
EOT
echo "sendmail: all" | cat - /etc/hosts.allow >/etc/hosts.allow.new
mv -f /etc/hosts.allow.new /etc/hosts.allow
if [ -e /etc/init.d/netbase ]; then
/etc/init.d/netbase reload >/dev/null
elif [ -e /etc/init.d/inetd ]; then
/etc/init.d/inetd reload >/dev/null
fi
fi
exit 0
|