Uklonjen dio za backupiranje change_pass konfiguracije.
[squirrelmail-change-pass-cn.git] / debian / postinst
index 3811f55..dc5c3bd 100644 (file)
@@ -5,51 +5,37 @@ set -e
 [ "$1" = "configure" ] || exit 0
 [ $DEBIAN_SCRIPT_DEBUG ] && set -vx
 
-
-PKG="squirrelmail-change-pass-cn"
-SQCONF=/etc/squirrelmail/config.php
-
 # Include CARNet functions
 . /usr/share/carnet-tools/functions.sh
 
+PKG="squirrelmail-change-pass-cn"
+VERSION="3.0.2"
+SQCONFDIR="/etc/squirrelmail"
+SQCONF="$SQCONFDIR/config.php"
+need_restart=0
+
 
 # Configure poppassd to refuse connection from all hosts
 # but localhost (127.0.0.1).
 #
-if [ -e /etc/hosts.deny -a -e /etc/hosts.allow ]; then
-
-  if ! egrep -q '^poppassd:' /etc/hosts.deny; then
-       echo "poppassd: ALL" | cp-update "$PKG" /etc/hosts.deny
-  fi
-
-  if ! egrep -q '^poppassd:' /etc/hosts.allow; then
-       echo "poppassd: 127.0.0.1" | cp-update "$PKG" /etc/hosts.allow
-  fi
+if [ ! -f /etc/hosts.deny ]; then
+    touch /etc/hosts.deny
+fi
+if ! egrep -q '^poppassd:' /etc/hosts.deny; then
+    echo "poppassd: ALL" | cp-update "$PKG" /etc/hosts.deny
+fi
+if [ ! -f /etc/hosts.allow ]; then
+    touch /etc/hosts.allow
+fi
+if ! egrep -q '^poppassd:' /etc/hosts.allow; then
+    echo "poppassd: 127.0.0.1" | cp-update "$PKG" /etc/hosts.allow
 fi
 
 
 # Enable change_pass plugin in SquirrelMail config.php.
 #
-if ! egrep '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then
-
-  sq_last_plugin=`egrep '^\\$plugins\[[0-9]+\][\ ]*=[\ ]*'\' "$SQCONF" | sed 's/^.*\[//;s/\].*//' | sort -n | tail -n1` || true
-  
-  if [ -n "$sq_last_plugin" ]; then
-
-       # Backup SquirrelMail configuration file.
-       cp_check_and_backup "$SQCONF"
-
-       change_pass_num=$sq_last_plugin
-       let change_pass_num++
-       
-       SQCONFTMP=`mktemp $SQCONF.tmp.XXXXXX`
-
-       echo -n "CN: Enabling SquirrelMail change_pass plugin in $SQCONF"
-       sed '/^$plugins\[.*'${sq_last_plugin}'\]/a $plugins['${change_pass_num}'] = '\''change_pass'\'';' "$SQCONF" > "$SQCONFTMP"
-       cp_mv "$SQCONFTMP" "$SQCONF"
-       echo "."
-  fi
-
+if ! egrep -q '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then
+    /usr/sbin/squirrelmail-configure --install-plugin change_pass
 fi
 
 
@@ -58,32 +44,39 @@ fi
 #
 if [ -x /etc/init.d/xinetd -a -d /etc/xinetd.d -a -x /usr/sbin/itox ]; then
 
-  if egrep -q '^poppassd' /etc/inetd.conf && \
-     [ ! -e /etc/xinetd.d/poppassd ]; then
+    if egrep -q '^poppassd' /etc/inetd.conf && \
+        [ ! -f /etc/xinetd.d/poppassd ]; then
+
+        cp_echo "CN: Enabling poppassd in /etc/xinetd.d/poppassd"
 
-       echo -n "CN: Enabling poppassd in /etc/xinetd.d/poppassd"
-       grep "^poppassd" /etc/inetd.conf  | \
-               itox -daemon_dir /usr/sbin | cp-update "$PKG" /etc/xinetd.d/poppassd
-       changed_config=1
-       echo "."
-  fi
+        touch /etc/xinetd.d/poppassd.$$
+        grep "^poppassd" /etc/inetd.conf  | \
+            itox -daemon_dir /usr/sbin | cp-update "$PKG" /etc/xinetd.d/poppassd.$$
+        cp_mv /etc/xinetd.d/poppassd.$$ /etc/xinetd.d/poppassd
+
+        need_restart=1
+    fi
 fi
 
 
 # Restart xinetd if needed.
 #
-[ "$changed_config" ] && do=reload
-pgrep -u root -f /usr/sbin/xinetd > /dev/null || do=start
-
-if [ "$do" ]; then
-
-       if [ -x "/etc/init.d/xinetd" ]; then
-               if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
-                       invoke-rc.d xinetd "$do" || exit $?
-               else
-                       /etc/init.d/xinetd "$do" || exit $?
-               fi
-       fi
+if [ $need_restart -eq 1 ]; then
+
+    if [ -x "/etc/init.d/xinetd" ]; then
+        if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+            invoke-rc.d xinetd restart || exit $?
+        else
+            /etc/init.d/xinetd restart || exit $?
+        fi
+    fi
 fi
 
+
+# Mail root
+#
+cp_mail "$PKG"
+
+#DEBHELPER#
+
 exit 0