X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fscripts%2Ftest022-ppolicy;h=75682d6edd877013a9c3fe491c9d514c26659ab6;hb=df479246f6aef59f1414557ecffbc380359c303c;hp=b7e74b7c559fde81ede7d9008c28f40c90069970;hpb=13308a70aa2d44c52e48e73cbddf3f3b5e75940c;p=openldap diff --git a/tests/scripts/test022-ppolicy b/tests/scripts/test022-ppolicy index b7e74b7c55..75682d6edd 100755 --- a/tests/scripts/test022-ppolicy +++ b/tests/scripts/test022-ppolicy @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2004 The OpenLDAP Foundation. +## Copyright 1998-2005 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -36,6 +36,8 @@ KILLPIDS="$PID" USER="uid=nd, ou=People, dc=example, dc=com" PASS=testpassword +sleep 1 + echo "Using ldapsearch to check that slapd is running..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ @@ -48,12 +50,13 @@ for i in 0 1 2 3 4 5; do sleep 5 done if test $RC != 0 ; then - echo "ldapsearch failed $(RC)!" + echo "ldapsearch failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC fi echo "Using ldapadd to populate the database..." +# may need -e manageDIT for draft 09, but not yet. $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \ $LDIFPPOLICY > $TESTOUT 2>&1 RC=$? @@ -79,8 +82,8 @@ if test $COUNT != 2 ; then exit 1 fi -echo "Waiting 30 seconds for lockout to reset..." -sleep 30 +echo "Waiting 20 seconds for lockout to reset..." +sleep 20 $LDAPSEARCH -e ppolicy -h $LOCALHOST -p $PORT1 -D "$USER" -w $PASS \ -b "$BASEDN" -s base >> $SEARCHOUT 2>&1 @@ -91,15 +94,9 @@ if test $RC != 0 ; then exit $RC fi -echo "Testing password expiration..." -$LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \ - $TESTOUT 2>&1 << EOMODS -dn: uid=nd, ou=People, dc=example, dc=com -changetype: modify -replace: pwdChangedTime -pwdChangedTime: 20031231000001Z - -EOMODS +echo "Testing password expiration" +echo "Waiting 20 seconds for password to expire..." +sleep 20 $LDAPSEARCH -e ppolicy -h $LOCALHOST -p $PORT1 -D "$USER" -w $PASS \ -b "$BASEDN" -s base > $SEARCHOUT 2>&1 @@ -116,7 +113,7 @@ RC=$? if test $RC = 0 ; then echo "Password expiration failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC + exit 1 fi COUNT=`grep "grace logins" $SEARCHOUT | wc -l` @@ -211,7 +208,7 @@ RC=$? if test $RC = 0 ; then echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC + exit 1 fi echo "Testing forced reset..." @@ -240,7 +237,7 @@ RC=$? if test $RC = 0 ; then echo "Forced reset failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC + exit 1 fi COUNT=`grep "Operations are restricted" $SEARCHOUT | wc -l` @@ -284,7 +281,7 @@ RC=$? if test $RC = 0 ; then echo "Safe modify test 1 failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC + exit 1 fi sleep 2 @@ -308,7 +305,7 @@ RC=$? if test $RC = 0 ; then echo "Length requirement test failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC + exit 1 fi COUNT=`grep "Password fails quality" $TESTOUT | wc -l` if test $COUNT != 1 ; then @@ -317,6 +314,32 @@ if test $COUNT != 1 ; then exit 1 fi +echo "Testing hashed length requirement..." + +$LDAPMODIFY -h $LOCALHOST -p $PORT1 -D "$USER" -w failexpect > \ + $TESTOUT 2>&1 << EOMODS +dn: $USER +changetype: modify +delete: userPassword +userPassword: failexpect +- +add: userPassword +userPassword: {MD5}xxxxxx + +EOMODS +RC=$? +if test $RC = 0 ; then + echo "Hashed length requirement test failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit 1 +fi +COUNT=`grep "Password fails quality" $TESTOUT | wc -l` +if test $COUNT != 1 ; then + echo "Hashed length requirement test failed" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit 1 +fi + test $KILLSERVERS != no && kill -HUP $KILLPIDS echo ">>>>> Test succeeded"