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 162de962bdSlukem## FIXME: need to exclude legal but wrong results... 172de962bdSlukem 182de962bdSlukemecho "running defines.sh" 192de962bdSlukem. $SRCDIR/scripts/defines.sh 202de962bdSlukem 21ef2f90d3Sadamif test $BACKEND = null; then 22ef2f90d3Sadam echo "Limits irrelevant to $BACKEND backend, test skipped" 23ef2f90d3Sadam exit 0 24ef2f90d3Sadamfi 25ef2f90d3Sadam 262de962bdSlukemmkdir -p $TESTDIR $DBDIR1 272de962bdSlukem 282de962bdSlukemecho "Running slapadd to build slapd database..." 29*e670fd5cSchristos. $CONFFILTER $BACKEND < $LIMITSCONF > $ADDCONF 302de962bdSlukem$SLAPADD -f $ADDCONF -l $LDIFLIMITS 312de962bdSlukemRC=$? 322de962bdSlukemif test $RC != 0 ; then 332de962bdSlukem echo "slapadd failed ($RC)!" 342de962bdSlukem exit $RC 352de962bdSlukemfi 362de962bdSlukem 372de962bdSlukemecho "Running slapindex to index slapd database..." 38*e670fd5cSchristos. $CONFFILTER $BACKEND < $LIMITSCONF > $CONF1 392de962bdSlukem$SLAPINDEX -f $CONF1 402de962bdSlukemRC=$? 412de962bdSlukemif test $RC != 0 ; then 422de962bdSlukem echo "warning: slapindex failed ($RC)" 432de962bdSlukem echo " assuming no indexing support" 442de962bdSlukemfi 452de962bdSlukem 462de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 47*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 482de962bdSlukemPID=$! 492de962bdSlukemif test $WAIT != 0 ; then 502de962bdSlukem echo PID $PID 512de962bdSlukem read foo 522de962bdSlukemfi 532de962bdSlukemKILLPIDS="$PID" 542de962bdSlukem 552de962bdSlukemsleep 1 562de962bdSlukem 572de962bdSlukemecho "Testing slapd searching..." 582de962bdSlukemfor i in 0 1 2 3 4 5; do 59*e670fd5cSchristos $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ 602de962bdSlukem '(objectclass=*)' > /dev/null 2>&1 612de962bdSlukem RC=$? 622de962bdSlukem if test $RC = 0 ; then 632de962bdSlukem break 642de962bdSlukem fi 652de962bdSlukem echo "Waiting 5 seconds for slapd to start..." 662de962bdSlukem sleep 5 672de962bdSlukemdone 682de962bdSlukem 692de962bdSlukemif test $RC != 0 ; then 702de962bdSlukem echo "ldapsearch failed ($RC)!" 712de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 722de962bdSlukem exit $RC 732de962bdSlukemfi 742de962bdSlukem 752de962bdSlukemcat /dev/null > $SEARCHOUT 762de962bdSlukem 772de962bdSlukemecho "" 782de962bdSlukemecho "Testing regular search limits" 792de962bdSlukemecho "" 802de962bdSlukem 812de962bdSlukemecho "Testing no limits requested for unlimited ID..." 82*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 832de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 842de962bdSlukem '(objectClass=*)' >$SEARCHOUT 2>&1 852de962bdSlukemRC=$? 862de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 872de962bdSlukemcase $RC in 882de962bdSlukem 0) 892de962bdSlukem if test x"$COUNT" != x ; then 902de962bdSlukem echo "...success (got $COUNT entries)" 912de962bdSlukem else 922de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 932de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 942de962bdSlukem exit 1 952de962bdSlukem fi 962de962bdSlukem ;; 972de962bdSlukem *) 982de962bdSlukem echo "ldapsearch failed ($RC)!" 992de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1002de962bdSlukem exit $RC 1012de962bdSlukem ;; 1022de962bdSlukemesac 1032de962bdSlukem 1042de962bdSlukemecho "Testing no limits requested for rootdn=$MANAGERDN..." 105*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 1062de962bdSlukem -D "$MANAGERDN" \ 1072de962bdSlukem '(objectClass=*)' >$SEARCHOUT 2>&1 1082de962bdSlukemRC=$? 1092de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 1102de962bdSlukemcase $RC in 1112de962bdSlukem 0) 1122de962bdSlukem if test x"$COUNT" != x ; then 1132de962bdSlukem echo "...success (got $COUNT entries)" 1142de962bdSlukem else 1152de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 1162de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1172de962bdSlukem exit 1 1182de962bdSlukem fi 1192de962bdSlukem ;; 1202de962bdSlukem *) 1212de962bdSlukem echo "ldapsearch failed ($RC)!" 1222de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1232de962bdSlukem exit $RC 1242de962bdSlukem ;; 1252de962bdSlukemesac 1262de962bdSlukem 1272de962bdSlukemSIZELIMIT=4 1282de962bdSlukemecho "Testing limit requested for rootdn=$MANAGERDN..." 129*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 1302de962bdSlukem -D "$MANAGERDN" \ 1312de962bdSlukem '(objectClass=*)' >$SEARCHOUT 2>&1 1322de962bdSlukemRC=$? 1332de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 1342de962bdSlukemcase $RC in 1352de962bdSlukem 0) 1362de962bdSlukem if test x"$COUNT" != x ; then 1372de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 1382de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 1392de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1402de962bdSlukem exit 1 1412de962bdSlukem fi 1422de962bdSlukem echo "...didn't bump into the requested size limit ($SIZELIMIT; got $COUNT entries)" 1432de962bdSlukem else 1442de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 1452de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1462de962bdSlukem exit 1 1472de962bdSlukem fi 1482de962bdSlukem ;; 1492de962bdSlukem 4) 1502de962bdSlukem if test x"$COUNT" != x ; then 1512de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 1522de962bdSlukem echo "...bumped into requested size limit ($SIZELIMIT)" 1532de962bdSlukem else 1542de962bdSlukem echo "...error: got $COUNT entries with a requested sizelimit of $SIZELIMIT" 1552de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1562de962bdSlukem exit $RC 1572de962bdSlukem fi 1582de962bdSlukem else 1592de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 1602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1612de962bdSlukem exit $RC 1622de962bdSlukem fi 1632de962bdSlukem ;; 1642de962bdSlukem *) 1652de962bdSlukem echo "ldapsearch failed ($RC)!" 1662de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1672de962bdSlukem exit $RC 1682de962bdSlukem ;; 1692de962bdSlukemesac 1702de962bdSlukem 1712de962bdSlukemSIZELIMIT=2 1722de962bdSlukemecho "Testing size limit request ($SIZELIMIT) for unlimited ID..." 173*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 1742de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 1752de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 1762de962bdSlukemRC=$? 1772de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 1782de962bdSlukemcase $RC in 1792de962bdSlukem 0) 1802de962bdSlukem if test x"$COUNT" != x ; then 1812de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 1822de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 1832de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1842de962bdSlukem exit 1 1852de962bdSlukem fi 1862de962bdSlukem echo "...didn't bump into the requested size limit ($SIZELIMIT; got $COUNT entries)" 1872de962bdSlukem else 1882de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 1892de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1902de962bdSlukem exit 1 1912de962bdSlukem fi 1922de962bdSlukem ;; 1932de962bdSlukem 4) 1942de962bdSlukem if test x"$COUNT" != x ; then 1952de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 1962de962bdSlukem echo "...bumped into requested size limit ($SIZELIMIT)" 1972de962bdSlukem else 1982de962bdSlukem echo "...error: got $COUNT entries with a requested sizelimit of $SIZELIMIT" 1992de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2002de962bdSlukem exit $RC 2012de962bdSlukem fi 2022de962bdSlukem else 2032de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 2042de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2052de962bdSlukem exit $RC 2062de962bdSlukem fi 2072de962bdSlukem ;; 2082de962bdSlukem *) 2092de962bdSlukem echo "ldapsearch failed ($RC)!" 2102de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2112de962bdSlukem exit $RC 2122de962bdSlukem ;; 2132de962bdSlukemesac 2142de962bdSlukem 2152de962bdSlukemTIMELIMIT=10 2162de962bdSlukemecho "Testing time limit request ($TIMELIMIT s) for unlimited ID..." 217*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -l $TIMELIMIT \ 2182de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 2192de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 2202de962bdSlukemRC=$? 2212de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 2222de962bdSlukemcase $RC in 2232de962bdSlukem 0) 2242de962bdSlukem if test x"$COUNT" != x ; then 2252de962bdSlukem echo "...didn't bump into the requested time limit ($TIMELIMIT s; got $COUNT entries)" 2262de962bdSlukem else 2272de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 2282de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2292de962bdSlukem exit 1 2302de962bdSlukem fi 2312de962bdSlukem ;; 2322de962bdSlukem 3) 2332de962bdSlukem if test x"$COUNT" != x ; then 2342de962bdSlukem COUNT=0 2352de962bdSlukem fi 2362de962bdSlukem echo "...bumped into requested time limit ($TIMELIMIT s; got $COUNT entries)" 2372de962bdSlukem ;; 2382de962bdSlukem *) 2392de962bdSlukem echo "ldapsearch failed ($RC)!" 2402de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2412de962bdSlukem exit $RC 2422de962bdSlukem ;; 2432de962bdSlukemesac 2442de962bdSlukem 2452de962bdSlukemecho "Testing no limits requested for soft limited ID..." 246*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 2472de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 2482de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 2492de962bdSlukemRC=$? 2502de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 2512de962bdSlukemcase $RC in 2522de962bdSlukem 0) 2532de962bdSlukem if test x"$COUNT" != x ; then 2542de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 2552de962bdSlukem else 2562de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 2572de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2582de962bdSlukem exit 1 2592de962bdSlukem fi 2602de962bdSlukem ;; 2612de962bdSlukem 4) 2622de962bdSlukem if test x"$COUNT" != x ; then 2632de962bdSlukem echo "...bumped into server-side size limit (got $COUNT entries)" 2642de962bdSlukem else 2652de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 2662de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2672de962bdSlukem exit $RC 2682de962bdSlukem fi 2692de962bdSlukem ;; 2702de962bdSlukem *) 2712de962bdSlukem echo "ldapsearch failed ($RC)!" 2722de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2732de962bdSlukem exit $RC 2742de962bdSlukem ;; 2752de962bdSlukemesac 2762de962bdSlukem 2772de962bdSlukemSIZELIMIT=2 2782de962bdSlukemecho "Testing lower than soft limit request ($SIZELIMIT) for soft limited ID..." 279*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 2802de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 2812de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 2822de962bdSlukemRC=$? 2832de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 2842de962bdSlukemcase $RC in 2852de962bdSlukem 0) 2862de962bdSlukem if test x"$COUNT" != x ; then 2872de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 2882de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 2892de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2902de962bdSlukem exit 1 2912de962bdSlukem fi 2922de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 2932de962bdSlukem else 2942de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 2952de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2962de962bdSlukem exit 1 2972de962bdSlukem fi 2982de962bdSlukem ;; 2992de962bdSlukem 4) 3002de962bdSlukem if test "x$COUNT" != "x" ; then 3012de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 3022de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 3032de962bdSlukem else 3042de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 3052de962bdSlukem fi 3062de962bdSlukem else 3072de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 3082de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3092de962bdSlukem exit $RC 3102de962bdSlukem fi 3112de962bdSlukem ;; 3122de962bdSlukem *) 3132de962bdSlukem echo "ldapsearch failed ($RC)!" 3142de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3152de962bdSlukem exit $RC 3162de962bdSlukem ;; 3172de962bdSlukemesac 3182de962bdSlukem 3192de962bdSlukemSIZELIMIT=100 3202de962bdSlukemecho "Testing higher than soft limit request ($SIZELIMIT) for soft limited ID..." 321*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 3222de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 3232de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 3242de962bdSlukemRC=$? 3252de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 3262de962bdSlukemcase $RC in 3272de962bdSlukem 0) 3282de962bdSlukem if test x"$COUNT" != x ; then 3292de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 3302de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 3312de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3322de962bdSlukem exit 1 3332de962bdSlukem fi 3342de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 3352de962bdSlukem else 3362de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 3372de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3382de962bdSlukem exit 1 3392de962bdSlukem fi 3402de962bdSlukem ;; 3412de962bdSlukem 4) 3422de962bdSlukem if test "x$COUNT" != "x" ; then 3432de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 3442de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 3452de962bdSlukem else 3462de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 3472de962bdSlukem fi 3482de962bdSlukem else 3492de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 3502de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3512de962bdSlukem exit $RC 3522de962bdSlukem fi 3532de962bdSlukem ;; 3542de962bdSlukem *) 3552de962bdSlukem echo "ldapsearch failed ($RC)!" 3562de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3572de962bdSlukem exit $RC 3582de962bdSlukem ;; 3592de962bdSlukemesac 3602de962bdSlukem 3612de962bdSlukemSIZELIMIT=2 3622de962bdSlukemecho "Testing lower than hard limit request ($SIZELIMIT) for hard limited ID..." 363*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 3642de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 3652de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 3662de962bdSlukemRC=$? 3672de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 3682de962bdSlukemcase $RC in 3692de962bdSlukem 0) 3702de962bdSlukem if test x"$COUNT" != x ; then 3712de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 3722de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 3732de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3742de962bdSlukem exit 1 3752de962bdSlukem fi 3762de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 3772de962bdSlukem else 3782de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 3792de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3802de962bdSlukem exit 1 3812de962bdSlukem fi 3822de962bdSlukem ;; 3832de962bdSlukem 4) 3842de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 3852de962bdSlukem ;; 3862de962bdSlukem *) 3872de962bdSlukem echo "ldapsearch failed ($RC)!" 3882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3892de962bdSlukem exit $RC 3902de962bdSlukem ;; 3912de962bdSlukemesac 3922de962bdSlukem 3932de962bdSlukemSIZELIMIT=100 3942de962bdSlukemecho "Testing higher than hard limit request ($SIZELIMIT) for hard limited ID..." 395*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 3962de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 3972de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 3982de962bdSlukemRC=$? 3992de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 4002de962bdSlukemcase $RC in 4012de962bdSlukem 0) 4022de962bdSlukem if test x"$COUNT" != x ; then 4032de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 4042de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 4052de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4062de962bdSlukem exit 1 4072de962bdSlukem fi 4082de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 4092de962bdSlukem else 4102de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 4112de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4122de962bdSlukem exit 1 4132de962bdSlukem fi 4142de962bdSlukem ;; 4152de962bdSlukem 4) 4162de962bdSlukem if test x"$COUNT" != x ; then 4172de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 4182de962bdSlukem echo "...error: bumped into requested ($SIZELIMIT) size limit" 4192de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4202de962bdSlukem exit $RC 4212de962bdSlukem else 4222de962bdSlukem echo "...got size limit $COUNT instead of requested $SIZELIMIT entries" 4232de962bdSlukem fi 4242de962bdSlukem else 4252de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 4262de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4272de962bdSlukem exit $RC 4282de962bdSlukem fi 4292de962bdSlukem ;; 4302de962bdSlukem# 11) 4312de962bdSlukem# echo "...bumped into server-side hard size administrative limit" 4322de962bdSlukem# ;; 4332de962bdSlukem *) 4342de962bdSlukem echo "ldapsearch failed ($RC)!" 4352de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4362de962bdSlukem exit $RC 4372de962bdSlukem ;; 4382de962bdSlukemesac 4392de962bdSlukem 4402de962bdSlukemSIZELIMIT=max 4412de962bdSlukemecho "Testing max limit request ($SIZELIMIT) for hard limited ID..." 442*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 4432de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 4442de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 4452de962bdSlukemRC=$? 4462de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 4472de962bdSlukemcase $RC in 4482de962bdSlukem 0) 4492de962bdSlukem if test x"$COUNT" != x ; then 4502de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 4512de962bdSlukem else 4522de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 4532de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4542de962bdSlukem exit 1 4552de962bdSlukem fi 4562de962bdSlukem ;; 4572de962bdSlukem 4) 4582de962bdSlukem if test x"$COUNT" != x ; then 4592de962bdSlukem echo "...bumped into requested ($SIZELIMIT=$COUNT) size limit" 4602de962bdSlukem else 4612de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 4622de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4632de962bdSlukem exit $RC 4642de962bdSlukem fi 4652de962bdSlukem ;; 4662de962bdSlukem# 11) 4672de962bdSlukem# echo "...bumped into server-side hard size administrative limit" 4682de962bdSlukem# ;; 4692de962bdSlukem *) 4702de962bdSlukem echo "ldapsearch failed ($RC)!" 4712de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4722de962bdSlukem exit $RC 4732de962bdSlukem ;; 4742de962bdSlukemesac 4752de962bdSlukem 4762de962bdSlukemecho "Testing lower than unchecked limit request for unchecked limited ID..." 477*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 4782de962bdSlukem -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \ 4792de962bdSlukem '(uid=uncheckedlimited)' > $SEARCHOUT 2>&1 4802de962bdSlukemRC=$? 4812de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 4822de962bdSlukemcase $RC in 4832de962bdSlukem 0) 4842de962bdSlukem if test x"$COUNT" != x ; then 4852de962bdSlukem echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)" 4862de962bdSlukem else 4872de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 4882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4892de962bdSlukem exit 1 4902de962bdSlukem fi 4912de962bdSlukem ;; 4922de962bdSlukem 11) 4932de962bdSlukem echo "...error: bumped into unchecked administrative limit" 4942de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4952de962bdSlukem exit $RC 4962de962bdSlukem ;; 4972de962bdSlukem *) 4982de962bdSlukem echo "ldapsearch failed ($RC)!" 4992de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5002de962bdSlukem exit $RC 5012de962bdSlukem ;; 5022de962bdSlukemesac 5032de962bdSlukem 504d11b170bStronif test $INDEXDB = indexdb ; then 5052de962bdSlukem 5062de962bdSlukemecho "Testing higher than unchecked limit requested for unchecked limited ID..." 507*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 5082de962bdSlukem -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \ 5092de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 5102de962bdSlukemRC=$? 5112de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 5122de962bdSlukemcase $RC in 5132de962bdSlukem 0) 5142de962bdSlukem if test x"$COUNT" != x ; then 5152de962bdSlukem echo "...error: didn't bump into server-side unchecked limit (got $COUNT entries)" 5162de962bdSlukem else 5172de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 5182de962bdSlukem fi 5192de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5202de962bdSlukem exit 1 5212de962bdSlukem ;; 5222de962bdSlukem 11) 5232de962bdSlukem echo "...bumped into unchecked administrative limit" 5242de962bdSlukem ;; 5252de962bdSlukem *) 5262de962bdSlukem echo "ldapsearch failed ($RC)!" 5272de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5282de962bdSlukem exit $RC 5292de962bdSlukem ;; 5302de962bdSlukemesac 5312de962bdSlukem 5322de962bdSlukemecho "Testing no limits requested for unchecked limited group..." 533*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 5342de962bdSlukem -D 'cn=Unchecked Limited User 2,ou=People,dc=example,dc=com' \ 5352de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 5362de962bdSlukemRC=$? 5372de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 5382de962bdSlukemcase $RC in 5392de962bdSlukem 0) 5402de962bdSlukem if test x"$COUNT" != x ; then 5412de962bdSlukem echo "...error: didn't bump into server-side unchecked limit (got $COUNT entries)" 5422de962bdSlukem else 5432de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 5442de962bdSlukem fi 5452de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5462de962bdSlukem exit 1 5472de962bdSlukem ;; 5482de962bdSlukem 11) 5492de962bdSlukem echo "...bumped into unchecked administrative limit" 5502de962bdSlukem ;; 5512de962bdSlukem *) 5522de962bdSlukem echo "ldapsearch failed ($RC)!" 5532de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5542de962bdSlukem exit $RC 5552de962bdSlukem ;; 5562de962bdSlukemesac 557d11b170bStronelse 558d11b170bStron echo "Skipping test for unchecked limit with $BACKEND backend." 559d11b170bStronfi 5602de962bdSlukem 5612de962bdSlukemecho "Testing no limits requested for limited regex..." 562*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 5632de962bdSlukem -D 'cn=Foo User,ou=People,dc=example,dc=com' \ 5642de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 5652de962bdSlukemRC=$? 5662de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 5672de962bdSlukemcase $RC in 5682de962bdSlukem 0) 5692de962bdSlukem if test x"$COUNT" != x ; then 5702de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 5712de962bdSlukem else 5722de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 5732de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5742de962bdSlukem exit 1 5752de962bdSlukem fi 5762de962bdSlukem ;; 5772de962bdSlukem 4) 5782de962bdSlukem if test "x$COUNT" != "x" ; then 5792de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 5802de962bdSlukem else 5812de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 5822de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5832de962bdSlukem exit $RC 5842de962bdSlukem fi 5852de962bdSlukem ;; 5862de962bdSlukem *) 5872de962bdSlukem echo "ldapsearch failed ($RC)!" 5882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5892de962bdSlukem exit $RC 5902de962bdSlukem ;; 5912de962bdSlukemesac 5922de962bdSlukem 5932de962bdSlukemecho "Testing no limits requested for limited onelevel..." 594*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 5952de962bdSlukem -D 'cn=Bar User,ou=People,dc=example,dc=com' \ 5962de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 5972de962bdSlukemRC=$? 5982de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 5992de962bdSlukemcase $RC in 6002de962bdSlukem 0) 6012de962bdSlukem if test x"$COUNT" != x ; then 6022de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 6032de962bdSlukem else 6042de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 6052de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6062de962bdSlukem exit 1 6072de962bdSlukem fi 6082de962bdSlukem ;; 6092de962bdSlukem 4) 6102de962bdSlukem if test "x$COUNT" != "x" ; then 6112de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 6122de962bdSlukem else 6132de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 6142de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6152de962bdSlukem exit $RC 6162de962bdSlukem fi 6172de962bdSlukem ;; 6182de962bdSlukem *) 6192de962bdSlukem echo "ldapsearch failed ($RC)!" 6202de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6212de962bdSlukem exit $RC 6222de962bdSlukem ;; 6232de962bdSlukemesac 6242de962bdSlukem 6252de962bdSlukemecho "Testing no limit requested for limited children..." 626*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 6272de962bdSlukem -D 'cn=Unchecked Limited Users,ou=Groups,dc=example,dc=com' \ 6282de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 6292de962bdSlukemRC=$? 6302de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 6312de962bdSlukemcase $RC in 6322de962bdSlukem 0) 6332de962bdSlukem if test x"$COUNT" != x ; then 6342de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 6352de962bdSlukem else 6362de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 6372de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6382de962bdSlukem exit 1 6392de962bdSlukem fi 6402de962bdSlukem ;; 6412de962bdSlukem 4) 6422de962bdSlukem if test "x$COUNT" != "x" ; then 6432de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 6442de962bdSlukem else 6452de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 6462de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6472de962bdSlukem exit $RC 6482de962bdSlukem fi 6492de962bdSlukem ;; 6502de962bdSlukem *) 6512de962bdSlukem echo "ldapsearch failed ($RC)!" 6522de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6532de962bdSlukem exit $RC 6542de962bdSlukem ;; 6552de962bdSlukemesac 6562de962bdSlukem 6572de962bdSlukemecho "Testing no limit requested for limited subtree..." 658*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 6592de962bdSlukem -D 'cn=Unchecked Limited User 3,ou=Admin,dc=example,dc=com' \ 6602de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 6612de962bdSlukemRC=$? 6622de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 6632de962bdSlukemcase $RC in 6642de962bdSlukem 0) 6652de962bdSlukem if test x"$COUNT" != x ; then 6662de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 6672de962bdSlukem else 6682de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 6692de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6702de962bdSlukem exit 1 6712de962bdSlukem fi 6722de962bdSlukem ;; 6732de962bdSlukem 4) 6742de962bdSlukem if test "x$COUNT" != "x" ; then 6752de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 6762de962bdSlukem else 6772de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 6782de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6792de962bdSlukem exit $RC 6802de962bdSlukem fi 6812de962bdSlukem ;; 6822de962bdSlukem *) 6832de962bdSlukem echo "ldapsearch failed ($RC)!" 6842de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 6852de962bdSlukem exit $RC 6862de962bdSlukem ;; 6872de962bdSlukemesac 6882de962bdSlukem 6892de962bdSlukemecho "Testing no limit requested for limited users..." 690*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 6912de962bdSlukem -D 'cn=Special User,dc=example,dc=com' \ 6922de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 6932de962bdSlukemRC=$? 6942de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 6952de962bdSlukemcase $RC in 6962de962bdSlukem 0) 6972de962bdSlukem if test x"$COUNT" != x ; then 6982de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 6992de962bdSlukem else 7002de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 7012de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7022de962bdSlukem exit 1 7032de962bdSlukem fi 7042de962bdSlukem ;; 7052de962bdSlukem 4) 7062de962bdSlukem if test "x$COUNT" != "x" ; then 7072de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 7082de962bdSlukem else 7092de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 7102de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7112de962bdSlukem exit $RC 7122de962bdSlukem fi 7132de962bdSlukem ;; 7142de962bdSlukem *) 7152de962bdSlukem echo "ldapsearch failed ($RC)!" 7162de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7172de962bdSlukem exit $RC 7182de962bdSlukem ;; 7192de962bdSlukemesac 7202de962bdSlukem 7212de962bdSlukemecho "Testing no limit requested for limited anonymous..." 722*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 \ 7232de962bdSlukem '(objectClass=*)' > $SEARCHOUT 2>&1 7242de962bdSlukemRC=$? 7252de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 7262de962bdSlukemcase $RC in 7272de962bdSlukem 0) 7282de962bdSlukem if test x"$COUNT" != x ; then 7292de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 7302de962bdSlukem else 7312de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 7322de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7332de962bdSlukem exit 1 7342de962bdSlukem fi 7352de962bdSlukem ;; 7362de962bdSlukem 4) 7372de962bdSlukem if test "x$COUNT" != "x" ; then 7382de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 7392de962bdSlukem else 7402de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 7412de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7422de962bdSlukem exit $RC 7432de962bdSlukem fi 7442de962bdSlukem ;; 7452de962bdSlukem *) 7462de962bdSlukem echo "ldapsearch failed ($RC)!" 7472de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7482de962bdSlukem exit $RC 7492de962bdSlukem ;; 7502de962bdSlukemesac 7512de962bdSlukem 752d11b170bStronif test $MAINDB != maindb ; then 753*e670fd5cSchristos # only mdb currently supports pagedResults control 7542de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7552de962bdSlukem 7562de962bdSlukem echo ">>>>> Test succeeded" 7572de962bdSlukem exit 0 758d11b170bStronfi 7592de962bdSlukem 7602de962bdSlukemif test x"$SLAPD_PAGE_SIZE" != x ; then 7612de962bdSlukem PAGESIZE="$SLAPD_PAGE_SIZE" 7622de962bdSlukem if test "$PAGESIZE" -le 0 ; then 7632de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7642de962bdSlukem 7652de962bdSlukem echo "" 7662de962bdSlukem echo "Testing with pagedResults control disabled" 7672de962bdSlukem echo "" 7682de962bdSlukem echo ">>>>> Test succeeded" 7692de962bdSlukem exit 0 7702de962bdSlukem fi 7712de962bdSlukemelse 7722de962bdSlukem PAGESIZE=5 7732de962bdSlukemfi 7742de962bdSlukem 7752de962bdSlukemecho "" 7762de962bdSlukemecho "Testing regular search limits with pagedResults control (page size $PAGESIZE)" 7772de962bdSlukemecho "" 7782de962bdSlukem 7792de962bdSlukemecho "Testing no limits requested for unlimited ID..." 780*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 7812de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 7822de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' >$SEARCHOUT 2>&1 7832de962bdSlukemRC=$? 7842de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 7852de962bdSlukemcase $RC in 7862de962bdSlukem 0) 7872de962bdSlukem if test x"$COUNT" != x ; then 7882de962bdSlukem echo "...success (got $COUNT entries)" 7892de962bdSlukem else 7902de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 7912de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7922de962bdSlukem exit 1 7932de962bdSlukem fi 7942de962bdSlukem ;; 7952de962bdSlukem *) 7962de962bdSlukem echo "ldapsearch failed ($RC)!" 7972de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 7982de962bdSlukem exit $RC 7992de962bdSlukem ;; 8002de962bdSlukemesac 8012de962bdSlukem 8022de962bdSlukemSIZELIMIT=2 8032de962bdSlukemecho "Testing size limit request ($SIZELIMIT) for unlimited ID..." 804*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 8052de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 8062de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 8072de962bdSlukemRC=$? 8082de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 8092de962bdSlukemcase $RC in 8102de962bdSlukem 0) 8112de962bdSlukem if test x"$COUNT" != x ; then 8122de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 8132de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 8142de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8152de962bdSlukem exit 1 8162de962bdSlukem fi 8172de962bdSlukem echo "...didn't bump into the requested size limit ($SIZELIMIT; got $COUNT entries)" 8182de962bdSlukem else 8192de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 8202de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8212de962bdSlukem exit 1 8222de962bdSlukem fi 8232de962bdSlukem ;; 8242de962bdSlukem 4) 8252de962bdSlukem if test x"$COUNT" != x ; then 8262de962bdSlukem if test $COUNT = $SIZELIMIT ; then 8272de962bdSlukem echo "...bumped into requested size limit ($SIZELIMIT)" 8282de962bdSlukem else 8292de962bdSlukem echo "...error: got $COUNT entries while requesting $SIZELIMIT..." 8302de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8312de962bdSlukem exit $RC 8322de962bdSlukem fi 8332de962bdSlukem else 8342de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 8352de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8362de962bdSlukem exit $RC 8372de962bdSlukem fi 8382de962bdSlukem ;; 8392de962bdSlukem *) 8402de962bdSlukem echo "ldapsearch failed ($RC)!" 8412de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8422de962bdSlukem exit $RC 8432de962bdSlukem ;; 8442de962bdSlukemesac 8452de962bdSlukem 8462de962bdSlukemTIMELIMIT=10 8472de962bdSlukemecho "Testing time limit request ($TIMELIMIT s) for unlimited ID..." 848*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -l $TIMELIMIT \ 8492de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 8502de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 8512de962bdSlukemRC=$? 8522de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 8532de962bdSlukemcase $RC in 8542de962bdSlukem 0) 8552de962bdSlukem if test x"$COUNT" != x ; then 8562de962bdSlukem echo "...didn't bump into the requested time limit ($TIMELIMIT s; got $COUNT entries)" 8572de962bdSlukem else 8582de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 8592de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8602de962bdSlukem exit 1 8612de962bdSlukem fi 8622de962bdSlukem ;; 8632de962bdSlukem 3) 8642de962bdSlukem if test x"$COUNT" = x ; then 8652de962bdSlukem COUNT=0 8662de962bdSlukem fi 8672de962bdSlukem echo "...bumped into requested time limit ($TIMELIMIT s; got $COUNT entries)" 8682de962bdSlukem ;; 8692de962bdSlukem *) 8702de962bdSlukem echo "ldapsearch failed ($RC)!" 8712de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8722de962bdSlukem exit $RC 8732de962bdSlukem ;; 8742de962bdSlukemesac 8752de962bdSlukem 8762de962bdSlukemecho "Testing no limits requested for soft limited ID..." 877*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 8782de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 8792de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 8802de962bdSlukemRC=$? 8812de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 8822de962bdSlukemcase $RC in 8832de962bdSlukem 0) 8842de962bdSlukem if test x"$COUNT" != x ; then 8852de962bdSlukem echo "...didn't bump into server-side size limit (got $COUNT entries)" 8862de962bdSlukem else 8872de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 8882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8892de962bdSlukem exit 1 8902de962bdSlukem fi 8912de962bdSlukem ;; 8922de962bdSlukem 4) 8932de962bdSlukem if test x"$COUNT" != x ; then 8942de962bdSlukem echo "...bumped into server-side size limit (got $COUNT entries)" 8952de962bdSlukem else 8962de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 8972de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 8982de962bdSlukem exit $RC 8992de962bdSlukem fi 9002de962bdSlukem ;; 9012de962bdSlukem *) 9022de962bdSlukem echo "ldapsearch failed ($RC)!" 9032de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9042de962bdSlukem exit $RC 9052de962bdSlukem ;; 9062de962bdSlukemesac 9072de962bdSlukem 9082de962bdSlukemSIZELIMIT=2 9092de962bdSlukemecho "Testing lower than soft limit request ($SIZELIMIT) for soft limited ID..." 910*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 9112de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 9122de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 9132de962bdSlukemRC=$? 9142de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 9152de962bdSlukemcase $RC in 9162de962bdSlukem 0) 9172de962bdSlukem if test x"$COUNT" != x ; then 9182de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 9192de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 9202de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9212de962bdSlukem exit 1 9222de962bdSlukem fi 9232de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 9242de962bdSlukem else 9252de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 9262de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9272de962bdSlukem exit 1 9282de962bdSlukem fi 9292de962bdSlukem ;; 9302de962bdSlukem 4) 9312de962bdSlukem if test "x$COUNT" != "x" ; then 9322de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 9332de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 9342de962bdSlukem else 9352de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 9362de962bdSlukem fi 9372de962bdSlukem else 9382de962bdSlukem echo "...bumped into either requested ($SIZELIMIT) or server-side size limit" 9392de962bdSlukem fi 9402de962bdSlukem ;; 9412de962bdSlukem *) 9422de962bdSlukem echo "ldapsearch failed ($RC)!" 9432de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9442de962bdSlukem exit $RC 9452de962bdSlukem ;; 9462de962bdSlukemesac 9472de962bdSlukem 9482de962bdSlukemSIZELIMIT=100 9492de962bdSlukemecho "Testing higher than soft limit request ($SIZELIMIT) for soft limited ID..." 950*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 9512de962bdSlukem -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \ 9522de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 9532de962bdSlukemRC=$? 9542de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 9552de962bdSlukemcase $RC in 9562de962bdSlukem 0) 9572de962bdSlukem if test x"$COUNT" != x ; then 9582de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 9592de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 9602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9612de962bdSlukem exit 1 9622de962bdSlukem fi 9632de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 9642de962bdSlukem else 9652de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 9662de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9672de962bdSlukem exit 1 9682de962bdSlukem fi 9692de962bdSlukem ;; 9702de962bdSlukem 4) 9712de962bdSlukem if test "x$COUNT" != "x" ; then 9722de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 9732de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 9742de962bdSlukem else 9752de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 9762de962bdSlukem fi 9772de962bdSlukem else 9782de962bdSlukem echo "...bumped into either requested ($SIZELIMIT) or server-side size limit" 9792de962bdSlukem fi 9802de962bdSlukem ;; 9812de962bdSlukem *) 9822de962bdSlukem echo "ldapsearch failed ($RC)!" 9832de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 9842de962bdSlukem exit $RC 9852de962bdSlukem ;; 9862de962bdSlukemesac 9872de962bdSlukem 9882de962bdSlukemSIZELIMIT=2 9892de962bdSlukemecho "Testing lower than hard limit request ($SIZELIMIT) for hard limited ID..." 990*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 9912de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 9922de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 9932de962bdSlukemRC=$? 9942de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 9952de962bdSlukemcase $RC in 9962de962bdSlukem 0) 9972de962bdSlukem if test x"$COUNT" != x ; then 9982de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 9992de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 10002de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10012de962bdSlukem exit 1 10022de962bdSlukem fi 10032de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 10042de962bdSlukem else 10052de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 10062de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10072de962bdSlukem exit 1 10082de962bdSlukem fi 10092de962bdSlukem ;; 10102de962bdSlukem 4) 10112de962bdSlukem if test x"$COUNT" != x ; then 10122de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 10132de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 10142de962bdSlukem else 10152de962bdSlukem echo "...error: got size limit $SIZELIMIT but $COUNT entries" 10162de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10172de962bdSlukem exit $RC 10182de962bdSlukem fi 10192de962bdSlukem else 10202de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 10212de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10222de962bdSlukem exit $RC 10232de962bdSlukem fi 10242de962bdSlukem ;; 10252de962bdSlukem *) 10262de962bdSlukem echo "ldapsearch failed ($RC)!" 10272de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10282de962bdSlukem exit $RC 10292de962bdSlukem ;; 10302de962bdSlukemesac 10312de962bdSlukem 10322de962bdSlukemSIZELIMIT=100 10332de962bdSlukemecho "Testing higher than hard limit request ($SIZELIMIT) for hard limited ID..." 1034*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 10352de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 10362de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 10372de962bdSlukemRC=$? 10382de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 10392de962bdSlukemcase $RC in 10402de962bdSlukem 0) 10412de962bdSlukem if test x"$COUNT" != x ; then 10422de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 10432de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 10442de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10452de962bdSlukem exit 1 10462de962bdSlukem fi 10472de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 10482de962bdSlukem else 10492de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 10502de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10512de962bdSlukem exit 1 10522de962bdSlukem fi 10532de962bdSlukem ;; 10542de962bdSlukem 4) 10552de962bdSlukem if test x"$COUNT" != x ; then 10562de962bdSlukem if test "$COUNT" = "$SIZELIMIT" ; then 10572de962bdSlukem echo "...error: bumped into requested ($SIZELIMIT) size limit" 10582de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10592de962bdSlukem exit $RC 10602de962bdSlukem else 10612de962bdSlukem echo "...got size limit $COUNT instead of requested $SIZELIMIT entries" 10622de962bdSlukem fi 10632de962bdSlukem else 10642de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 10652de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10662de962bdSlukem exit $RC 10672de962bdSlukem fi 10682de962bdSlukem ;; 10692de962bdSlukem# 11) 10702de962bdSlukem# echo "...bumped into hard size administrative limit" 10712de962bdSlukem# ;; 10722de962bdSlukem *) 10732de962bdSlukem echo "ldapsearch failed ($RC)!" 10742de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10752de962bdSlukem exit $RC 10762de962bdSlukem ;; 10772de962bdSlukemesac 10782de962bdSlukem 10792de962bdSlukemSIZELIMIT=max 10802de962bdSlukemecho "Testing max limit request ($SIZELIMIT) for hard limited ID..." 1081*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 10822de962bdSlukem -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \ 10832de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 10842de962bdSlukemRC=$? 10852de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 10862de962bdSlukemcase $RC in 10872de962bdSlukem 0) 10882de962bdSlukem if test x"$COUNT" != x ; then 10892de962bdSlukem echo "...didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)" 10902de962bdSlukem else 10912de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 10922de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 10932de962bdSlukem exit 1 10942de962bdSlukem fi 10952de962bdSlukem ;; 10962de962bdSlukem 4) 10972de962bdSlukem if test x"$COUNT" != x ; then 10982de962bdSlukem echo "...bumped into requested ($SIZELIMIT=$COUNT) size limit" 10992de962bdSlukem else 11002de962bdSlukem echo "...error: bumped into size limit but got no entries!" 11012de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11022de962bdSlukem exit $RC 11032de962bdSlukem fi 11042de962bdSlukem ;; 11052de962bdSlukem# 11) 11062de962bdSlukem# echo "...bumped into hard size administrative limit" 11072de962bdSlukem# ;; 11082de962bdSlukem *) 11092de962bdSlukem echo "ldapsearch failed ($RC)!" 11102de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11112de962bdSlukem exit $RC 11122de962bdSlukem ;; 11132de962bdSlukemesac 11142de962bdSlukem 11152de962bdSlukemecho "Testing lower than unchecked limit request for unchecked limited ID..." 1116*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 11172de962bdSlukem -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \ 11182de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(uid=uncheckedlimited)' > $SEARCHOUT 2>&1 11192de962bdSlukemRC=$? 11202de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 11212de962bdSlukemcase $RC in 11222de962bdSlukem 0) 11232de962bdSlukem if test x"$COUNT" != x ; then 11242de962bdSlukem echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)" 11252de962bdSlukem else 11262de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 11272de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11282de962bdSlukem exit 1 11292de962bdSlukem fi 11302de962bdSlukem ;; 11312de962bdSlukem# 11) 11322de962bdSlukem# echo "...bumped into unchecked administrative limit" 11332de962bdSlukem# ;; 11342de962bdSlukem *) 11352de962bdSlukem echo "ldapsearch failed ($RC)!" 11362de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11372de962bdSlukem exit $RC 11382de962bdSlukem ;; 11392de962bdSlukemesac 11402de962bdSlukem 11412de962bdSlukemecho "Testing higher than unchecked limit requested for unchecked limited ID..." 1142*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 11432de962bdSlukem -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \ 11442de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 11452de962bdSlukemRC=$? 11462de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 11472de962bdSlukemcase $RC in 11482de962bdSlukem 0) 11492de962bdSlukem if test x"$COUNT" != x ; then 11502de962bdSlukem echo "...error: didn't bump into server-side unchecked limit (got $COUNT entries)" 11512de962bdSlukem else 11522de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 11532de962bdSlukem fi 11542de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11552de962bdSlukem exit 1 11562de962bdSlukem ;; 11572de962bdSlukem 11) 11582de962bdSlukem echo "...bumped into unchecked administrative limit" 11592de962bdSlukem ;; 11602de962bdSlukem *) 11612de962bdSlukem echo "ldapsearch failed ($RC)!" 11622de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11632de962bdSlukem exit $RC 11642de962bdSlukem ;; 11652de962bdSlukemesac 11662de962bdSlukem 11672de962bdSlukemecho "" 11682de962bdSlukemecho "Testing specific search limits with pagedResults control" 11692de962bdSlukemecho "" 11702de962bdSlukem 11712de962bdSlukemecho "Testing no limit requested for unlimited page size ID..." 1172*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 11732de962bdSlukem -D 'cn=Unlimited User,ou=Paged Results Users,dc=example,dc=com' \ 11742de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 11752de962bdSlukemRC=$? 11762de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 11772de962bdSlukemcase $RC in 11782de962bdSlukem 0) 11792de962bdSlukem if test x"$COUNT" != x ; then 11802de962bdSlukem echo "...success; didn't bump into server-side size limit (got $COUNT entries)" 11812de962bdSlukem else 11822de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 11832de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11842de962bdSlukem exit 1 11852de962bdSlukem fi 11862de962bdSlukem ;; 11872de962bdSlukem 4) 11882de962bdSlukem if test x"$COUNT" != x ; then 11892de962bdSlukem echo "...bumped into server-side size limit (got $COUNT entries)" 11902de962bdSlukem else 11912de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 11922de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11932de962bdSlukem exit $RC 11942de962bdSlukem fi 11952de962bdSlukem ;; 11962de962bdSlukem *) 11972de962bdSlukem echo "ldapsearch failed ($RC)!" 11982de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 11992de962bdSlukem exit $RC 12002de962bdSlukem ;; 12012de962bdSlukemesac 12022de962bdSlukem 12032de962bdSlukemecho "Testing no limit requested for limited page size ID..." 1204*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 12052de962bdSlukem -D 'cn=Page Size Limited User,ou=Paged Results Users,dc=example,dc=com' \ 12062de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 12072de962bdSlukemRC=$? 12082de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 12092de962bdSlukemcase $RC in 12102de962bdSlukem 0) 12112de962bdSlukem echo "...success; didn't bump into server-side page size limit (got $COUNT entries)" 12122de962bdSlukem ;; 12132de962bdSlukem 4) 12142de962bdSlukem echo "...bumped into page size limit ($COUNT)" 12152de962bdSlukem ;; 12162de962bdSlukem 11) 12172de962bdSlukem echo "...bumped into page size administrative limit" 12182de962bdSlukem ;; 12192de962bdSlukem *) 12202de962bdSlukem echo "ldapsearch failed ($RC)!" 12212de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 12222de962bdSlukem exit $RC 12232de962bdSlukem ;; 12242de962bdSlukemesac 12252de962bdSlukem 12262de962bdSlukemecho "Testing no limit requested for pagedResults disabled ID..." 1227*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 12282de962bdSlukem -D 'cn=Paged Results Disabled User,ou=Paged Results Users,dc=example,dc=com' \ 12292de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 12302de962bdSlukemRC=$? 12312de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 12322de962bdSlukemcase $RC in 12332de962bdSlukem 0) 12342de962bdSlukem echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)" 12352de962bdSlukem ;; 12362de962bdSlukem 4) 12372de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 12382de962bdSlukem ;; 12392de962bdSlukem 11) 12402de962bdSlukem echo "...bumped into pagedResults disabled administrative limit" 12412de962bdSlukem ;; 12422de962bdSlukem *) 12432de962bdSlukem echo "ldapsearch failed ($RC)!" 12442de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 12452de962bdSlukem exit $RC 12462de962bdSlukem ;; 12472de962bdSlukemesac 12482de962bdSlukem 12492de962bdSlukemecho "Testing no limit requested for pagedResults total count limited ID..." 1250*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 12512de962bdSlukem -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \ 12522de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 12532de962bdSlukemRC=$? 12542de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 12552de962bdSlukemcase $RC in 12562de962bdSlukem 0) 12572de962bdSlukem echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)" 12582de962bdSlukem ;; 12592de962bdSlukem 4) 12602de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 12612de962bdSlukem ;; 12622de962bdSlukem 11) 12632de962bdSlukem echo "...bumped into pagedResults total count administrative limit" 12642de962bdSlukem ;; 12652de962bdSlukem *) 12662de962bdSlukem echo "ldapsearch failed ($RC)!" 12672de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 12682de962bdSlukem exit $RC 12692de962bdSlukem ;; 12702de962bdSlukemesac 12712de962bdSlukem 12722de962bdSlukemSIZELIMIT=8 12732de962bdSlukemecho "Testing higher than hard but lower then total count limit requested for pagedResults total count limited ID..." 1274*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 12752de962bdSlukem -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \ 12762de962bdSlukem -z $SIZELIMIT -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 12772de962bdSlukemRC=$? 12782de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 12792de962bdSlukemcase $RC in 12802de962bdSlukem 0) 12812de962bdSlukem echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side unchecked limit (got $COUNT entries)" 12822de962bdSlukem ;; 12832de962bdSlukem 4) 12842de962bdSlukem if test "x$COUNT" != "x" ; then 12852de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 12862de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 12872de962bdSlukem else 12882de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 12892de962bdSlukem fi 12902de962bdSlukem else 12912de962bdSlukem echo "...bumped into either requested ($SIZELIMIT) or server-side size limit" 12922de962bdSlukem fi 12932de962bdSlukem ;; 12942de962bdSlukem 11) 12952de962bdSlukem echo "...bumped into either hard size or pagedResults total count administrative limit" 12962de962bdSlukem ;; 12972de962bdSlukem *) 12982de962bdSlukem echo "ldapsearch failed ($RC)!" 12992de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13002de962bdSlukem exit $RC 13012de962bdSlukem ;; 13022de962bdSlukemesac 13032de962bdSlukem 13042de962bdSlukemSIZELIMIT=15 13052de962bdSlukemecho "Testing higher than total count limit requested for pagedResults total count limited ID..." 1306*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 13072de962bdSlukem -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \ 13082de962bdSlukem -z $SIZELIMIT -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 13092de962bdSlukemRC=$? 13102de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 13112de962bdSlukemcase $RC in 13122de962bdSlukem 0) 13132de962bdSlukem echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side unchecked limit (got $COUNT entries)" 13142de962bdSlukem ;; 13152de962bdSlukem 4) 13162de962bdSlukem if test "x$COUNT" != "x" ; then 13172de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 13182de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 13192de962bdSlukem else 13202de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 13212de962bdSlukem fi 13222de962bdSlukem else 13232de962bdSlukem echo "...bumped into either requested ($SIZELIMIT) or server-side size limit" 13242de962bdSlukem fi 13252de962bdSlukem ;; 13262de962bdSlukem 11) 13272de962bdSlukem echo "...bumped into pagedResults total count administrative limit" 13282de962bdSlukem ;; 13292de962bdSlukem *) 13302de962bdSlukem echo "ldapsearch failed ($RC)!" 13312de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13322de962bdSlukem exit $RC 13332de962bdSlukem ;; 13342de962bdSlukemesac 13352de962bdSlukem 13362de962bdSlukemSIZELIMIT=max 13372de962bdSlukemecho "Testing max limit requested for pagedResults total count limited ID..." 1338*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret \ 13392de962bdSlukem -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \ 13402de962bdSlukem -z $SIZELIMIT -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 13412de962bdSlukemRC=$? 13422de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 13432de962bdSlukemcase $RC in 13442de962bdSlukem 0) 13452de962bdSlukem echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side unchecked limit (got $COUNT entries)" 13462de962bdSlukem ;; 13472de962bdSlukem 4) 13482de962bdSlukem if test "x$COUNT" != "x" ; then 13492de962bdSlukem if test "x$SIZELIMIT" = "x$COUNT" ; then 13502de962bdSlukem echo "...bumped into requested ($SIZELIMIT) size limit" 13512de962bdSlukem else 13522de962bdSlukem echo "...bumped into server-side size limit ($COUNT)" 13532de962bdSlukem fi 13542de962bdSlukem else 13552de962bdSlukem echo "...bumped into either requested ($SIZELIMIT) or server-side size limit" 13562de962bdSlukem fi 13572de962bdSlukem ;; 13582de962bdSlukem 11) 13592de962bdSlukem echo "...bumped into pagedResults total count administrative limit" 13602de962bdSlukem ;; 13612de962bdSlukem *) 13622de962bdSlukem echo "ldapsearch failed ($RC)!" 13632de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13642de962bdSlukem exit $RC 13652de962bdSlukem ;; 13662de962bdSlukemesac 13672de962bdSlukem 13682de962bdSlukem# ITS#4479 13692de962bdSlukemPAGESIZE=1 13702de962bdSlukemSIZELIMIT=2 13712de962bdSlukemecho "Testing size limit request ($SIZELIMIT) for unlimited ID and pagesize=$PAGESIZE..." 1372*e670fd5cSchristos$LDAPRSEARCH -S "" -b "$BASEDN" -H $URI1 -w secret -z $SIZELIMIT \ 13732de962bdSlukem -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \ 13742de962bdSlukem -E '!pr='$PAGESIZE'/noprompt' '(objectClass=*)' > $SEARCHOUT 2>&1 13752de962bdSlukemRC=$? 13762de962bdSlukemCOUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT` 13772de962bdSlukemcase $RC in 13782de962bdSlukem 0) 13792de962bdSlukem if test x"$COUNT" != x ; then 13802de962bdSlukem if test "$COUNT" -gt "$SIZELIMIT" ; then 13812de962bdSlukem echo "...error: got $COUNT entries instead of the requested $SIZELIMIT" 13822de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13832de962bdSlukem exit 1 13842de962bdSlukem fi 13852de962bdSlukem echo "...didn't bump into the requested size limit ($SIZELIMIT; got $COUNT entries)" 13862de962bdSlukem else 13872de962bdSlukem echo "...error: did not expect ldapsearch success ($RC)!" 13882de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13892de962bdSlukem exit 1 13902de962bdSlukem fi 13912de962bdSlukem ;; 13922de962bdSlukem 4) 13932de962bdSlukem if test x"$COUNT" != x ; then 13942de962bdSlukem if test $COUNT = $SIZELIMIT ; then 13952de962bdSlukem echo "...bumped into requested size limit ($SIZELIMIT)" 13962de962bdSlukem else 13972de962bdSlukem echo "...error: got $COUNT entries while requesting $SIZELIMIT..." 13982de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 13992de962bdSlukem exit $RC 14002de962bdSlukem fi 14012de962bdSlukem else 14022de962bdSlukem echo "...error: bumped into server-side size limit, but got no entries!" 14032de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 14042de962bdSlukem exit $RC 14052de962bdSlukem fi 14062de962bdSlukem ;; 14072de962bdSlukem *) 14082de962bdSlukem echo "ldapsearch failed ($RC)!" 14092de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 14102de962bdSlukem exit $RC 14112de962bdSlukem ;; 14122de962bdSlukemesac 14132de962bdSlukem 14142de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS 14152de962bdSlukem 14162de962bdSlukemecho ">>>>> Test succeeded" 14172de962bdSlukem 14182de962bdSlukemtest $KILLSERVERS != no && wait 14192de962bdSlukem 14202de962bdSlukemexit 0 1421