if [ ! -f $ACONF -o ! -s $ACONF ]; then
# Create fresh config from template
conf_from_template
+ restart_daemon=1
fi
-# check for SAVI:
-# if not there, comment it out, if there, uncomment and restart
-if ! dpkg -l libsavi-perl 2> /dev/null | egrep -q '^.i' || ! [ -f /usr/lib/libsavi.so ]; then
- if cp_check_and_sed "^\['Sophos SAVI'" \
- "s/^\(\['Sophos SAVI', ..sophos_savi \]\)/#\1/" $ACONF; then
- cp_echo "CN: Disabled SAVI::Perl usage in ${ACONF}."
- cp_echo " To enable it, run sophos-sweep-update, uncomment and restart amavis."
- fi
-else
- if cp_check_and_sed "^#\['Sophos SAVI'" \
- "s/^#\(\['Sophos SAVI', ..sophos_savi \]\)/\1/" $ACONF; then
- cp_echo "CN: Enabled SAVI::Perl usage in ${ACONF}."
- restart_daemon=1
- fi
+# disable SAVI as proven problematic
+if cp_check_and_sed "^[[:blank:]]*\['Sophos SAVI'" \
+ "s/^[[:blank:]]*\(\['Sophos SAVI', ..sophos_savi \]\)/#\1/" $ACONF; then
+ cp_echo "CN: Disabled SAVI::Perl usage in ${ACONF}."
+ restart_daemon=1
fi
check_and_add_alias virusalert root
# kill naughty pyzor descendants -- XXX needed for 2.4 or not?
if dpkg --compare-versions "$2" lt 2:20030616p10-7 && \
- pgrep -u amavis -f '/usr/bin/pyzor check' > /dev/null; then
- /etc/init.d/amavisd-cn stop
+ pgrep -u amavis -f '/usr/bin/pyzor check' > /dev/null; then
+ if [ -x "/etc/init.d/amavisd-cn" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d amavisd-cn stop
+ else
+ /etc/init.d/amavisd-cn stop
+ fi
+ fi
pkill -9 -u amavis -f '/usr/bin/pyzor check' > /dev/null || true
- /etc/init.d/amavisd-cn start
+ if [ -x "/etc/init.d/amavisd-cn" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d amavisd-cn start
+ else
+ /etc/init.d/amavisd-cn start
+ fi
+ fi
restart_daemon=
restart_mta=
fi
+# register for automatic start
+update-rc.d -f amavis remove >/dev/null || true
+update-rc.d amavisd-cn defaults 19 21 >/dev/null
+
# START AMAVISD
# about a half of amavisd-cn script is here
if [ "$restart_daemon" -a -x /etc/init.d/amavis.amavisd-new ]; then
- /etc/init.d/amavis.amavisd-new restart
+ if [ -x "/etc/init.d/amavis.amavisd-new" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d amavis.amavisd-new restart
+ else
+ /etc/init.d/amavis.amavisd-new restart
+ fi
+ fi
fi
# always check that the daemons are running
if ! wait_for_fds amavis; then
- /etc/init.d/amavis.amavisd-new start
+ if [ -x "/etc/init.d/amavis.amavisd-new" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d amavis.amavisd-new start
+ else
+ /etc/init.d/amavis.amavisd-new start
+ fi
+ fi
wait_for_fds amavis
fi
if [ "$restart_mta" ]; then
- /etc/init.d/$mta restart
+ if [ -x "/etc/init.d/$mta" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d $mta restart
+ else
+ /etc/init.d/$mta restart
+ fi
+ fi
fi
# this needs to be updated when $CRONTAB file changes