File: update-cracklib

package info (click to toggle)
cracklib2 2.9.6-3.4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,220 kB
  • sloc: sh: 11,843; ansic: 2,652; xml: 365; python: 288; makefile: 216; sed: 16
file content (46 lines) | stat: -rw-r--r-- 1,182 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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
    processed=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 [ $processed = 0 ]
            then
                /usr/sbin/cracklib-format ${cracklib_dictpath_src} | \
                /usr/sbin/cracklib-packer
                processed=1
                echo "${cracklib_dictpath_src}" > \
                    /var/cache/cracklib/src-dicts
            fi
        fi
    done
fi

exit 0