3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
5 ## Copyright 1998-2004 The OpenLDAP Foundation.
6 ## All rights reserved.
8 ## Redistribution and use in source and binary forms, with or without
9 ## modification, are permitted only as authorized by the OpenLDAP
12 ## A copy of this license is available in the file LICENSE in the
13 ## top-level directory of the distribution or, alternatively, at
14 ## <http://www.OpenLDAP.org/license.html>.
16 echo "running defines.sh"
17 . $SRCDIR/scripts/defines.sh
19 mkdir -p $TESTDIR $DBDIR1
21 echo "Running slapadd to build slapd database..."
22 . $CONFFILTER $BACKEND $MONITORDB < $LIMITSCONF > $ADDCONF
23 $SLAPADD -f $ADDCONF -l $LDIFLIMITS
25 if test $RC != 0 ; then
26 echo "slapadd failed ($RC)!"
30 echo "Running slapindex to index slapd database..."
31 . $CONFFILTER $BACKEND $MONITORDB < $LIMITSCONF > $CONF1
34 if test $RC != 0 ; then
35 echo "warning: slapindex failed ($RC)"
36 echo " assuming no indexing support"
39 echo "Starting slapd on TCP/IP port $PORT1..."
40 $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
42 if test $WAIT != 0 ; then
48 echo "Testing slapd searching..."
49 for i in 0 1 2 3 4 5; do
50 $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
51 '(objectclass=*)' > /dev/null 2>&1
53 if test $RC = 0 ; then
56 echo "Waiting 5 seconds for slapd to start..."
60 if test $RC != 0 ; then
61 echo "ldapsearch failed ($RC)!"
62 test $KILLSERVERS != no && kill -HUP $KILLPIDS
66 cat /dev/null > $SEARCHOUT
69 echo "Testing regular search limits"
72 echo "Testing no limits requested for unlimited ID..."
73 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
74 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
75 '(objectClass=*)' >$SEARCHOUT 2>&1
77 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
80 echo "...success (got $COUNT entries)"
83 echo "ldapsearch failed ($RC)!"
84 test $KILLSERVERS != no && kill -HUP $KILLPIDS
90 echo "Testing size limit request ($SIZELIMIT) for unlimited ID..."
91 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
92 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
93 '(objectClass=*)' > $SEARCHOUT 2>&1
95 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
98 echo "...success (got $COUNT entries)"
101 echo "...bumped into requested size limit ($SIZELIMIT)"
104 echo "ldapsearch failed ($RC)!"
105 test $KILLSERVERS != no && kill -HUP $KILLPIDS
111 echo "Testing time limit request ($TIMELIMIT s) for unlimited ID..."
112 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -l $TIMELIMIT \
113 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
114 '(objectClass=*)' > $SEARCHOUT 2>&1
116 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
119 echo "...success (got $COUNT entries)"
122 echo "...bumped into requested time limit ($TIMELIMIT s; $COUNT entries)"
125 echo "ldapsearch failed ($RC)!"
126 test $KILLSERVERS != no && kill -HUP $KILLPIDS
131 echo "Testing no limits requested for soft limited ID..."
132 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
133 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
134 '(objectClass=*)' > $SEARCHOUT 2>&1
136 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
139 echo "...success; didn't bump into server-side size limit (got $COUNT entries)"
142 echo "...bumped into server-side size limit ($COUNT)"
145 echo "ldapsearch failed ($RC)!"
146 test $KILLSERVERS != no && kill -HUP $KILLPIDS
152 echo "Testing lower than soft limit request ($SIZELIMIT) for soft limited ID..."
153 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
154 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
155 '(objectClass=*)' > $SEARCHOUT 2>&1
157 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
160 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
163 if test "x$COUNT" != "x" ; then
164 if test "x$SIZELIMIT" = "x$COUNT" ; then
165 echo "...bumped into requested ($SIZELIMIT) size limit"
167 echo "...bumped into server-side size limit ($COUNT)"
170 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
174 echo "ldapsearch failed ($RC)!"
175 test $KILLSERVERS != no && kill -HUP $KILLPIDS
181 echo "Testing higher than soft limit request ($SIZELIMIT) for soft limited ID..."
182 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
183 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
184 '(objectClass=*)' > $SEARCHOUT 2>&1
186 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
189 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
192 if test "x$COUNT" != "x" ; then
193 if test "x$SIZELIMIT" = "x$COUNT" ; then
194 echo "...bumped into requested ($SIZELIMIT) size limit"
196 echo "...bumped into server-side size limit ($COUNT)"
199 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
203 echo "ldapsearch failed ($RC)!"
204 test $KILLSERVERS != no && kill -HUP $KILLPIDS
210 echo "Testing lower than hard limit request ($SIZELIMIT) for hard limited ID..."
211 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
212 -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \
213 '(objectClass=*)' > $SEARCHOUT 2>&1
215 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
218 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
221 echo "...bumped into requested ($SIZELIMIT) size limit"
224 echo "ldapsearch failed ($RC)!"
225 test $KILLSERVERS != no && kill -HUP $KILLPIDS
231 echo "Testing higher than hard limit request ($SIZELIMIT) for hard limited ID..."
232 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
233 -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \
234 '(objectClass=*)' > $SEARCHOUT 2>&1
236 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
239 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
242 echo "...bumped into requested ($SIZELIMIT) size limit"
245 echo "...bumped into server-side hard size administrative limit"
248 echo "ldapsearch failed ($RC)!"
249 test $KILLSERVERS != no && kill -HUP $KILLPIDS
254 echo "Testing lower than unchecked limit request for unchecked limited ID..."
255 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
256 -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \
257 '(uid=uncheckedlimited)' > $SEARCHOUT 2>&1
259 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
262 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
265 echo "...bumped into unchecked administrative limit"
268 echo "ldapsearch failed ($RC)!"
269 test $KILLSERVERS != no && kill -HUP $KILLPIDS
274 echo "Testing higher than unchecked limit requested for unchecked limited ID..."
275 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
276 -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \
277 '(objectClass=*)' > $SEARCHOUT 2>&1
279 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
282 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
285 echo "...bumped into unchecked administrative limit"
288 echo "ldapsearch failed ($RC)!"
289 test $KILLSERVERS != no && kill -HUP $KILLPIDS
294 echo "Testing no limits requested for unchecked limited group..."
295 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
296 -D 'cn=Unchecked Limited User 2,ou=People,dc=example,dc=com' \
297 '(objectClass=*)' > $SEARCHOUT 2>&1
299 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
302 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
305 echo "...bumped into unchecked administrative limit"
308 echo "ldapsearch failed ($RC)!"
309 test $KILLSERVERS != no && kill -HUP $KILLPIDS
314 echo "Testing no limits requested for limited regex..."
315 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
316 -D 'cn=Foo User,ou=People,dc=example,dc=com' \
317 '(objectClass=*)' > $SEARCHOUT 2>&1
319 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
322 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
325 if test "x$COUNT" != "x" ; then
326 if test "x$SIZELIMIT" = "x$COUNT" ; then
327 echo "...bumped into requested ($SIZELIMIT) size limit"
329 echo "...bumped into server-side size limit ($COUNT)"
332 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
336 echo "ldapsearch failed ($RC)!"
337 test $KILLSERVERS != no && kill -HUP $KILLPIDS
342 echo "Testing no limits requested for limited onelevel..."
343 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
344 -D 'cn=Bar User,ou=People,dc=example,dc=com' \
345 '(objectClass=*)' > $SEARCHOUT 2>&1
347 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
350 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
353 if test "x$COUNT" != "x" ; then
354 if test "x$SIZELIMIT" = "x$COUNT" ; then
355 echo "...bumped into requested ($SIZELIMIT) size limit"
357 echo "...bumped into server-side size limit ($COUNT)"
360 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
364 echo "ldapsearch failed ($RC)!"
365 test $KILLSERVERS != no && kill -HUP $KILLPIDS
370 echo "Testing no limit requested for limited children..."
371 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
372 -D 'cn=Unchecked Limited Users,ou=Groups,dc=example,dc=com' \
373 '(objectClass=*)' > $SEARCHOUT 2>&1
375 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
378 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
381 if test "x$COUNT" != "x" ; then
382 if test "x$SIZELIMIT" = "x$COUNT" ; then
383 echo "...bumped into requested ($SIZELIMIT) size limit"
385 echo "...bumped into server-side size limit ($COUNT)"
388 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
392 echo "ldapsearch failed ($RC)!"
393 test $KILLSERVERS != no && kill -HUP $KILLPIDS
398 echo "Testing no limit requested for limited subtree..."
399 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
400 -D 'cn=Unchecked Limited User 3,ou=Admin,dc=example,dc=com' \
401 '(objectClass=*)' > $SEARCHOUT 2>&1
403 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
406 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
409 if test "x$COUNT" != "x" ; then
410 if test "x$SIZELIMIT" = "x$COUNT" ; then
411 echo "...bumped into requested ($SIZELIMIT) size limit"
413 echo "...bumped into server-side size limit ($COUNT)"
416 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
420 echo "ldapsearch failed ($RC)!"
421 test $KILLSERVERS != no && kill -HUP $KILLPIDS
426 echo "Testing no limit requested for limited users..."
427 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
428 -D 'cn=Special User,dc=example,dc=com' \
429 '(objectClass=*)' > $SEARCHOUT 2>&1
431 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
434 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
437 if test "x$COUNT" != "x" ; then
438 if test "x$SIZELIMIT" = "x$COUNT" ; then
439 echo "...bumped into requested ($SIZELIMIT) size limit"
441 echo "...bumped into server-side size limit ($COUNT)"
444 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
448 echo "ldapsearch failed ($RC)!"
449 test $KILLSERVERS != no && kill -HUP $KILLPIDS
454 echo "Testing no limit requested for limited anonymous..."
455 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
456 '(objectClass=*)' > $SEARCHOUT 2>&1
458 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
461 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
464 if test "x$COUNT" != "x" ; then
465 if test "x$SIZELIMIT" = "x$COUNT" ; then
466 echo "...bumped into requested ($SIZELIMIT) size limit"
468 echo "...bumped into server-side size limit ($COUNT)"
471 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
475 echo "ldapsearch failed ($RC)!"
476 test $KILLSERVERS != no && kill -HUP $KILLPIDS
483 # only bdb|hdb currently supports pagedResults control
486 test $KILLSERVERS != no && kill -HUP $KILLPIDS
488 echo ">>>>> Test succeeded"
494 echo "Testing regular search limits with pagedResults control"
498 echo "Testing no limits requested for unlimited ID..."
499 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
500 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
501 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null >$SEARCHOUT 2>&1
503 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
506 echo "...success (got $COUNT entries)"
509 echo "ldapsearch failed ($RC)!"
510 test $KILLSERVERS != no && kill -HUP $KILLPIDS
516 echo "Testing size limit request ($SIZELIMIT) for unlimited ID..."
517 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
518 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
519 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
521 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
524 echo "...success (got $COUNT entries)"
527 echo "...bumped into requested size limit ($SIZELIMIT)"
530 echo "ldapsearch failed ($RC)!"
531 test $KILLSERVERS != no && kill -HUP $KILLPIDS
537 echo "Testing time limit request ($TIMELIMIT s) for unlimited ID..."
538 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -l $TIMELIMIT \
539 -D 'cn=Unlimited User,ou=People,dc=example,dc=com' \
540 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
542 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
545 echo "...success (got $COUNT entries)"
548 echo "...bumped into requested time limit ($TIMELIMIT s; $COUNT entries)"
551 echo "ldapsearch failed ($RC)!"
552 test $KILLSERVERS != no && kill -HUP $KILLPIDS
557 echo "Testing no limits requested for soft limited ID..."
558 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
559 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
560 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
562 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
565 echo "...success; didn't bump into server-side size limit (got $COUNT entries)"
568 echo "...bumped into server-side size limit ($COUNT)"
571 echo "ldapsearch failed ($RC)!"
572 test $KILLSERVERS != no && kill -HUP $KILLPIDS
578 echo "Testing lower than soft limit request ($SIZELIMIT) for soft limited ID..."
579 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
580 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
581 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
583 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
586 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
589 if test "x$COUNT" != "x" ; then
590 if test "x$SIZELIMIT" = "x$COUNT" ; then
591 echo "...bumped into requested ($SIZELIMIT) size limit"
593 echo "...bumped into server-side size limit ($COUNT)"
596 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
600 echo "ldapsearch failed ($RC)!"
601 test $KILLSERVERS != no && kill -HUP $KILLPIDS
607 echo "Testing higher than soft limit request ($SIZELIMIT) for soft limited ID..."
608 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
609 -D 'cn=Soft Limited User,ou=People,dc=example,dc=com' \
610 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
612 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
615 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
618 if test "x$COUNT" != "x" ; then
619 if test "x$SIZELIMIT" = "x$COUNT" ; then
620 echo "...bumped into requested ($SIZELIMIT) size limit"
622 echo "...bumped into server-side size limit ($COUNT)"
625 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
629 echo "ldapsearch failed ($RC)!"
630 test $KILLSERVERS != no && kill -HUP $KILLPIDS
636 echo "Testing lower than hard limit request ($SIZELIMIT) for hard limited ID..."
637 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
638 -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \
639 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
641 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
644 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
647 echo "...bumped into requested ($SIZELIMIT) size limit"
650 echo "ldapsearch failed ($RC)!"
651 test $KILLSERVERS != no && kill -HUP $KILLPIDS
657 echo "Testing higher than hard limit request ($SIZELIMIT) for hard limited ID..."
658 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret -z $SIZELIMIT \
659 -D 'cn=Hard Limited User,ou=People,dc=example,dc=com' \
660 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
662 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
665 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side size limit (got $COUNT entries)"
668 echo "...bumped into requested ($SIZELIMIT) size limit"
671 echo "...bumped into hard size administrative limit"
674 echo "ldapsearch failed ($RC)!"
675 test $KILLSERVERS != no && kill -HUP $KILLPIDS
680 echo "Testing lower than unchecked limit request for unchecked limited ID..."
681 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
682 -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \
683 -E '!pr='$PAGESIZE '(uid=uncheckedlimited)' </dev/null > $SEARCHOUT 2>&1
685 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
688 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
691 echo "...bumped into unchecked administrative limit"
694 echo "ldapsearch failed ($RC)!"
695 test $KILLSERVERS != no && kill -HUP $KILLPIDS
700 echo "Testing higher than unchecked limit requested for unchecked limited ID..."
701 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
702 -D 'cn=Unchecked Limited User,ou=People,dc=example,dc=com' \
703 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
705 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
708 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
711 echo "...bumped into unchecked administrative limit"
714 echo "ldapsearch failed ($RC)!"
715 test $KILLSERVERS != no && kill -HUP $KILLPIDS
721 echo "Testing specific search limits with pagedResults control"
724 echo "Testing no limit requested for unlimited page size ID..."
725 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
726 -D 'cn=Unlimited User,ou=Paged Results Users,dc=example,dc=com' \
727 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
729 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
732 echo "...success; didn't bump into server-side size limit (got $COUNT entries)"
735 echo "...bumped into server-side size limit ($COUNT)"
738 echo "ldapsearch failed ($RC)!"
739 test $KILLSERVERS != no && kill -HUP $KILLPIDS
744 echo "Testing no limit requested for limited page size ID..."
745 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
746 -D 'cn=Page Size Limited User,ou=Paged Results Users,dc=example,dc=com' \
747 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
749 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
752 echo "...success; didn't bump into server-side page size limit (got $COUNT entries)"
755 echo "...bumped into page size limit ($COUNT)"
758 echo "...bumped into page size administrative limit"
761 echo "ldapsearch failed ($RC)!"
762 test $KILLSERVERS != no && kill -HUP $KILLPIDS
767 echo "Testing no limit requested for pagedResults disabled ID..."
768 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
769 -D 'cn=Paged Results Disabled User,ou=Paged Results Users,dc=example,dc=com' \
770 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
772 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
775 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
778 echo "...bumped into server-side size limit ($COUNT)"
781 echo "...bumped into pagedResults disabled administrative limit"
784 echo "ldapsearch failed ($RC)!"
785 test $KILLSERVERS != no && kill -HUP $KILLPIDS
790 echo "Testing no limit requested for pagedResults total count limited ID..."
791 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
792 -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \
793 -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
795 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
798 echo "...success; didn't bump into server-side unchecked limit (got $COUNT entries)"
801 echo "...bumped into server-side size limit ($COUNT)"
804 echo "...bumped into pagedResults total count administrative limit"
807 echo "ldapsearch failed ($RC)!"
808 test $KILLSERVERS != no && kill -HUP $KILLPIDS
814 echo "Testing higher than hard but lower then total count limit requested for pagedResults total count limited ID..."
815 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
816 -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \
817 -z $SIZELIMIT -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
819 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
822 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side unchecked limit (got $COUNT entries)"
825 if test "x$COUNT" != "x" ; then
826 if test "x$SIZELIMIT" = "x$COUNT" ; then
827 echo "...bumped into requested ($SIZELIMIT) size limit"
829 echo "...bumped into server-side size limit ($COUNT)"
832 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
836 echo "...bumped into either hard size or pagedResults total count administrative limit"
839 echo "ldapsearch failed ($RC)!"
840 test $KILLSERVERS != no && kill -HUP $KILLPIDS
846 echo "Testing higher than total count limit requested for pagedResults total count limited ID..."
847 $LDAPRSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 -w secret \
848 -D 'cn=Paged Results Limited User,ou=Paged Results Users,dc=example,dc=com' \
849 -z $SIZELIMIT -E '!pr='$PAGESIZE '(objectClass=*)' </dev/null > $SEARCHOUT 2>&1
851 COUNT=`awk '/^# numEntries:/ {print $3}' $SEARCHOUT`
854 echo "...success; didn't bump into either requested ($SIZELIMIT) or server-side unchecked limit (got $COUNT entries)"
857 if test "x$COUNT" != "x" ; then
858 if test "x$SIZELIMIT" = "x$COUNT" ; then
859 echo "...bumped into requested ($SIZELIMIT) size limit"
861 echo "...bumped into server-side size limit ($COUNT)"
864 echo "...bumped into either requested ($SIZELIMIT) or server-side size limit"
868 echo "...bumped into pagedResults total count administrative limit"
871 echo "ldapsearch failed ($RC)!"
872 test $KILLSERVERS != no && kill -HUP $KILLPIDS
877 test $KILLSERVERS != no && kill -HUP $KILLPIDS
879 echo ">>>>> Test succeeded"