2016-04-23 20:43:52 +08:00
|
|
|
#!/bin/sh
|
|
|
|
# postinst script for MailScanner
|
|
|
|
#
|
|
|
|
# see: dh_installdeb(1)
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# summary of how this script can be called:
|
|
|
|
# * <postinst> `configure' <most-recently-configured-version>
|
|
|
|
# * <old-postinst> `abort-upgrade' <new version>
|
|
|
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
|
|
|
# <new-version>
|
|
|
|
# * <postinst> `abort-remove'
|
|
|
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
|
|
|
# <failed-install-package> <version> `removing'
|
|
|
|
# <conflicting-package> <version>
|
|
|
|
# for details, see http://www.debian.org/doc/debian-policy/ or
|
|
|
|
# the debian-policy package
|
|
|
|
|
2016-05-23 14:11:47 +08:00
|
|
|
# save directory
|
|
|
|
SAVEDIR="$HOME/ms_upgrade/saved.$$";
|
|
|
|
|
2016-04-23 20:43:52 +08:00
|
|
|
# group for users to run under
|
|
|
|
if ! getent group mtagroup >/dev/null 2>&1; then
|
2018-10-22 05:49:11 +08:00
|
|
|
groupadd -f mtagroup >/dev/null 2>&1
|
2016-04-23 20:43:52 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-11 10:29:32 +08:00
|
|
|
if [ ! -d '/var/spool/MailScanner/archive' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mkdir -p /var/spool/MailScanner/archive
|
2019-07-01 01:56:24 +08:00
|
|
|
chmod 775 /var/spool/MailScanner/archive
|
|
|
|
chown root:mtagroup /var/spool/MailScanner/archive
|
2016-05-01 19:43:25 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-11 10:29:32 +08:00
|
|
|
if [ ! -d '/var/spool/MailScanner/incoming' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mkdir -p /var/spool/MailScanner/incoming
|
2019-07-01 01:56:24 +08:00
|
|
|
chmod 775 /var/spool/MailScanner/incoming
|
|
|
|
chown root:mtagroup /var/spool/MailScanner/incoming
|
2016-04-29 14:53:09 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-11 10:29:32 +08:00
|
|
|
if [ ! -d '/var/spool/MailScanner/quarantine' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mkdir -p /var/spool/MailScanner/quarantine
|
2019-07-01 01:56:24 +08:00
|
|
|
chmod 775 /var/spool/MailScanner/quarantine
|
|
|
|
chown root:mtagroup /var/spool/MailScanner/quarantine
|
2016-04-29 14:53:09 +08:00
|
|
|
fi
|
|
|
|
|
2018-09-02 05:02:08 +08:00
|
|
|
if [ ! -d '/var/spool/MailScanner/milterin' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mkdir -p /var/spool/MailScanner/milterin
|
2019-07-01 01:56:24 +08:00
|
|
|
chmod 775 /var/spool/MailScanner/milterin
|
|
|
|
chown root:mtagroup /var/spool/MailScanner/milterin
|
2018-09-02 05:02:08 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d '/var/spool/MailScanner/milterout' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mkdir -p /var/spool/MailScanner/milterout
|
2019-07-01 01:56:24 +08:00
|
|
|
chmod 775 /var/spool/MailScanner/milterout
|
|
|
|
chown root:mtagroup /var/spool/MailScanner/milterout
|
2018-09-02 05:02:08 +08:00
|
|
|
fi
|
|
|
|
|
2016-04-23 20:43:52 +08:00
|
|
|
# lock down some directory permissions
|
2018-11-22 21:09:30 +08:00
|
|
|
runasuser="mail"
|
|
|
|
if [ -x /usr/sbin/ms-peek ]; then
|
|
|
|
runasuser=`/usr/sbin/ms-peek runasuser /etc/MailScanner/MailScanner.conf`
|
|
|
|
fi
|
|
|
|
if [ -z $runasuser ]; then
|
|
|
|
runasuser="mail"
|
|
|
|
fi
|
|
|
|
install -d -o$runasuser -gmtagroup -m0775 /var/spool/MailScanner/archive
|
|
|
|
install -d -o$runasuser -gmtagroup -m0775 /var/spool/MailScanner/incoming
|
|
|
|
install -d -o$runasuser -gmtagroup -m0775 /var/spool/MailScanner/quarantine
|
|
|
|
install -d -o$runasuser -gmtagroup -m0775 /var/spool/MailScanner/milterin
|
|
|
|
install -d -o$runasuser -gmtagroup -m0775 /var/spool/MailScanner/milterout
|
2016-04-23 20:43:52 +08:00
|
|
|
|
2016-05-11 11:46:21 +08:00
|
|
|
if [ -d '/etc/MailScanner/custom' -o -L '/etc/MailScanner/custom' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/MailScanner/custom
|
2016-05-11 11:46:21 +08:00
|
|
|
fi
|
|
|
|
|
2016-04-23 20:43:52 +08:00
|
|
|
# softlink for custom functions
|
|
|
|
if [ -d '/usr/share/MailScanner/perl/custom' -a ! -L '/etc/MailScanner/custom' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
ln -s /usr/share/MailScanner/perl/custom /etc/MailScanner/custom
|
2016-04-23 20:43:52 +08:00
|
|
|
fi
|
|
|
|
|
2016-04-29 15:39:44 +08:00
|
|
|
# softlink for reports
|
|
|
|
if [ -d '/usr/share/MailScanner/reports' -a ! -L '/etc/MailScanner/reports' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
ln -s /usr/share/MailScanner/reports /etc/MailScanner/reports
|
2016-04-29 15:39:44 +08:00
|
|
|
fi
|
|
|
|
|
2016-04-23 20:43:52 +08:00
|
|
|
# remove old link if present
|
|
|
|
if [ -L '/etc/mail/spamassassin/mailscanner.cf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/mail/spamassassin/mailscanner.cf
|
2016-04-23 20:43:52 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -L '/etc/mail/spamassassin/MailScanner.cf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/mail/spamassassin/MailScanner.cf
|
2016-04-23 20:43:52 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-11 11:46:21 +08:00
|
|
|
if [ -f '/etc/MailScanner/spam.assassin.prefs.conf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
mv -f /etc/MailScanner/spam.assassin.prefs.conf /etc/MailScanner/spamassassin.conf
|
2016-05-11 11:46:21 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-11 12:36:05 +08:00
|
|
|
# remove old symlink if present
|
|
|
|
if [ -L '/etc/init.d/mailscanner' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/mailscanner
|
2016-05-11 12:36:05 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# remove old file if present
|
|
|
|
if [ -f '/etc/init.d/mailscanner' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/mailscanner
|
2016-05-11 12:36:05 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# remove old symlink if present
|
|
|
|
if [ -L '/etc/init.d/MailScanner' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/MailScanner
|
2016-05-11 12:36:05 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# remove old file if present
|
|
|
|
if [ -f '/etc/init.d/MailScanner' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/MailScanner
|
2016-05-11 12:36:05 +08:00
|
|
|
fi
|
|
|
|
|
2018-09-02 05:02:08 +08:00
|
|
|
# remove old symlink if present
|
|
|
|
if [ -L '/etc/init.d/msmilter' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/msmilter
|
2018-09-02 05:02:08 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# remove old file if present
|
|
|
|
if [ -f '/etc/init.d/msmilter' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
rm -f /etc/init.d/msmilter
|
2018-09-02 05:02:08 +08:00
|
|
|
fi
|
|
|
|
|
2017-05-02 07:42:32 +08:00
|
|
|
# remove old systemd file if present
|
|
|
|
if [ -f '/lib/systemd/system/mailscanner.service' ]; then
|
|
|
|
rm -f /lib/systemd/system/mailscanner.service
|
|
|
|
fi
|
|
|
|
|
2018-09-02 05:02:08 +08:00
|
|
|
# remove old systemd file if present
|
|
|
|
if [ -f '/lib/systemd/system/msmilter.service' ]; then
|
|
|
|
rm -f /lib/systemd/system/msmilter.service
|
|
|
|
fi
|
|
|
|
|
2017-05-02 07:42:32 +08:00
|
|
|
# Check for systemd
|
2017-07-25 05:10:56 +08:00
|
|
|
if [ -f '/lib/systemd/systemd' -o -f '/usr/lib/systemd/systemd' ]; then
|
2017-05-02 07:42:32 +08:00
|
|
|
cp /usr/lib/MailScanner/systemd/ms-systemd /lib/systemd/system/mailscanner.service
|
2017-12-03 02:33:51 +08:00
|
|
|
chmod -x /lib/systemd/system/mailscanner.service
|
2018-09-02 05:02:08 +08:00
|
|
|
cp /usr/lib/MailScanner/systemd/ms-milter /lib/systemd/system/msmilter.service
|
|
|
|
chmod -x /lib/systemd/system/msmilter.service
|
2016-04-28 18:38:13 +08:00
|
|
|
# add symlink to init script
|
2017-05-02 07:42:32 +08:00
|
|
|
elif [ ! -L '/etc/init.d/mailscanner' ]; then
|
2018-09-02 05:02:08 +08:00
|
|
|
ln -s /usr/lib/MailScanner/init/ms-init /etc/init.d/mailscanner
|
|
|
|
ln -s /usr/lib/MailScanner/init/msmilter-init /etc/init.d/msmilter
|
2016-05-11 09:07:12 +08:00
|
|
|
fi
|
2016-04-28 18:38:13 +08:00
|
|
|
|
2016-05-11 09:56:56 +08:00
|
|
|
# create if missing
|
2016-05-11 10:29:32 +08:00
|
|
|
[ -d '/etc/MailScanner/conf.d' ] || mkdir -p /etc/MailScanner/conf.d
|
2016-05-11 09:56:56 +08:00
|
|
|
|
2016-05-23 14:01:50 +08:00
|
|
|
# upgrade the old config
|
2016-05-23 14:47:57 +08:00
|
|
|
if [ -f /etc/MailScanner/MailScanner.conf.original -a -f /etc/MailScanner/MailScanner.conf ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
cp -f /etc/MailScanner/MailScanner.conf /etc/MailScanner/MailScanner.conf.dist
|
|
|
|
ms-upgrade-conf /etc/MailScanner/MailScanner.conf.original /etc/MailScanner/MailScanner.conf.dist > /etc/MailScanner/MailScanner.conf
|
|
|
|
mkdir -p ${SAVEDIR}/etc/MailScanner
|
|
|
|
mv -f /etc/MailScanner/MailScanner.conf.* ${SAVEDIR}/etc/MailScanner > /dev/null 2>&1
|
|
|
|
cp -f /etc/MailScanner/MailScanner.conf ${SAVEDIR}/etc/MailScanner/MailScanner.new > /dev/null 2>&1
|
2016-05-23 14:01:50 +08:00
|
|
|
fi
|
|
|
|
|
2016-05-23 14:47:57 +08:00
|
|
|
# update web bug link
|
|
|
|
OLD="^Web Bug Replacement.*";
|
|
|
|
NEW="Web Bug Replacement = https\:\/\/s3\.amazonaws\.com\/msv5\/images\/spacer\.gif";
|
|
|
|
if [ -f '/etc/MailScanner/MailScanner.conf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
sed -i "s/${OLD}/${NEW}/g" /etc/MailScanner/MailScanner.conf
|
2016-05-23 14:47:57 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# fix reports directory
|
|
|
|
OLDTHING='\/etc\/MailScanner\/reports';
|
|
|
|
NEWTHING='\/usr\/share\/MailScanner\/reports';
|
|
|
|
if [ -f '/etc/MailScanner/MailScanner.conf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
sed -i "s/${OLDTHING}/${NEWTHING}/g" /etc/MailScanner/MailScanner.conf
|
2016-05-23 14:47:57 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# fix custom functions directory
|
|
|
|
OLDTHING='^Custom Functions Dir.*';
|
|
|
|
NEWTHING='Custom Functions Dir = \/usr\/share\/MailScanner\/perl\/custom';
|
|
|
|
if [ -f '/etc/MailScanner/MailScanner.conf' ]; then
|
2018-10-22 05:49:11 +08:00
|
|
|
sed -i "s/${OLDTHING}/${NEWTHING}/g" /etc/MailScanner/MailScanner.conf
|
2016-05-23 14:47:57 +08:00
|
|
|
fi
|
|
|
|
|
2017-07-25 05:10:56 +08:00
|
|
|
if [ -f '/lib/systemd/systemd' -o -f '/usr/lib/systemd/systemd' ]; then
|
2017-05-02 07:42:32 +08:00
|
|
|
systemctl enable mailscanner.service
|
|
|
|
else
|
|
|
|
update-rc.d mailscanner defaults 80 80
|
|
|
|
fi
|
2016-04-23 20:43:52 +08:00
|
|
|
|
|
|
|
exit 0
|