#!/bin/sh
# update-cracklib - Regenerate cracklib word lists
#
# This script is based on the original cron job written by Jean Pierre
# LeJacq <jplejacq@quoininc.com>.
set -e
umask 0022
if [ -r "/etc/cracklib/cracklib.conf" ] ; then
. /etc/cracklib/cracklib.conf
else
echo "ERROR: cannot read configuration file /etc/cracklib/cracklib.conf"
exit 1
fi
if [ ! -d /var/cache/cracklib/ ] ; then
install -d -m 755 /var/cache/cracklib/
fi
if [ -n "${cracklib_dictpath_src}" -a -n "${cracklib_dictpath}" ] ; then
export LC_COLLATE=C
updated=0
for i in ${cracklib_dictpath_src} ; do
if ! [ -e /var/cache/cracklib/src-dicts ] || \
! grep -q "$i" /var/cache/cracklib/src-dicts || \
! [ -e "${cracklib_dictpath}.pwd" ] || \
[ "$i" -nt "${cracklib_dictpath}.pwd" ] ; then
if [ $updated = 0 ] ; then
/usr/sbin/cracklib-format ${cracklib_dictpath_src} | /usr/sbin/cracklib-packer
updated=1
echo "${cracklib_dictpath_src}" > /var/cache/cracklib/src-dicts
fi
fi
done
fi
exit 0