mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-22 23:59:34 -05:00
Includes support for update referral for each replicated backend. Reworked replication test to use update referral. Includes major rewrite of response encoding codes (result.c). Includes reworked alias support and eliminates old suffix alias codes (can be emulated using named alias). Includes (untested) support for the Manage DSA IT control. Works in LDAPv2 world. Still testing in LDAPv3 world. Added default referral (test009) test.
106 lines
2.2 KiB
Bash
Executable file
106 lines
2.2 KiB
Bash
Executable file
#! /bin/sh
|
|
|
|
if test $# -eq 0 ; then
|
|
SRCDIR="."
|
|
else
|
|
SRCDIR=$1; shift
|
|
fi
|
|
if test $# -eq 1 ; then
|
|
BACKEND=$1; shift
|
|
fi
|
|
|
|
echo "running defines.sh $SRCDIR $BACKEND"
|
|
. $SRCDIR/scripts/defines.sh
|
|
|
|
echo "Cleaning up in $DBDIR..."
|
|
|
|
rm -f $DBDIR/[!C]*
|
|
|
|
echo "Running ldif2ldbm to build slapd database..."
|
|
$LDIF2LDBM -f $CONF -i $LDIF -e ../servers/slapd/tools
|
|
RC=$?
|
|
if test $RC != 0 ; then
|
|
echo "ldif2ldbm failed!"
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Starting slapd on TCP/IP port $PORT..."
|
|
$SLAPD -f $CONF -p $PORT -d $LVL $TIMING > $MASTERLOG 2>&1 &
|
|
PID=$!
|
|
|
|
echo "Testing slapd searching..."
|
|
for i in 0 1 2 3 4 5; do
|
|
$LDAPSEARCH -L -s base -b "$MONITOR" -h localhost -p $PORT \
|
|
'objectclass=*' > /dev/null 2>&1
|
|
RC=$?
|
|
if test $RC = 1 ; then
|
|
echo "Waiting 5 seconds for slapd to start..."
|
|
sleep 5
|
|
fi
|
|
done
|
|
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
cat /dev/null > $SEARCHOUT
|
|
|
|
echo "Testing exact searching..."
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'sn=jensen' >> $SEARCHOUT 2>&1
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Testing OR searching..."
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'(|(objectclass=rfc822mailgroup)(sn=jones))' >> $SEARCHOUT 2>&1
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Testing AND matching and ends-with searching..."
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'(&(objectclass=rfc822mailgroup)(cn=A*))' >> $SEARCHOUT 2>&1
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Testing NOT searching..."
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'(!(objectclass=person))' >> $SEARCHOUT 2>&1
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
kill -HUP $PID
|
|
|
|
TESTOUT=$SEARCHOUT
|
|
LDIF=$SEARCHOUTMASTER
|
|
|
|
echo "Filtering ldapsearch results..."
|
|
. $SRCDIR/scripts/acfilter.sh < $SEARCHOUT > $SEARCHFLT
|
|
echo "Filtering original ldif used to create database..."
|
|
. $SRCDIR/scripts/acfilter.sh < $LDIF > $LDIFFLT
|
|
echo "Comparing filter output..."
|
|
cmp $SEARCHFLT $LDIFFLT
|
|
|
|
if test $? != 0 ; then
|
|
echo "Comparison failed"
|
|
exit 1
|
|
fi
|
|
|
|
echo ">>>>> Test succeeded"
|
|
|
|
|
|
exit 0
|