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 192de962bdSlukemif test $BACKSQL = "sqlno" ; then 202de962bdSlukem echo "SQL backend not available, test skipped" 212de962bdSlukem exit 0 222de962bdSlukemfi 232de962bdSlukem 242de962bdSlukemif test $RDBMS = "rdbmsno" ; then 252de962bdSlukem echo "SQL test not requested, test skipped" 262de962bdSlukem exit 0 272de962bdSlukemfi 282de962bdSlukem 292de962bdSlukemmkdir -p $TESTDIR 302de962bdSlukem 312de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 32*e670fd5cSchristos. $CONFFILTER $BACKEND < $SQLCONF > $CONF1 33*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 342de962bdSlukemPID=$! 352de962bdSlukemif test $WAIT != 0 ; then 362de962bdSlukem echo PID $PID 372de962bdSlukem read foo 382de962bdSlukemfi 392de962bdSlukemKILLPIDS="$PID" 402de962bdSlukem 412de962bdSlukemecho "Testing SQL backend read 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 592de962bdSlukemBASEDN="dc=example,dc=com" 602de962bdSlukemBINDDN="cn=Mitya Kovalev,${BASEDN}" 612de962bdSlukemBINDPW="mit" 622de962bdSlukemecho -n "Testing correct bind... " 63*e670fd5cSchristos$LDAPWHOAMI -H $URI1 -D "$BINDDN" -w $BINDPW 642de962bdSlukemRC=$? 652de962bdSlukemif test $RC != 0 ; then 662de962bdSlukem echo "ldapwhoami failed ($RC)!" 672de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 682de962bdSlukem exit $RC 692de962bdSlukemfi 702de962bdSlukem 712de962bdSlukemecho -n "Testing incorrect bind (should fail)... " 72*e670fd5cSchristos$LDAPWHOAMI -H $URI1 -D "$BINDDN" -w "XXX" 732de962bdSlukemRC=$? 742de962bdSlukemif test $RC = 0 ; then 752de962bdSlukem echo "ldapwhoami should have failed ($RC)!" 762de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 772de962bdSlukem exit 1 782de962bdSlukemfi 792de962bdSlukem 802de962bdSlukemecho "Testing baseobject search..." 812de962bdSlukemecho "# Testing baseobject search..." >> $SEARCHOUT 82*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -s base -S "" \ 832de962bdSlukem >> $SEARCHOUT 2>&1 842de962bdSlukem 852de962bdSlukemRC=$? 862de962bdSlukemif test $RC != 0 ; then 872de962bdSlukem echo "ldapsearch failed ($RC)!" 882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 892de962bdSlukem exit $RC 902de962bdSlukemfi 912de962bdSlukem 922de962bdSlukemecho "Testing onelevel search..." 932de962bdSlukemecho "# Testing onelevel search..." >> $SEARCHOUT 94*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -s one -S "" \ 952de962bdSlukem >> $SEARCHOUT 2>&1 962de962bdSlukem 972de962bdSlukemRC=$? 982de962bdSlukemif test $RC != 0 ; then 992de962bdSlukem echo "ldapsearch failed ($RC)!" 1002de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1012de962bdSlukem exit $RC 1022de962bdSlukemfi 1032de962bdSlukem 1042de962bdSlukemecho "Testing subtree search..." 1052de962bdSlukemecho "# Testing subtree search..." >> $SEARCHOUT 106*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 1072de962bdSlukem >> $SEARCHOUT 2>&1 1082de962bdSlukem 1092de962bdSlukemRC=$? 1102de962bdSlukemif test $RC != 0 ; then 1112de962bdSlukem echo "ldapsearch failed ($RC)!" 1122de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1132de962bdSlukem exit $RC 1142de962bdSlukemfi 1152de962bdSlukem 1162de962bdSlukemecho "Testing subtree search with manageDSAit..." 1172de962bdSlukemecho "# Testing subtree search with manageDSAit..." >> $SEARCHOUT 118*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -M -S "" '*' ref \ 1192de962bdSlukem >> $SEARCHOUT 2>&1 1202de962bdSlukem 1212de962bdSlukemRC=$? 1222de962bdSlukemif test $RC != 0 ; then 1232de962bdSlukem echo "ldapsearch failed ($RC)!" 1242de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1252de962bdSlukem exit $RC 1262de962bdSlukemfi 1272de962bdSlukem 1282de962bdSlukemecho "Testing invalid filter..." 1292de962bdSlukemecho "# Testing invalid filter..." >> $SEARCHOUT 130*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(foo=)" \ 1312de962bdSlukem >> $SEARCHOUT 2>&1 1322de962bdSlukem 1332de962bdSlukemRC=$? 1342de962bdSlukemif test $RC != 0 ; then 1352de962bdSlukem echo "ldapsearch failed ($RC)!" 1362de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1372de962bdSlukem exit $RC 1382de962bdSlukemfi 1392de962bdSlukem 1402de962bdSlukemecho "Testing exact search..." 1412de962bdSlukemecho "# Testing exact search..." >> $SEARCHOUT 142*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(sn=Kovalev)" \ 1432de962bdSlukem >> $SEARCHOUT 2>&1 1442de962bdSlukem 1452de962bdSlukemRC=$? 1462de962bdSlukemif test $RC != 0 ; then 1472de962bdSlukem echo "ldapsearch failed ($RC)!" 1482de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1492de962bdSlukem exit $RC 1502de962bdSlukemfi 1512de962bdSlukem 1522de962bdSlukemecho "Testing substrings initial search..." 1532de962bdSlukemecho "# Testing substrings initial search..." >> $SEARCHOUT 154*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(cn=m*)" \ 1552de962bdSlukem >> $SEARCHOUT 2>&1 1562de962bdSlukem 1572de962bdSlukemRC=$? 1582de962bdSlukemif test $RC != 0 ; then 1592de962bdSlukem echo "ldapsearch failed ($RC)!" 1602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1612de962bdSlukem exit $RC 1622de962bdSlukemfi 1632de962bdSlukem 1642de962bdSlukemecho "Testing substrings any search..." 1652de962bdSlukemecho "# Testing substrings any search..." >> $SEARCHOUT 166*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(cn=*m*)" \ 1672de962bdSlukem >> $SEARCHOUT 2>&1 1682de962bdSlukem 1692de962bdSlukemRC=$? 1702de962bdSlukemif test $RC != 0 ; then 1712de962bdSlukem echo "ldapsearch failed ($RC)!" 1722de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1732de962bdSlukem exit $RC 1742de962bdSlukemfi 1752de962bdSlukem 1762de962bdSlukemecho "Testing substrings final search..." 1772de962bdSlukemecho "# Testing substrings final search..." >> $SEARCHOUT 178*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(cn=*v)" \ 1792de962bdSlukem >> $SEARCHOUT 2>&1 1802de962bdSlukem 1812de962bdSlukemRC=$? 1822de962bdSlukemif test $RC != 0 ; then 1832de962bdSlukem echo "ldapsearch failed ($RC)!" 1842de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1852de962bdSlukem exit $RC 1862de962bdSlukemfi 1872de962bdSlukem 1882de962bdSlukemecho "Testing approx search..." 1892de962bdSlukemecho "# Testing approx search..." >> $SEARCHOUT 190*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" "(sn~=kovalev)" \ 1912de962bdSlukem >> $SEARCHOUT 2>&1 1922de962bdSlukem 1932de962bdSlukemRC=$? 1942de962bdSlukemif test $RC != 0 ; then 1952de962bdSlukem echo "ldapsearch failed ($RC)!" 1962de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1972de962bdSlukem exit $RC 1982de962bdSlukemfi 1992de962bdSlukem 2002de962bdSlukemecho "Testing extensible filter search..." 2012de962bdSlukemecho "# Testing extensible filter search..." >> $SEARCHOUT 202*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2032de962bdSlukem "(sn:caseExactMatch:=Kovalev)" >> $SEARCHOUT 2>&1 2042de962bdSlukem 2052de962bdSlukemRC=$? 2062de962bdSlukemif test $RC != 0 ; then 2072de962bdSlukem echo "ldapsearch failed ($RC)!" 2082de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2092de962bdSlukem exit $RC 2102de962bdSlukemfi 2112de962bdSlukem 2122de962bdSlukemecho "Testing search for telephoneNumber..." 2132de962bdSlukemecho "# Testing search for telephoneNumber..." >> $SEARCHOUT 214*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2152de962bdSlukem "(telephoneNumber=3322334)" >> $SEARCHOUT 2>&1 2162de962bdSlukem 2172de962bdSlukemRC=$? 2182de962bdSlukemif test $RC != 0 ; then 2192de962bdSlukem echo "ldapsearch failed ($RC)!" 2202de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2212de962bdSlukem exit $RC 2222de962bdSlukemfi 2232de962bdSlukem 2242de962bdSlukemecho "Testing AND search..." 2252de962bdSlukemecho "# Testing AND search..." >> $SEARCHOUT 226*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2272de962bdSlukem "(&(sn=kovalev)(givenName=mitya))" >> $SEARCHOUT 2>&1 2282de962bdSlukem 2292de962bdSlukemRC=$? 2302de962bdSlukemif test $RC != 0 ; then 2312de962bdSlukem echo "ldapsearch failed ($RC)!" 2322de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2332de962bdSlukem exit $RC 2342de962bdSlukemfi 2352de962bdSlukem 2362de962bdSlukemecho "Testing AND search on objectClass..." 2372de962bdSlukemecho "# Testing AND search on objectClass..." >> $SEARCHOUT 238*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2392de962bdSlukem "(&(objectClass=organization)(objectClass=dcObject))" >> $SEARCHOUT 2>&1 2402de962bdSlukem 2412de962bdSlukemRC=$? 2422de962bdSlukemif test $RC != 0 ; then 2432de962bdSlukem echo "ldapsearch failed ($RC)!" 2442de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2452de962bdSlukem exit $RC 2462de962bdSlukemfi 2472de962bdSlukem 2482de962bdSlukemecho "Testing OR search..." 2492de962bdSlukemecho "# Testing OR search..." >> $SEARCHOUT 250*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2512de962bdSlukem "(|(sn=kovalev)(givenName=mitya))" >> $SEARCHOUT 2>&1 2522de962bdSlukem 2532de962bdSlukemRC=$? 2542de962bdSlukemif test $RC != 0 ; then 2552de962bdSlukem echo "ldapsearch failed ($RC)!" 2562de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2572de962bdSlukem exit $RC 2582de962bdSlukemfi 2592de962bdSlukem 2602de962bdSlukemecho "Testing OR search on objectClass..." 2612de962bdSlukemecho "# Testing OR search on objectClass..." >> $SEARCHOUT 262*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2632de962bdSlukem "(|(objectClass=document)(objectClass=organization))" \ 2642de962bdSlukem >> $SEARCHOUT 2>&1 2652de962bdSlukem 2662de962bdSlukemRC=$? 2672de962bdSlukemif test $RC != 0 ; then 2682de962bdSlukem echo "ldapsearch failed ($RC)!" 2692de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2702de962bdSlukem exit $RC 2712de962bdSlukemfi 2722de962bdSlukem 2732de962bdSlukemecho "Testing NOT search..." 2742de962bdSlukemecho "# Testing NOT search..." >> $SEARCHOUT 275*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2762de962bdSlukem '(!(sn=kovalev))' >> $SEARCHOUT 2>&1 2772de962bdSlukem 2782de962bdSlukemRC=$? 2792de962bdSlukemif test $RC != 0 ; then 2802de962bdSlukem echo "ldapsearch failed ($RC)!" 2812de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2822de962bdSlukem exit $RC 2832de962bdSlukemfi 2842de962bdSlukem 2852de962bdSlukemecho "Testing NOT search on objectClass..." 2862de962bdSlukemecho "# Testing NOT search on objectClass..." >> $SEARCHOUT 287*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 2882de962bdSlukem '(!(objectClass=inetOrgPerson))' >> $SEARCHOUT 2>&1 2892de962bdSlukem 2902de962bdSlukemRC=$? 2912de962bdSlukemif test $RC != 0 ; then 2922de962bdSlukem echo "ldapsearch failed ($RC)!" 2932de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2942de962bdSlukem exit $RC 2952de962bdSlukemfi 2962de962bdSlukem 2972de962bdSlukemecho "Testing NOT search on \"auxiliary\" objectClass..." 2982de962bdSlukemecho "# Testing NOT search on \"auxiliary\" objectClass..." >> $SEARCHOUT 299*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3002de962bdSlukem '(!(objectClass=dcObject))' >> $SEARCHOUT 2>&1 3012de962bdSlukem 3022de962bdSlukemRC=$? 3032de962bdSlukemif test $RC != 0 ; then 3042de962bdSlukem echo "ldapsearch failed ($RC)!" 3052de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3062de962bdSlukem exit $RC 3072de962bdSlukemfi 3082de962bdSlukem 3092de962bdSlukem#### Needs work... 3102de962bdSlukemecho "Testing NOT presence search... (disabled)" 3112de962bdSlukem###echo "# Testing NOT presence search..." >> $SEARCHOUT 312*e670fd5cSchristos###$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3132de962bdSlukem### '(!(sn=*))' >> $SEARCHOUT 2>&1 3142de962bdSlukem### 3152de962bdSlukem###RC=$? 3162de962bdSlukem###if test $RC != 0 ; then 3172de962bdSlukem### echo "ldapsearch failed ($RC)!" 3182de962bdSlukem### test $KILLSERVERS != no && kill -HUP $KILLPIDS 3192de962bdSlukem### exit $RC 3202de962bdSlukem###fi 3212de962bdSlukem 3222de962bdSlukemecho "Testing attribute inheritance in filter..." 3232de962bdSlukemecho "# Testing attribute inheritance in filter..." >> $SEARCHOUT 324*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3252de962bdSlukem "(name=example)" >> $SEARCHOUT 2>&1 3262de962bdSlukem 3272de962bdSlukemRC=$? 3282de962bdSlukemif test $RC != 0 ; then 3292de962bdSlukem echo "ldapsearch failed ($RC)!" 3302de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3312de962bdSlukem exit $RC 3322de962bdSlukemfi 3332de962bdSlukem 3342de962bdSlukem# ITS#4604 3352de962bdSlukemecho "Testing undefined attribute in filter..." 3362de962bdSlukemecho "# Testing undefined attribute in filter..." >> $SEARCHOUT 337*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3382de962bdSlukem "(|(o=example)(foobar=x))" >> $SEARCHOUT 2>&1 3392de962bdSlukem 3402de962bdSlukemRC=$? 3412de962bdSlukemif test $RC != 0 ; then 3422de962bdSlukem echo "ldapsearch failed ($RC)!" 3432de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3442de962bdSlukem exit $RC 3452de962bdSlukemfi 3462de962bdSlukem 3472de962bdSlukemecho "Testing objectClass inheritance in filter..." 3482de962bdSlukemecho "# Testing objectClass inheritance in filter..." >> $SEARCHOUT 349*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3502de962bdSlukem "(objectClass=person)" >> $SEARCHOUT 2>&1 3512de962bdSlukem 3522de962bdSlukemRC=$? 3532de962bdSlukemif test $RC != 0 ; then 3542de962bdSlukem echo "ldapsearch failed ($RC)!" 3552de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3562de962bdSlukem exit $RC 3572de962bdSlukemfi 3582de962bdSlukem 3592de962bdSlukemecho "Testing \"auxiliary\" objectClass in filter..." 3602de962bdSlukemecho "# Testing \"auxiliary\" objectClass in filter..." >> $SEARCHOUT 361*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3622de962bdSlukem "(objectClass=dcObject)" >> $SEARCHOUT 2>&1 3632de962bdSlukem 3642de962bdSlukemRC=$? 3652de962bdSlukemif test $RC != 0 ; then 3662de962bdSlukem echo "ldapsearch failed ($RC)!" 3672de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3682de962bdSlukem exit $RC 3692de962bdSlukemfi 3702de962bdSlukem 3712de962bdSlukemecho "Testing hasSubordinates in filter..." 3722de962bdSlukemecho "# Testing hasSubordinates in filter..." >> $SEARCHOUT 373*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3742de962bdSlukem "(hasSubordinates=TRUE)" >> $SEARCHOUT 2>&1 3752de962bdSlukem 3762de962bdSlukemRC=$? 3772de962bdSlukemif test $RC != 0 ; then 3782de962bdSlukem echo "ldapsearch failed ($RC)!" 3792de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3802de962bdSlukem exit $RC 3812de962bdSlukemfi 3822de962bdSlukem 3832de962bdSlukemecho "Testing entryUUID in filter..." 3842de962bdSlukemecho "# Testing entryUUID in filter..." >> $SEARCHOUT 385*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3862de962bdSlukem "(entryUUID=00000001-0000-0001-0000-000000000000)" >> $SEARCHOUT 2>&1 3872de962bdSlukem 3882de962bdSlukemRC=$? 3892de962bdSlukemif test $RC != 0 ; then 3902de962bdSlukem echo "ldapsearch failed ($RC)!" 3912de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3922de962bdSlukem exit $RC 3932de962bdSlukemfi 3942de962bdSlukem 3952de962bdSlukemecho "Testing attribute inheritance in requested attributes..." 3962de962bdSlukemecho "# Testing attribute inheritance in requested attributes..." >> $SEARCHOUT 397*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 3982de962bdSlukem "(sn=kovalev)" name >> $SEARCHOUT 2>&1 3992de962bdSlukem 4002de962bdSlukemRC=$? 4012de962bdSlukemif test $RC != 0 ; then 4022de962bdSlukem echo "ldapsearch failed ($RC)!" 4032de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4042de962bdSlukem exit $RC 4052de962bdSlukemfi 4062de962bdSlukem 4072de962bdSlukemecho "Testing objectClass in requested attributes..." 4082de962bdSlukemecho "# Testing objectClass in requested attributes..." >> $SEARCHOUT 409*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 4102de962bdSlukem objectClass >> $SEARCHOUT 2>&1 4112de962bdSlukem 4122de962bdSlukemRC=$? 4132de962bdSlukemif test $RC != 0 ; then 4142de962bdSlukem echo "ldapsearch failed ($RC)!" 4152de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4162de962bdSlukem exit $RC 4172de962bdSlukemfi 4182de962bdSlukem 4192de962bdSlukemecho "Testing operational attributes in request..." 4202de962bdSlukemecho "# Testing operational attributes in request..." >> $SEARCHOUT 421*e670fd5cSchristos$LDAPSEARCH -H $URI1 -b "$BASEDN" -S "" \ 4222de962bdSlukem '+' 2>&1 > $SEARCHFLT 4232de962bdSlukem 4242de962bdSlukemRC=$? 4252de962bdSlukemif test $RC != 0 ; then 4262de962bdSlukem echo "ldapsearch failed ($RC)!" 4272de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4282de962bdSlukem exit $RC 4292de962bdSlukemfi 4302de962bdSlukem 4312de962bdSlukemgrep -v '^entryCSN:' $SEARCHFLT >> $SEARCHOUT 4322de962bdSlukem 4332de962bdSlukemSIZELIMIT=4 4342de962bdSlukemecho "Testing size limit..." 435*e670fd5cSchristos$LDAPRSEARCH -H $URI1 -b "$BASEDN" \ 4362de962bdSlukem -z $SIZELIMIT -S "" '(objectClass=*)' >$SEARCHFLT 2>&1 4372de962bdSlukemRC=$? 4382de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHFLT` 4392de962bdSlukemcase $RC in 4402de962bdSlukem 0) 4412de962bdSlukem if test x"$COUNT" != x ; then 4422de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 4432de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 4442de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4452de962bdSlukem exit 1 4462de962bdSlukem fi 4472de962bdSlukem echo "...didn't bump into the requested size limit ($SIZELIMIT; got $COUNT entries)" 4482de962bdSlukem else 4492de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 4502de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4512de962bdSlukem exit 1 4522de962bdSlukem fi 4532de962bdSlukem ;; 4542de962bdSlukem 4) 4552de962bdSlukem if test x"$COUNT" != x ; then 4562de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 4572de962bdSlukem echo "...bumped into requested size limit ($SIZELIMIT)" 4582de962bdSlukem else 4592de962bdSlukem echo "...error: got $COUNT entries with a requested sizelimit of $SIZELIMIT" 4602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4612de962bdSlukem exit $RC 4622de962bdSlukem fi 4632de962bdSlukem else 4642de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 4652de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4662de962bdSlukem exit $RC 4672de962bdSlukem fi 4682de962bdSlukem ;; 4692de962bdSlukem *) 4702de962bdSlukem echo "ldapsearch failed ($RC)!" 4712de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4722de962bdSlukem exit $RC 4732de962bdSlukem ;; 4742de962bdSlukemesac 4752de962bdSlukem 4762de962bdSlukemecho -n "Testing compare (should be TRUE)... " 477*e670fd5cSchristos$LDAPCOMPARE -H $URI1 "$BINDDN" \ 4782de962bdSlukem "sn:kovalev" >> $TESTOUT 2>&1 4792de962bdSlukem 4802de962bdSlukemRC=$? 4812de962bdSlukemcase $RC in 4822de962bdSlukem6) 4832de962bdSlukem echo "TRUE" 4842de962bdSlukem ;; 4852de962bdSlukem5) echo "FALSE!" 4862de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4872de962bdSlukem exit $RC 4882de962bdSlukem ;; 4892de962bdSlukem*) echo "failed ($RC)!" 4902de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4912de962bdSlukem exit 1 4922de962bdSlukem ;; 4932de962bdSlukemesac 4942de962bdSlukem 4952de962bdSlukemecho -n "Testing compare (should be FALSE)... " 496*e670fd5cSchristos$LDAPCOMPARE -H $URI1 "$BINDDN" \ 4972de962bdSlukem "cn:foobar" >> $TESTOUT 2>&1 4982de962bdSlukem 4992de962bdSlukemRC=$? 5002de962bdSlukemcase $RC in 5012de962bdSlukem6) 5022de962bdSlukem echo "TRUE!" 5032de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5042de962bdSlukem exit $RC 5052de962bdSlukem ;; 5062de962bdSlukem5) echo "FALSE" 5072de962bdSlukem ;; 5082de962bdSlukem*) echo "failed ($RC)!" 5092de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5102de962bdSlukem exit 1 5112de962bdSlukem ;; 5122de962bdSlukemesac 5132de962bdSlukem 5142de962bdSlukemecho -n "Testing compare (should be UNDEFINED)... " 515*e670fd5cSchristos$LDAPCOMPARE -H $URI1 "$BINDDN" \ 5162de962bdSlukem "o:example" >> $TESTOUT 2>&1 5172de962bdSlukem 5182de962bdSlukemRC=$? 5192de962bdSlukemcase $RC in 5202de962bdSlukem6) 5212de962bdSlukem echo "TRUE!" 5222de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5232de962bdSlukem exit $RC 5242de962bdSlukem ;; 5252de962bdSlukem5) echo "FALSE!" 5262de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5272de962bdSlukem exit $RC 5282de962bdSlukem ;; 5292de962bdSlukem*) echo "failed ($RC)" 5302de962bdSlukem ;; 5312de962bdSlukemesac 5322de962bdSlukem 5332de962bdSlukemecho -n "Testing compare on hasSubordinates (should be TRUE)... " 534*e670fd5cSchristos$LDAPCOMPARE -H $URI1 "$BASEDN" \ 5352de962bdSlukem "hasSubordinates:TRUE" >> $TESTOUT 2>&1 5362de962bdSlukem 5372de962bdSlukemRC=$? 5382de962bdSlukemcase $RC in 5392de962bdSlukem6) 5402de962bdSlukem echo "TRUE" 5412de962bdSlukem ;; 5422de962bdSlukem5) echo "FALSE!" 5432de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5442de962bdSlukem exit $RC 5452de962bdSlukem ;; 5462de962bdSlukem*) echo "failed ($RC)!" 5472de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5482de962bdSlukem exit 1 5492de962bdSlukem ;; 5502de962bdSlukemesac 5512de962bdSlukem 5522de962bdSlukemecho "Filtering ldapsearch results..." 553ef2f90d3Sadam$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 5542de962bdSlukemecho "Filtering original ldif..." 555ef2f90d3Sadam$LDIFFILTER < $SQLREAD > $LDIFFLT 5562de962bdSlukemecho "Comparing filter output..." 5572de962bdSlukem$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 5582de962bdSlukem 5592de962bdSlukemif test $? != 0 ; then 5602de962bdSlukem echo "comparison failed - SQL search didn't succeed" 5612de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5622de962bdSlukem exit 1 5632de962bdSlukemfi 5642de962bdSlukem 5652de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS 5662de962bdSlukem 5672de962bdSlukemecho ">>>>> Test succeeded" 5682de962bdSlukemexit 0 569