From 849101efcfa61514aed2280735a17d8551bca5af Mon Sep 17 00:00:00 2001 From: Dragan Dosen Date: Tue, 9 Feb 2010 23:00:53 +0100 Subject: [PATCH] Automatsko podesavanje minimalne duzine zaporke (8 znakova) u konfiguraciji change_pass dodatka. (rijeseno: #9565) Izmjene unutar datoteka: debian/postinst, debian/prerm i debian/control. Datoteka config_example.php prebacena je u direktorij /usr/share/doc/squirrelmail-change-pass-cn/examples/. Azurirana datoteka README.CARNet. --- debian/README.CARNet | 7 ++- debian/changelog | 12 +++++ debian/control | 2 +- debian/examples | 1 + debian/postinst | 135 ++++++++++++++++++++++++++++++++++++++++++++++---- debian/prerm | 15 +++++- debian/rules | 4 +- debian/templates | 12 +++++ 8 files changed, 171 insertions(+), 17 deletions(-) create mode 100644 debian/examples create mode 100644 debian/templates diff --git a/debian/README.CARNet b/debian/README.CARNet index 936e468..e34b51b 100644 --- a/debian/README.CARNet +++ b/debian/README.CARNet @@ -31,6 +31,11 @@ ili /etc/squirrelmail/config_change_pass.php +Paket automatski podesava minimalnu duzinu zaporke na 8 znakova - +duzina zaporke nije odredjena PAM konfiguracijom, vec je definirana +u konfiguracijskoj datoteci za change_pass dodatak (varijabla +$min_pass_length). + Dokumentacija se nalazi unutar direktorija: /usr/share/doc/squirrelmail-change-pass-cn/ @@ -40,4 +45,4 @@ Izvorni odrzavatelj paketa: Zoran Dzelajlija . Trenutno odrzava: Dragan Dosen . - -- Dragan Dosen Thu, 28 May 2009 12:35:18 +0200 + -- Dragan Dosen Mon, 8 Feb 2010 22:29:11 +0100 diff --git a/debian/changelog b/debian/changelog index 54db6b8..8a65e71 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +squirrelmail-change-pass-cn (3.0-2) stable; urgency=low + + * Automatsko podesavanje minimalne duzine zaporke (8 znakova) + u konfiguraciji change_pass dodatka. (rijeseno: #9565) + * Izmjene unutar datoteka: debian/postinst, debian/prerm i + debian/control. + * Datoteka config_example.php prebacena je u direktorij + /usr/share/doc/squirrelmail-change-pass-cn/examples/. + * Azurirana datoteka README.CARNet. + + -- Dragan Dosen Mon, 8 Feb 2010 22:29:11 +0100 + squirrelmail-change-pass-cn (3.0-1) stable; urgency=low * Upgrade paketa za Debian lenny. diff --git a/debian/control b/debian/control index 6dbfd20..d65a85d 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Standards-Version: 3.7.2 Package: squirrelmail-change-pass-cn Architecture: all -Depends: squirrelmail-cn (>= 2:1.4.15-2lenny1), squirrelmail-compatibility (>= 2.0.12-1), xinetd-cn (>= 1:2.3.14-3lenny1), poppassd (>= 1.8.5-3.2), carnet-tools-cn (>= 2.8.1) +Depends: squirrelmail-cn (>= 2:1.4.15-2lenny1), squirrelmail-compatibility (>= 2.0.12-1), xinetd-cn (>= 1:2.3.14-3lenny1), poppassd (>= 1.8.5-3.2), carnet-tools-cn (>= 2.8.1), ${misc:Depends} Description: change passwords from SquirrelMail via poppassd change_pass is a SquirrelMail plugin that lets you change your password using poppassd service. This is pretty safe if the diff --git a/debian/examples b/debian/examples new file mode 100644 index 0000000..d42df99 --- /dev/null +++ b/debian/examples @@ -0,0 +1 @@ +change_pass/config_example.php diff --git a/debian/postinst b/debian/postinst index f56b7ac..f515ad7 100644 --- a/debian/postinst +++ b/debian/postinst @@ -6,17 +6,51 @@ set -e [ $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-1" +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 () { -# Include CARNet functions -. /usr/share/carnet-tools/functions.sh + 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 @@ -37,21 +71,100 @@ fi # Configure SquirrelMail change_pass plugin - using defaults, -# no configuration files. +# no configuration files if earlier version is older than 3.0-1. # -if [ "$2" ] && dpkg --compare-versions $2 lt $VERSION; then +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 -if [ -f "$SQCPCONF" ]; then - mv -f "$SQCPCONF" "$SQCPCONF.cn-old" - cp_echo "CN: Old $SQCPCONF disabled and renamed to $SQCPCONF.cn-old." + + +# 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" <