/usr/share/sendmail/update_smrsh 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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #!/bin/sh -e
#-----------------------------------------------------------------------------
#
# $Sendmail: update_smrsh,v 8.15.2 2018-01-13 23:43:05 cowboy Exp $
#
# Update MDA programs used by Sendmail for Debian
#
# Copyright (c) 2002-2010 Richard Nelson. All Rights Reserved.
#
# Notes (to all):
# * The entries in /etc/mail/smrsh are used by the feature(smrsh) and
# sensible-mda.
#
# Notes (to self):
# *
#
#-----------------------------------------------------------------------------
set -e;
# flag used to indicate a dataset has been moved, may need another update
changed=0;
new=1;
def_progs="\
/usr/lib/sm.bin/mail.local \
/usr/lib/sm.bin/sensible-mda \
/usr/bin/vacation \
/usr/bin/procmail \
/usr/bin/maildrop \
/usr/bin/deliver \
";
# 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;
echo " ";
echo "Checking for installed MDAs...";
#------------------------------------------------------------------------------
# /etc/mail/smrsh is where the links to MDAs and authorized forwarding progs
if [ ! -e /etc/mail/smrsh ]; then
changed=1;
new=1;
fi;
chown smmta:smmsp /etc/mail/smrsh;
chmod 02755 /etc/mail/smrsh;
#------------------------------------------------------------------------------
# Iterate over the default list of programs and create any missing items
for file in $def_progs; do
ppath=$(dirname "$file");
pname=$(basename "$file");
# the file doesn't exist, see if we can remove its link
if [ ! -e $file ]; then
# let have there own version eh?
if [ -e /etc/mail/smrsh/$pname ]; then
true;
# no, if its a danglink symlink, drop it
elif [ -L /etc/mail/smrsh/$pname ]; then
echo "Removing link for no longer extant program ($pname)";
rm /etc/mail/smrsh/$pname;
fi;
# the file exists, see if we need to add its link
elif [ ! -e /etc/mail/smrsh/$pname ]; then
echo "Adding link for newly extant program ($pname)";
ln -sf $file /etc/mail/smrsh/$pname;
changed=1;
fi;
done;
#------------------------------------------------------------------------------
exit $changed;
|