diff --git a/lib/kadm5/check-cracklib.pl b/lib/kadm5/check-cracklib.pl new file mode 100755 index 000000000..61a2c51ab --- /dev/null +++ b/lib/kadm5/check-cracklib.pl @@ -0,0 +1,35 @@ +#!/usr/pkg/bin/perl +# +# Sample cracklib password verifier for Heimdals external password +# verifier, see the chapter "Password changing" in the the info +# documentation for more information about the protocol used. +# +# $Id$ + +use strict; +use Crypt::Cracklib; + +my $database = '/usr/pkg/libdata/pw_dict'; + +my %params; + +while (<>) { + last if /^end$/; + if (!/^([^:]+): (.+)$/) { + die "key value pair not correct: $_"; + } + $params{$1} = $2; +} + +die "missing password" if (!defined $params{'new-password'}); + +my $reason = fascist_check($params{'new-password'}, $database); + +if ($reason eq "ok") { + print "APPROVED\n"; +} else { + print "$reason\n"; +} + +exit 0 +