X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fprerm;h=bd99613f7c7622004ef49e6dbe9c88ed56832d4c;hb=a452628cc701ed542bbf1272dc48616032acb644;hp=aeef7d67f942496dc839d52fa3f2ace763fe682e;hpb=d898c4a3e286e07ee0f5d379dcdb055795209add;p=mod-security-cn.git diff --git a/debian/prerm b/debian/prerm index aeef7d6..bd99613 100644 --- a/debian/prerm +++ b/debian/prerm @@ -2,6 +2,28 @@ set -e +# chk_conf_tag () +# +# Check if configuration file has CARNet package info lines. +# return: $RET => 0 - tagged +# 1 - file does not exists +# 2 - file exists, but it is not tagged +# +chk_conf_tag () { + local conf_file + conf_file="$1" + RET=1 + + if [ -f "$conf_file" ]; then + if egrep -q "^## Begin - Generated by CARNet package mod-security-cn$" "$conf_file"; then + RET=0 + else + RET=2 + fi + fi +} + + case "$1" in remove|deconfigure) @@ -9,32 +31,40 @@ case "$1" in . /usr/share/carnet-tools/functions.sh PKG="mod-security-cn" - A2DIR="/etc/apache2" + A2DIR="/etc/apache2" CONFDIR="$A2DIR/conf.d" - MODSECCONF="$CONFDIR/mod-security-cn.conf" + MODSECDIR="$A2DIR/mod-security" + MODSECCONF="$MODSECDIR/mod-security-cn.conf" + MODSECRBL="$MODSECDIR/rbl_lookup.conf" + MODSECLNK="$CONFDIR/$(basename $MODSECCONF)" + need_restart=0 - # Remove configuration file generated by this CARNet package. - if [ -f "$MODSECCONF" ]; then - if egrep -q "^## Begin - Generated by CARNet package mod-security-cn$" "$MODSECCONF"; then - cp_echo "CN: Removing configuration file ${MODSECCONF}." - rm -f $MODSECCONF - need_restart=1 + + # Disable ModSecurity configuration. + chk_conf_tag "$MODSECCONF" + if [ $RET -eq 0 ]; then + if [ -e "$MODSECLNK" ]; then + cp_echo "CN: Disabling ModSecurity configuration." + rm -f "$MODSECLNK" + need_restart=1 fi fi + # Remove configuration files generated by this CARNet package. + for file in "$MODSECCONF" "$MODSECRBL"; do + chk_conf_tag "$file" + if [ $RET -eq 0 ]; then + cp_echo "CN: Removing configuration file $file" + rm -f $file + need_restart=1 + fi + done + # Restart Apache2 web server. - if [ $need_restart -eq 1 ]; then + if [ $need_restart -eq 1 ]; then if apache2ctl configtest 2>/dev/null; then - - # Restart Apache2 web server. - if [ -x "/etc/init.d/apache2" ]; then - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d apache2 restart || true - else - /etc/init.d/apache2 restart || true - fi - fi + invoke-rc.d apache2 force-reload || true else # Something is broken. cp_echo "CN: Your Apache2 configuration seem to be broken." @@ -55,4 +85,6 @@ case "$1" in ;; esac +#DEBHELPER# + exit 0