#!/bin/sh 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 # 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 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 fi # Convert poppassd service from inetd.conf to xinetd.conf type. # 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 && \ [ ! -e /etc/xinetd.d/poppassd ]; then echo -n "CN: Enabling poppassd in /etc/xinetd.d/poppassd" 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 changed_config=1 echo "." 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 fi exit 0