[ "$1" = "configure" ] || exit 0
[ $DEBIAN_SCRIPT_DEBUG ] && set -vx
-
-# Load debconf
-. /usr/share/debconf/confmodule
-
# Include CARNet functions
. /usr/share/carnet-tools/functions.sh
PKG="squirrelmail-change-pass-cn"
-VERSION="3.0-2"
+VERSION="3.1.0"
SQCONFDIR="/etc/squirrelmail"
SQCONF="$SQCONFDIR/config.php"
-SQCPCONF="$SQCONFDIR/config_change_pass.php"
-CPCONF="/usr/share/squirrelmail/plugins/change_pass/config.php"
need_restart=0
-min_pass_changed=0
-temp_files=
-
-set_min_pass_length () {
-
- local sed_re conf_file
- conf_re="$1"
- conf_file="$2"
- temp_files="$temp_files $conf_file.dpkg-tmp"
-
- sed "$conf_re" "$conf_file" > "$conf_file.dpkg-tmp"
-
- if ! cmp -s "$conf_file" "$conf_file.dpkg-tmp" 2>&1 >/dev/null; then
- cp_mv "$conf_file.dpkg-tmp" "$conf_file"
- min_pass_changed=1
- else
- rm -f "$conf_file.dpkg-tmp"
- fi
-}
-
-cleanup () {
-
- if [ -n "$temp_files" ]; then
- for temp_item in $temp_files; do
- if [ -e "$temp_item" ]; then
- rm -f $temp_item
- fi
- done
- fi
-}
-
-trap cleanup 0 1 2 15
# Configure poppassd to refuse connection from all hosts
fi
-# First of all, do the backup.
-#
-done_backup=0
-for cpconf_file in $SQCPCONF $CPCONF; do
- if [ -f "$cpconf_file" ] && [ ! -L "$cpconf_file" ]; then
- cp_echo "CN: Doing backup for $cpconf_file"
- cp_backup_conffile -d "/var/backups/$PKG" -p $cpconf_file
- done_backup=1
- fi
-done
-if [ $done_backup -eq 1 ]; then
- cp_echo "CN: Backup is located in directory: /var/backups/$PKG/"
-fi
-
-
-# Remove change_pass configuration files if earlier version is
-# older than 3.0-1.
-#
-if [ "$2" ] && dpkg --compare-versions $2 lt 3.0-1; then
-
- cp_echo "CN: This version of change_pass plugin contains major changes."
- for cpconf_file in $SQCPCONF $CPCONF; do
- if [ -f "$cpconf_file" ] || [ -L "$cpconf_file" ]; then
- rm -f $cpconf_file
- cp_echo "CN: Removed old $cpconf_file"
- fi
- done
-fi
-
-
-# Check for change_pass configuration files and notify user about
-# minimum password length configuration.
-#
-if egrep -q '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then
- /usr/sbin/squirrelmail-configure --remove-plugin change_pass
-fi
-
-if [ ! -f "$SQCPCONF" ]; then
-
- if [ -f "$CPCONF" ]; then
- cp -f "$CPCONF" "$SQCPCONF"
- cp_echo "CN: $CPCONF copied to $SQCPCONF"
- else
-
- # Configuration file does not exist.
- cp_echo "CN: Generating new file $SQCPCONF"
- cat > "$SQCPCONF" <<EOF
-<?php
-//// Begin - Generated by CARNet package $PKG
-//
-// REMOVE this whole block if you DON'T WANT $PKG
-// to edit your configuration file.
-//
-//// End - Generated by CARNet package $PKG
- \$min_pass_length = 8;
-
- // The default server is the configured IMAP server
- #\$poppass_server = 'localhost';
-
- // The default port is 106
- #\$poppass_port = 106;
-
- \$max_pass_length = 9999999;
-EOF
- min_pass_changed=1
- fi
-fi
-
-if [ $min_pass_changed -eq 0 ]; then
-
- echo "CN: Checking for minimum password length configuration."
-
- cn_tag_re="^\/\/\/\/ Begin - Generated by CARNet package $PKG$"
- seddef="/^[[:space:]]*\\\$min_pass_length[[:space:]]*=[^;]*;[[:space:]]*$/d;
- s/\\\$min_pass_length[[:space:]]*=[^;]*;//g;"
-
- if egrep -q "$cn_tag_re" "$SQCPCONF"; then
-
- # Configuration file is tagged by CARNet.
- seddef="$seddef /^\/\/\/\/ End - Generated by CARNet package $PKG$/s/\(.*\)/\1\n"
- seddef="$seddef \\\$min_pass_length = 8;/"
- set_min_pass_length "$seddef" "$SQCPCONF"
- else
-
- if dpkg --compare-versions "$2" lt 3.0-2; then
-
- # Add CARNet package info lines to config's header and set up $min_pass_length.
- seddef="$seddef 0,/?>/s/^[[:space:]]*\(<?php\|<?\)\(.*\)/\1\n"
- seddef="$seddef\/\/\/\/ Begin - Generated by CARNet package $PKG\n\/\/\n"
- seddef="$seddef\/\/ REMOVE this whole block if you DON'T WANT $PKG\n"
- seddef="$seddef\/\/ to edit your configuration file.\n\/\/\n"
- seddef="$seddef\/\/\/\/ End - Generated by CARNet package $PKG\n"
- seddef="$seddef \\\$min_pass_length = 8;\n\2/"
- set_min_pass_length "$seddef" "$SQCPCONF"
- fi
- fi
-fi
-
-# Just to be sure.
-ln -sf "$SQCPCONF" "$CPCONF"
-
-if [ $min_pass_changed -eq 1 ]; then
- db_fset squirrelmail-change-pass-cn/min_pass_length seen false
- db_title squirrelmail-change-pass-cn - konfiguracija
- db_input critical squirrelmail-change-pass-cn/min_pass_length || true
- db_go || true
- cp_echo "CN: Minimum password length has been set to 8 characters."
-fi
-
-db_stop || true
-
-
# Enable change_pass plugin in SquirrelMail config.php.
#
if ! egrep -q '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then
-
- if cp_check_and_backup "$SQCONF"; then
- cp_echo "CN: Old $SQCONF saved as \"/var/backups/${SQCONF##*/}.bak\"."
- fi
-
- /usr/sbin/squirrelmail-configure --install-plugin change_pass
+ squirrelmail-configure --install-plugin change_pass
fi
# Service configuration is saved in /etc/xinetd.d/ directory.
#
if [ -x /etc/init.d/xinetd -a -d /etc/xinetd.d -a -x /usr/sbin/itox ]; then
-
if egrep -q '^poppassd' /etc/inetd.conf && \
[ ! -f /etc/xinetd.d/poppassd ]; then
# Restart xinetd if needed.
#
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 $?
#
cp_mail "$PKG"
+#DEBHELPER#
+
exit 0