Prva verzija za buster.
[mod-security-cn.git] / debian / prerm
index e9c9a13..2acd7c1 100644 (file)
@@ -2,94 +2,69 @@
 
 set -e
 
+PKG=mod-security-cn
+
+MODSECCONF=/etc/apache2/mod-security/$PKG.conf
+MODSECRBL=/etc/apache2/mod-security/rbl_lookup.conf
+MODSECLNK=/etc/apache2/conf-available/security2-cn.conf
+
 # chk_conf_tag ()
 #
-#   Check if configuration file has CARNet package info lines.
+#   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
+  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)
-
-        # Include CARNet functions.
-        . /usr/share/carnet-tools/functions.sh
-
-        PKG="mod-security-cn"
-        A2DIR="/etc/apache2"
-        CONFDIR="$A2DIR/conf.d"
-        MODSECDIR="$A2DIR/mod-security"
-        MODSECCONF="$MODSECDIR/mod-security-cn.conf"
-
-        need_restart=0
-
-
-        # Disable ModSecurity configuration.
-        chk_conf_tag "$MODSECCONF"
-        if [ $RET -eq 0 ]; then
-            if [ -e "$CONFDIR/mod-security-cn.conf" ]; then
-                cp_echo "CN: Disabling ModSecurity configuration."
-                rm -f "$CONFDIR/mod-security-cn.conf"
-                need_restart=1
-            fi
-        fi
-
-        # Remove configuration files generated by this CARNet package.
-        for file in "$MODSECCONF" "$MODSECDIR/rbl_lookup.conf"; do
-            chk_conf_tag "$file"
-            if [ $RET -eq 0 ]; then
-                cp_echo "CN: Removing configuration file $file"
-                rm -f $file
-                need_restart=1
-            fi
-        fi
-
-        # Restart Apache2 web server.
-       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
-            else
-                # Something is broken.
-                cp_echo "CN: Your Apache2 configuration seem to be broken."
-                cp_echo "CN: Please, check the service configuration!"
-            fi
-        fi
-
-        # Mail root
-        cp_mail "$PKG"
-
-        echo
-        ;;
-    upgrade|failed-upgrade)
-        ;;
-    *)
-        echo "prerm called with unknown argument \$1'" >&2
-        exit 0
-        ;;
-esac
+if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then
+  . /usr/share/apache2/apache2-maintscript-helper
+
+  modsecurity_enable() {
+    chk_conf_tag "$MODSECLNK"
+    if [ $RET -ne 2 ]; then
+      echo "CN: Disabling $PKG configuration for Apache2."
+      return 0
+    fi
+    return 1
+  }
+else
+  echo "CN: Could not load Apache 2.4 maintainer script helper."
+
+  modsecurity_enable() {
+    return 1
+  }
+fi
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+  # Disable ModSecurity configuration.
+  if modsecurity_enable; then
+    apache2_invoke disconf security2-cn
+    rm -f "$MODSECLNK"
+  fi
+
+  # Remove configuration files generated by this CARNET package.
+  for mfile in "$MODSECCONF" "$MODSECRBL"; do
+    chk_conf_tag "$mfile"
+    if [ $RET -eq 0 ]; then
+      echo "CN: Removing configuration file $mfile"
+      rm -f "$mfile"
+    fi
+  done
+fi
+
+#DEBHELPER#
 
 exit 0