#!/bin/sh set -e [ "$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" 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 # but localhost (127.0.0.1). # 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 # Configure SquirrelMail change_pass plugin - using defaults, # no 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." cp_echo "CN: For detailed description, see documentation in /usr/share/doc/$PKG/." if [ -f "$SQCPCONF" ]; then mv -f "$SQCPCONF" "$SQCPCONF.cn-old" cp_echo "CN: Old $SQCPCONF disabled and renamed to $SQCPCONF.cn-old." fi if [ -f "$CPCONF" ]; then mv -f "$CPCONF" "$CPCONF.cn-old" cp_echo "CN: Old $CPCONF disabled and renamed to $CPCONF.cn-old." fi fi # Check for change_pass configuration file and notify user about # minimum password length configuration. # if [ ! -f "$SQCPCONF" ] && [ ! -f "$CPCONF" ]; then # Configuration file does not exist. cp_echo "CN: Generating new file $CPCONF" cat > "$CPCONF" </dev/null`" ]; then invoke-rc.d xinetd restart || exit $? else /etc/init.d/xinetd restart || exit $? fi fi fi # Mail root # cp_mail "$PKG" exit 0