12de962bdSlukem#! /bin/sh 2d11b170bStron# $OpenLDAP$ 32de962bdSlukem## This work is part of OpenLDAP Software <http://www.openldap.org/>. 42de962bdSlukem## 5*e670fd5cSchristos## Copyright 1998-2021 The OpenLDAP Foundation. 62de962bdSlukem## All rights reserved. 72de962bdSlukem## 82de962bdSlukem## Redistribution and use in source and binary forms, with or without 92de962bdSlukem## modification, are permitted only as authorized by the OpenLDAP 102de962bdSlukem## Public License. 112de962bdSlukem## 122de962bdSlukem## A copy of this license is available in the file LICENSE in the 132de962bdSlukem## top-level directory of the distribution or, alternatively, at 142de962bdSlukem## <http://www.OpenLDAP.org/license.html>. 152de962bdSlukem 162de962bdSlukemecho "running defines.sh" 172de962bdSlukem. $SRCDIR/scripts/defines.sh 182de962bdSlukem 192de962bdSlukemmkdir -p $TESTDIR $DBDIR1 202de962bdSlukem 212de962bdSlukemecho "Running slapadd to build slapd database..." 22*e670fd5cSchristos. $CONFFILTER $BACKEND < $CONF > $CONF1 232de962bdSlukem$SLAPADD -f $CONF1 -l $LDIFORDERED 242de962bdSlukemRC=$? 252de962bdSlukemif test $RC != 0 ; then 262de962bdSlukem echo "slapadd failed ($RC)!" 272de962bdSlukem exit $RC 282de962bdSlukemfi 292de962bdSlukem 302de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 31*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 322de962bdSlukemPID=$! 332de962bdSlukemif test $WAIT != 0 ; then 342de962bdSlukem echo PID $PID 352de962bdSlukem read foo 362de962bdSlukemfi 372de962bdSlukemKILLPIDS="$PID" 382de962bdSlukem 392de962bdSlukemsleep 1 402de962bdSlukem 412de962bdSlukemecho "Testing slapd modify operations..." 422de962bdSlukemfor i in 0 1 2 3 4 5; do 43*e670fd5cSchristos $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ 442de962bdSlukem 'objectclass=*' > /dev/null 2>&1 452de962bdSlukem RC=$? 462de962bdSlukem if test $RC = 0 ; then 472de962bdSlukem break 482de962bdSlukem fi 492de962bdSlukem echo "Waiting 5 seconds for slapd to start..." 502de962bdSlukem sleep 5 512de962bdSlukemdone 522de962bdSlukem 532de962bdSlukemif test $RC != 0 ; then 542de962bdSlukem echo "ldapsearch failed ($RC)!" 552de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 562de962bdSlukem exit $RC 572de962bdSlukemfi 582de962bdSlukem 592de962bdSlukemecho "Testing modify, add, and delete..." 60*e670fd5cSchristos$LDAPMODIFY -v -D "$MANAGERDN" -H $URI1 -w $PASSWD > \ 61*e670fd5cSchristos $TESTOUT -f $LDIFMODIFY 622de962bdSlukemRC=$? 632de962bdSlukemif test $RC != 0 ; then 642de962bdSlukem echo "ldapmodify failed ($RC)!" 652de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 662de962bdSlukem exit $RC 672de962bdSlukemfi 682de962bdSlukem 692de962bdSlukemecho "Using ldapmodify to add an empty entry (should fail with protocolError)..." 70*e670fd5cSchristos$LDAPMODIFY -D "$MANAGERDN" -H $URI1 -w $PASSWD \ 712de962bdSlukem >> $TESTOUT 2>&1 << EOMODS 722de962bdSlukemdn: cn=Foo Bar,dc=example,dc=com 732de962bdSlukemchangetype: add 742de962bdSlukem# EMPTY SEQUENCE OF ATTRS 752de962bdSlukemEOMODS 762de962bdSlukem 772de962bdSlukemRC=$? 782de962bdSlukemcase $RC in 792de962bdSlukem2) 802de962bdSlukem echo " ldapmodify failed ($RC)" 812de962bdSlukem ;; 822de962bdSlukem0) 832de962bdSlukem echo " ldapmodify should have failed ($RC)!" 842de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 852de962bdSlukem exit -1 862de962bdSlukem ;; 872de962bdSlukem*) 882de962bdSlukem echo " ldapmodify failed ($RC)!" 892de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 902de962bdSlukem exit $RC 912de962bdSlukem ;; 922de962bdSlukemesac 932de962bdSlukem 942de962bdSlukemecho "Using ldapsearch to retrieve all the entries..." 95*e670fd5cSchristos$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \ 962de962bdSlukem 'objectClass=*' > $SEARCHOUT 2>&1 972de962bdSlukemRC=$? 982de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS 992de962bdSlukemif test $RC != 0 ; then 1002de962bdSlukem echo "ldapsearch failed ($RC)!" 1012de962bdSlukem exit $RC 1022de962bdSlukemfi 1032de962bdSlukem 104*e670fd5cSchristosLDIF=$MODIFYOUTPROVIDER 1052de962bdSlukem 1062de962bdSlukemecho "Filtering ldapsearch results..." 107ef2f90d3Sadam$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 1082de962bdSlukemecho "Filtering original ldif used to create database..." 109ef2f90d3Sadam$LDIFFILTER < $LDIF > $LDIFFLT 1102de962bdSlukemecho "Comparing filter output..." 1112de962bdSlukem$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 1122de962bdSlukem 1132de962bdSlukemif test $? != 0 ; then 1142de962bdSlukem echo "comparison failed - modify operations did not complete correctly" 1152de962bdSlukem exit 1 1162de962bdSlukemfi 1172de962bdSlukem 1182de962bdSlukemecho ">>>>> Test succeeded" 1192de962bdSlukem 1202de962bdSlukemtest $KILLSERVERS != no && wait 1212de962bdSlukem 1222de962bdSlukemexit 0 123