3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
5 ## Copyright 1998-2005 The OpenLDAP Foundation.
6 ## All rights reserved.
8 ## Redistribution and use in source and binary forms, with or without
9 ## modification, are permitted only as authorized by the OpenLDAP
12 ## A copy of this license is available in the file LICENSE in the
13 ## top-level directory of the distribution or, alternatively, at
14 ## <http://www.OpenLDAP.org/license.html>.
16 echo "running defines.sh"
17 . $SRCDIR/scripts/defines.sh
19 mkdir -p $TESTDIR $DBDIR1
21 echo "Starting slapd on TCP/IP port $PORT1..."
22 . $CONFFILTER $BACKEND $MONITORDB < $PWCONF > $CONF1
23 $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
25 if test $WAIT != 0 ; then
31 echo "Using ldapsearch to check that slapd is running..."
32 for i in 0 1 2 3 4 5; do
33 $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
34 'objectclass=*' > /dev/null 2>&1
36 if test $RC = 0 ; then
39 echo "Waiting 5 seconds for slapd to start..."
43 echo "Using ldapadd to populate the database..."
44 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
45 $LDIFPASSWD > $TESTOUT 2>&1
47 if test $RC != 0 ; then
48 echo "ldapadd failed ($RC)!"
49 test $KILLSERVERS != no && kill -HUP $KILLPIDS
56 echo "Using ldapsearch to verify population ..."
57 echo "++ Initial search" >> $SEARCHOUT
58 $LDAPSEARCH -h $LOCALHOST -p $PORT1 \
59 -D "$MANAGERDN" -w $PASSWD \
61 'objectclass=*' >> $SEARCHOUT 2>&1
63 echo "Using ldappasswd to test a few error conditions ..."
64 echo "Pass 0" >> $TESTOUT
65 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
66 -w secret -a "" -s newsecret \
67 -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
69 if test $RC = 0 ; then
70 echo "ldappasswd unexpectantly passed ($RC)! old empty"
71 test $KILLSERVERS != no && kill -HUP $KILLPIDS
74 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
75 -w secret -a oldsecret -s "" \
76 -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
78 if test $RC = 0 ; then
79 echo "ldappasswd unexpectantly passed ($RC)! new empty"
80 test $KILLSERVERS != no && kill -HUP $KILLPIDS
83 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
84 -w secret -a oldsecret -s newsecret \
85 -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
87 if test $RC = 0 ; then
88 echo "ldappasswd unexpectantly passed ($RC)! wrong old"
89 test $KILLSERVERS != no && kill -HUP $KILLPIDS
93 echo "Using ldappasswd (PASS 1) ..."
94 echo "Pass 1" >> $TESTOUT
95 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
96 -w secret -s newsecret \
97 -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
99 if test $RC != 0 ; then
100 echo "ldappasswd failed ($RC)!"
101 test $KILLSERVERS != no && kill -HUP $KILLPIDS
104 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
105 -w $PASSWD -s newsecret \
106 -D "$MANAGERDN" "cn=smd5, $BASEDN" >> $TESTOUT 2>&1
108 if test $RC != 0 ; then
109 echo "ldappasswd failed ($RC)!"
110 test $KILLSERVERS != no && kill -HUP $KILLPIDS
113 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
114 -w secret -s newsecret \
115 -D "cn=sha, $BASEDN" >> $TESTOUT 2>&1
117 if test $RC != 0 ; then
118 echo "ldappasswd failed ($RC)!"
119 test $KILLSERVERS != no && kill -HUP $KILLPIDS
122 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
123 -w secret -s newsecret \
124 -D "cn=ssha, $BASEDN" >> $TESTOUT 2>&1
126 if test $RC != 0 ; then
127 echo "ldappasswd failed ($RC)!"
128 test $KILLSERVERS != no && kill -HUP $KILLPIDS
133 echo "Pass 2" >> $TESTOUT
134 echo "Using ldappasswd (PASS 2) ..."
135 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
137 -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
139 if test $RC != 0 ; then
140 echo "ldappasswd failed ($RC)!"
141 test $KILLSERVERS != no && kill -HUP $KILLPIDS
144 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
146 -D "cn=smd5, $BASEDN" >> $TESTOUT 2>&1
148 if test $RC != 0 ; then
149 echo "ldappasswd failed ($RC)!"
150 test $KILLSERVERS != no && kill -HUP $KILLPIDS
153 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
155 -D "cn=sha, $BASEDN" >> $TESTOUT 2>&1
157 if test $RC != 0 ; then
158 echo "ldappasswd failed ($RC)!"
159 test $KILLSERVERS != no && kill -HUP $KILLPIDS
162 $LDAPPASSWD -h $LOCALHOST -p $PORT1 \
164 -D "cn=ssha, $BASEDN" >> $TESTOUT 2>&1
166 if test $RC != 0 ; then
167 echo "ldappasswd failed ($RC)!"
168 test $KILLSERVERS != no && kill -HUP $KILLPIDS
172 echo "Logging end state with ldapsearch..."
174 echo "++ End search" >> $TESTOUT
175 $LDAPSEARCH -h $LOCALHOST -p $PORT1 \
176 -D "$MANAGERDN" -w $PASSWD \
178 'objectclass=*' >> $TESTOUT 2>&1
181 test $KILLSERVERS != no && kill -HUP $KILLPIDS
183 echo ">>>>> Test succeeded"