diff options
author | Richard A Nelson (Rick) <cowboy@debian.org> | 2007-11-02 22:14:00 +0000 |
---|---|---|
committer | Andreas Beckmann <debian@abeckmann.de> | 2012-10-01 20:07:33 +0200 |
commit | e2c9ad1abeb477b91d72eaa49080e255de79c907 (patch) | |
tree | 39c92ad9302145e0229f059c5ee1afd5764c3c85 /debian/local/update_smrsh | |
parent | 8c9befc8de046d499e4bf44fc5f7434d72ffd19b (diff) | |
download | sendmail-e2c9ad1abeb477b91d72eaa49080e255de79c907.tar.gz |
Imported Debian patch 8.14.2-1debian/8.14.2-1
Diffstat (limited to 'debian/local/update_smrsh')
-rw-r--r-- | debian/local/update_smrsh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/debian/local/update_smrsh b/debian/local/update_smrsh new file mode 100644 index 0000000..92a1616 --- /dev/null +++ b/debian/local/update_smrsh @@ -0,0 +1,94 @@ +#!/bin/sh -e +#----------------------------------------------------------------------------- +# +# $Sendmail: update_smrsh,v 8.14.2 2007-11-02 22:20:56 cowboy Exp $ +# +# Update MDA programs used by Sendmail for Debian +# +# Copyright (c) 2002-2007 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; |