]> git.sur5r.net Git - openldap/blob - tests/scripts/test044-dynlist
Update copyright for next release
[openldap] / tests / scripts / test044-dynlist
1 #! /bin/sh
2 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
3 ##
4 ## Copyright 1998-2009 The OpenLDAP Foundation.
5 ## All rights reserved.
6 ##
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted only as authorized by the OpenLDAP
9 ## Public License.
10 ##
11 ## A copy of this license is available in the file LICENSE in the
12 ## top-level directory of the distribution or, alternatively, at
13 ## <http://www.OpenLDAP.org/license.html>.
14
15 echo "running defines.sh"
16 . $SRCDIR/scripts/defines.sh
17
18 if test $DYNLIST = "dynlistno" ; then 
19         echo "dynlist overlay not available, test skipped"
20         exit 0
21 fi 
22
23 mkdir -p $TESTDIR $DBDIR1
24
25 $SLAPPASSWD -g -n >$CONFIGPWF
26 echo "rootpw `$SLAPPASSWD -T $CONFIGPWF`" >$TESTDIR/configpw.conf
27
28 echo "Running slapadd to build slapd database..."
29 . $CONFFILTER $BACKEND $MONITORDB < $MCONF > $ADDCONF
30 $SLAPADD -f $ADDCONF -l $LDIFORDERED
31 RC=$?
32 if test $RC != 0 ; then
33         echo "slapadd failed ($RC)!"
34         exit $RC
35 fi
36
37 . $CONFFILTER $BACKEND $MONITORDB < $DYNLISTCONF > $CONF1
38
39 echo "Starting slapd on TCP/IP port $PORT1..."
40 $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
41 PID=$!
42 if test $WAIT != 0 ; then
43     echo PID $PID
44     read foo
45 fi
46 KILLPIDS="$PID"
47
48 sleep 1
49
50 echo "Testing slapd searching..."
51 for i in 0 1 2 3 4 5; do
52         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
53                 '(objectclass=*)' > /dev/null 2>&1
54         RC=$?
55         if test $RC = 0 ; then
56                 break
57         fi
58         echo "Waiting 5 seconds for slapd to start..."
59         sleep 5
60 done
61
62 if test $RC != 0 ; then
63         echo "ldapsearch failed ($RC)!"
64         test $KILLSERVERS != no && kill -HUP $KILLPIDS
65         exit $RC
66 fi
67
68 cat /dev/null > $SEARCHOUT
69
70 LISTDN="ou=Dynamic Lists,$BASEDN"
71 echo "Adding a dynamic list..."
72 $LDAPADD -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
73         > $TESTOUT 2>&1 << EOMODS
74 dn: $LISTDN
75 objectClass: organizationalUnit
76 ou: Dynamic Lists
77
78 dn: cn=Dynamic List,$LISTDN
79 objectClass: groupOfURLs
80 cn: Dynamic List
81 memberURL: ldap:///ou=People,${BASEDN}?cn,mail?sub?(objectClass=person)
82 EOMODS
83
84 echo "Testing list search of all attrs..."
85 echo "# Testing list search of all attrs..." >> $SEARCHOUT
86 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
87         '(cn=Dynamic List)' '*' \
88         >> $SEARCHOUT 2>&1
89 RC=$?
90 if test $RC != 0 ; then
91         echo "ldapsearch failed ($RC)!"
92         test $KILLSERVERS != no && kill -HUP $KILLPIDS
93         exit $RC
94 fi
95
96 echo "Testing list search of a listed attr..."
97 echo "# Testing list search of a listed attr..." >> $SEARCHOUT
98 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
99         '(cn=Dynamic List)' mail \
100         >> $SEARCHOUT 2>&1
101 RC=$?
102 if test $RC != 0 ; then
103         echo "ldapsearch failed ($RC)!"
104         test $KILLSERVERS != no && kill -HUP $KILLPIDS
105         exit $RC
106 fi
107
108 echo "Testing list search of a non-listed attr..."
109 echo "# Testing list search of a non-listed attr..." >> $SEARCHOUT
110 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
111         '(cn=Dynamic List)' objectClass \
112         >> $SEARCHOUT 2>&1
113 RC=$?
114 if test $RC != 0 ; then
115         echo "ldapsearch failed ($RC)!"
116         test $KILLSERVERS != no && kill -HUP $KILLPIDS
117         exit $RC
118 fi
119
120 echo "Testing list search with (critical) manageDSAit..."
121 echo "# Testing list search with (critical) manageDSAit..." >> $SEARCHOUT
122 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 -MM \
123         '(cn=Dynamic List)' '*' \
124         >> $SEARCHOUT 2>&1
125 RC=$?
126 if test $RC != 0 ; then
127         echo "ldapsearch failed ($RC)!"
128         test $KILLSERVERS != no && kill -HUP $KILLPIDS
129         exit $RC
130 fi
131
132 echo "Testing list compare..."
133 echo "# Testing list compare..." >> $SEARCHOUT
134 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
135         "cn=Dynamic List,$LISTDN" "cn:Bjorn Jensen" \
136         >> $SEARCHOUT 2>&1
137 RC=$?
138 case $RC in
139 5)
140         echo "ldapcompare returned FALSE ($RC)!"
141         test $KILLSERVERS != no && kill -HUP $KILLPIDS
142         exit $RC
143         ;;
144 6)
145         echo "ldapcompare returned TRUE ($RC)"
146         ;;
147 0)
148         echo "ldapcompare returned success ($RC)!"
149         test $KILLSERVERS != no && kill -HUP $KILLPIDS
150         exit -1
151         ;;
152 *)
153         echo "ldapcompare failed ($RC)!"
154         test $KILLSERVERS != no && kill -HUP $KILLPIDS
155         exit $RC
156         ;;
157 esac
158 echo "" >> $SEARCHOUT
159
160 echo "Testing list compare (should return FALSE)..."
161 echo "# Testing list compare (should return FALSE)..." >> $SEARCHOUT
162 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
163         "cn=Dynamic List,$LISTDN" "cn:FALSE" \
164         >> $SEARCHOUT 2>&1
165 RC=$?
166 case $RC in
167 5)
168         echo "ldapcompare returned FALSE ($RC)"
169         ;;
170 6)
171         echo "ldapcompare returned TRUE ($RC)!"
172         test $KILLSERVERS != no && kill -HUP $KILLPIDS
173         exit $RC
174         ;;
175 0)
176         echo "ldapcompare returned success ($RC)!"
177         test $KILLSERVERS != no && kill -HUP $KILLPIDS
178         exit -1
179         ;;
180 *)
181         echo "ldapcompare failed ($RC)!"
182         test $KILLSERVERS != no && kill -HUP $KILLPIDS
183         exit $RC
184         ;;
185 esac
186 echo "" >> $SEARCHOUT
187
188 echo "Testing list compare (should return UNDEFINED)..."
189 echo "# Testing list compare (should return UNDEFINED)..." >> $SEARCHOUT
190 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
191         "cn=Dynamic List,$LISTDN" "dc:UNDEFINED" \
192         >> $SEARCHOUT 2>&1
193 RC=$?
194 case $RC in
195 5)
196         echo "ldapcompare returned FALSE ($RC)!"
197         test $KILLSERVERS != no && kill -HUP $KILLPIDS
198         exit $RC
199         ;;
200 6)
201         echo "ldapcompare returned TRUE ($RC)!"
202         test $KILLSERVERS != no && kill -HUP $KILLPIDS
203         exit $RC
204         ;;
205 16|32)
206         echo "ldapcompare returned UNDEFINED ($RC)"
207         ;;
208 0)
209         echo "ldapcompare returned success ($RC)!"
210         test $KILLSERVERS != no && kill -HUP $KILLPIDS
211         exit -1
212         ;;
213 *)
214         echo "ldapcompare failed ($RC)"
215         ;;
216 esac
217 echo "" >> $SEARCHOUT
218
219 echo "Testing list compare with manageDSAit..."
220 echo "# Testing list compare with manageDSAit..." >> $SEARCHOUT
221 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 -MM \
222         "cn=Dynamic List,$LISTDN" "cn:Bjorn Jensen" \
223         >> $SEARCHOUT 2>&1
224 RC=$?
225 case $RC in
226 5)
227         echo "ldapcompare returned FALSE ($RC)"
228         ;;
229 6)
230         echo "ldapcompare returned TRUE ($RC)!"
231         test $KILLSERVERS != no && kill -HUP $KILLPIDS
232         exit $RC
233         ;;
234 0)
235         echo "ldapcompare returned success ($RC)!"
236         test $KILLSERVERS != no && kill -HUP $KILLPIDS
237         exit -1
238         ;;
239 *)
240         echo "ldapcompare failed ($RC)!"
241         test $KILLSERVERS != no && kill -HUP $KILLPIDS
242         exit $RC
243         ;;
244 esac
245 echo "" >> $SEARCHOUT
246
247 echo "Reconfiguring slapd..."
248 $LDAPMODIFY -x -D cn=config -h $LOCALHOST -p $PORT1 -y $CONFIGPWF > \
249         $TESTOUT 2>&1 << EOMODS
250 version: 1
251 dn: olcOverlay={0}dynlist,olcDatabase={2}$BACKEND,cn=config
252 changetype: modify
253 delete: olcDLattrSet
254 olcDLattrSet: {0}
255 -
256 add: olcDLattrSet
257 olcDLattrSet: groupOfURLs memberURL sn:cn mail
258 -
259 EOMODS
260
261 echo "==========================================================" >> $LOG1
262
263 echo "Testing attribute mapping"
264
265 echo "Testing list search of all (mapped) attrs..."
266 echo "# Testing list search of all (mapped) attrs..." >> $SEARCHOUT
267 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
268         '(cn=Dynamic List)' '*' \
269         >> $SEARCHOUT 2>&1
270 RC=$?
271 if test $RC != 0 ; then
272         echo "ldapsearch failed ($RC)!"
273         test $KILLSERVERS != no && kill -HUP $KILLPIDS
274         exit $RC
275 fi
276
277 echo "Testing list search of a (mapped) listed attr..."
278 echo "# Testing list search of a (mapped) listed attr..." >> $SEARCHOUT
279 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
280         '(cn=Dynamic List)' sn \
281         >> $SEARCHOUT 2>&1
282 RC=$?
283 if test $RC != 0 ; then
284         echo "ldapsearch failed ($RC)!"
285         test $KILLSERVERS != no && kill -HUP $KILLPIDS
286         exit $RC
287 fi
288
289 echo "Testing list search of a (n unmapped) listed attr..."
290 echo "# Testing list search of a (n unmapped) listed attr..." >> $SEARCHOUT
291 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
292         '(cn=Dynamic List)' mail \
293         >> $SEARCHOUT 2>&1
294 RC=$?
295 if test $RC != 0 ; then
296         echo "ldapsearch failed ($RC)!"
297         test $KILLSERVERS != no && kill -HUP $KILLPIDS
298         exit $RC
299 fi
300
301 echo "Testing list compare (mapped attrs) ..."
302 echo "# Testing list compare (mapped attrs) ..." >> $SEARCHOUT
303 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
304         "cn=Dynamic List,$LISTDN" "sn:Bjorn Jensen" \
305         >> $SEARCHOUT 2>&1
306 RC=$?
307 case $RC in
308 5)
309         echo "ldapcompare returned FALSE ($RC)!"
310         test $KILLSERVERS != no && kill -HUP $KILLPIDS
311         exit $RC
312         ;;
313 6)
314         echo "ldapcompare returned TRUE ($RC)"
315         ;;
316 0)
317         echo "ldapcompare returned success ($RC)!"
318         test $KILLSERVERS != no && kill -HUP $KILLPIDS
319         exit -1
320         ;;
321 *)
322         echo "ldapcompare failed ($RC)!"
323         test $KILLSERVERS != no && kill -HUP $KILLPIDS
324         exit $RC
325         ;;
326 esac
327 echo "" >> $SEARCHOUT
328
329 echo "Testing list compare (mapped attrs; should return FALSE)..."
330 echo "# Testing list compare (mapped attrs; should return FALSE)..." >> $SEARCHOUT
331 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
332         "cn=Dynamic List,$LISTDN" "sn:FALSE" \
333         >> $SEARCHOUT 2>&1
334 RC=$?
335 case $RC in
336 5)
337         echo "ldapcompare returned FALSE ($RC)"
338         ;;
339 6)
340         echo "ldapcompare returned TRUE ($RC)!"
341         test $KILLSERVERS != no && kill -HUP $KILLPIDS
342         exit $RC
343         ;;
344 0)
345         echo "ldapcompare returned success ($RC)!"
346         test $KILLSERVERS != no && kill -HUP $KILLPIDS
347         exit -1
348         ;;
349 *)
350         echo "ldapcompare failed ($RC)!"
351         test $KILLSERVERS != no && kill -HUP $KILLPIDS
352         exit $RC
353         ;;
354 esac
355 echo "" >> $SEARCHOUT
356
357 echo "Reconfiguring slapd..."
358 $LDAPMODIFY -x -D cn=config -h $LOCALHOST -p $PORT1 -y $CONFIGPWF > \
359         $TESTOUT 2>&1 << EOMODS
360 version: 1
361 dn: olcOverlay={0}dynlist,olcDatabase={2}$BACKEND,cn=config
362 changetype: modify
363 delete: olcDLattrSet
364 olcDLattrSet: {0}
365 -
366 add: olcDLattrSet
367 olcDLattrSet: groupOfURLs memberURL member
368 -
369 EOMODS
370
371 echo "==========================================================" >> $LOG1
372
373 echo "Adding a dynamic list..."
374 $LDAPADD -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
375         > $TESTOUT 2>&1 << EOMODS
376 dn: cn=Dynamic List of Members,$LISTDN
377 objectClass: groupOfURLs
378 cn: Dynamic List of Members
379 memberURL: ldap:///ou=People,${BASEDN}??sub?(objectClass=person)
380 EOMODS
381
382 echo "Testing list search of all attrs..."
383 echo "# Testing list search of all attrs..." >> $SEARCHOUT
384 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
385         '(cn=Dynamic List of Members)' '*' \
386         >> $SEARCHOUT 2>&1
387 RC=$?
388 if test $RC != 0 ; then
389         echo "ldapsearch failed ($RC)!"
390         test $KILLSERVERS != no && kill -HUP $KILLPIDS
391         exit $RC
392 fi
393
394 echo "Testing list search of a listed attr..."
395 echo "# Testing list search of a listed attr..." >> $SEARCHOUT
396 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
397         '(cn=Dynamic List of Members)' member \
398         >> $SEARCHOUT 2>&1
399 RC=$?
400 if test $RC != 0 ; then
401         echo "ldapsearch failed ($RC)!"
402         test $KILLSERVERS != no && kill -HUP $KILLPIDS
403         exit $RC
404 fi
405
406 echo "Testing list search of a non-listed attr..."
407 echo "# Testing list search of a non-listed attr..." >> $SEARCHOUT
408 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
409         '(cn=Dynamic List of Members)' objectClass \
410         >> $SEARCHOUT 2>&1
411 RC=$?
412 if test $RC != 0 ; then
413         echo "ldapsearch failed ($RC)!"
414         test $KILLSERVERS != no && kill -HUP $KILLPIDS
415         exit $RC
416 fi
417
418 echo "Testing list search with (critical) manageDSAit..."
419 echo "# Testing list search with (critical) manageDSAit..." >> $SEARCHOUT
420 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 -MM \
421         '(&(cn=Dynamic List of Members)(objectClass=groupOfURLs))' '*' \
422         >> $SEARCHOUT 2>&1
423 RC=$?
424 if test $RC != 0 ; then
425         echo "ldapsearch failed ($RC)!"
426         test $KILLSERVERS != no && kill -HUP $KILLPIDS
427         exit $RC
428 fi
429
430 CMPDN="$BJORNSDN"
431 echo "Testing list compare..."
432 echo "# Testing list compare..." >> $SEARCHOUT
433 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
434         "cn=Dynamic List of Members,$LISTDN" "member:$CMPDN" \
435         >> $SEARCHOUT 2>&1
436 RC=$?
437 case $RC in
438 5)
439         echo "ldapcompare returned FALSE ($RC)!"
440         test $KILLSERVERS != no && kill -HUP $KILLPIDS
441         exit $RC
442         ;;
443 6)
444         echo "ldapcompare returned TRUE ($RC)"
445         ;;
446 0)
447         echo "ldapcompare returned success ($RC)!"
448         test $KILLSERVERS != no && kill -HUP $KILLPIDS
449         exit -1
450         ;;
451 *)
452         echo "ldapcompare failed ($RC)!"
453         test $KILLSERVERS != no && kill -HUP $KILLPIDS
454         exit $RC
455         ;;
456 esac
457 echo "" >> $SEARCHOUT
458
459 echo "Testing list compare (should return FALSE)..."
460 echo "# Testing list compare (should return FALSE)..." >> $SEARCHOUT
461 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
462         "cn=Dynamic List of Members,$LISTDN" "member:cn=Foo Bar" \
463         >> $SEARCHOUT 2>&1
464 RC=$?
465 case $RC in
466 5)
467         echo "ldapcompare returned FALSE ($RC)"
468         ;;
469 6)
470         echo "ldapcompare returned TRUE ($RC)!"
471         test $KILLSERVERS != no && kill -HUP $KILLPIDS
472         exit $RC
473         ;;
474 0)
475         echo "ldapcompare returned success ($RC)!"
476         test $KILLSERVERS != no && kill -HUP $KILLPIDS
477         exit -1
478         ;;
479 *)
480         echo "ldapcompare failed ($RC)!"
481         test $KILLSERVERS != no && kill -HUP $KILLPIDS
482         exit $RC
483         ;;
484 esac
485 echo "" >> $SEARCHOUT
486
487 echo "Testing list compare with manageDSAit..."
488 echo "# Testing list compare with manageDSAit..." >> $SEARCHOUT
489 $LDAPCOMPARE -h $LOCALHOST -p $PORT1 -MM \
490         "cn=Dynamic List,$LISTDN" "member:$CMPDN" \
491         >> $SEARCHOUT 2>&1
492 RC=$?
493 case $RC in
494 5)
495         echo "ldapcompare returned FALSE ($RC)"
496         ;;
497 6)
498         echo "ldapcompare returned TRUE ($RC)!"
499         test $KILLSERVERS != no && kill -HUP $KILLPIDS
500         exit $RC
501         ;;
502 0)
503         echo "ldapcompare returned success ($RC)!"
504         test $KILLSERVERS != no && kill -HUP $KILLPIDS
505         exit -1
506         ;;
507 *)
508         echo "ldapcompare failed ($RC)!"
509         test $KILLSERVERS != no && kill -HUP $KILLPIDS
510         exit $RC
511         ;;
512 esac
513 echo "" >> $SEARCHOUT
514
515 echo "==========================================================" >> $LOG1
516
517 echo "Testing dgIdentity..."
518
519 # Set ACL, require authentication to get list contents
520 $LDAPMODIFY -x -D cn=config -h $LOCALHOST -p $PORT1 -y $CONFIGPWF > \
521         $TESTOUT 2>&1 << EOMODS
522 version: 1
523 dn: olcDatabase={2}$BACKEND,cn=config
524 changetype: modify
525 add: olcAccess
526 olcAccess: to dn.base="cn=Dynamic List of Members,$LISTDN" by * read
527 olcAccess: to * by users read by * search
528 EOMODS
529
530 echo "Testing list search without dgIdentity..."
531 echo "# Testing list search without dgIdentity..." >> $SEARCHOUT
532 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
533         '(cn=Dynamic List of Members)' '*' \
534         >> $SEARCHOUT 2>&1
535 RC=$?
536 if test $RC != 0 ; then
537         echo "ldapsearch failed ($RC)!"
538         test $KILLSERVERS != no && kill -HUP $KILLPIDS
539         exit $RC
540 fi
541
542 $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
543         > $TESTOUT 2>&1 << EOMODS
544 dn: cn=Dynamic List of Members,$LISTDN
545 changetype: modify
546 add: objectClass
547 objectClass: dgIdentityAux
548 -
549 add: dgIdentity
550 dgIdentity: $CMPDN
551 EOMODS
552
553 echo "Testing list search with dgIdentity..."
554 echo "# Testing list search with dgIdentity..." >> $SEARCHOUT
555 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
556         '(cn=Dynamic List of Members)' '*' \
557         >> $SEARCHOUT 2>&1
558 RC=$?
559 if test $RC != 0 ; then
560         echo "ldapsearch failed ($RC)!"
561         test $KILLSERVERS != no && kill -HUP $KILLPIDS
562         exit $RC
563 fi
564
565 echo "Testing dgAuthz..."
566
567 CMPDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,$BASEDN"
568 $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
569         > $TESTOUT 2>&1 << EOMODS
570 dn: cn=Dynamic List of Members,$LISTDN
571 changetype: modify
572 add: dgAuthz
573 dgAuthz: dn:$BABSDN
574 EOMODS
575
576 echo "Testing list search with dgIdentity and dgAuthz anonymously..."
577 echo "# Testing list search with dgIdentity and dgAuthz anonymously..." >> $SEARCHOUT
578 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
579         '(cn=Dynamic List of Members)' '*' \
580         >> $SEARCHOUT 2>&1
581 RC=$?
582 if test $RC != 0 ; then
583         echo "ldapsearch failed ($RC)!"
584         test $KILLSERVERS != no && kill -HUP $KILLPIDS
585         exit $RC
586 fi
587
588 echo "Testing list search with dgIdentity and dgAuthz as the authorized identity..."
589 echo "# Testing list search with dgIdentity and dgAuthz as the authorized identity..." >> $SEARCHOUT
590 $LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
591         -D "$BABSDN" -w bjensen \
592         '(cn=Dynamic List of Members)' '*' \
593         >> $SEARCHOUT 2>&1
594 RC=$?
595 if test $RC != 0 ; then
596         echo "ldapsearch failed ($RC)!"
597         test $KILLSERVERS != no && kill -HUP $KILLPIDS
598         exit $RC
599 fi
600
601 test $KILLSERVERS != no && kill -HUP $KILLPIDS
602
603 LDIF=$DYNLISTOUT
604
605 echo "Filtering ldapsearch results..."
606 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
607 echo "Filtering original ldif used to create database..."
608 . $LDIFFILTER < $LDIF > $LDIFFLT
609 echo "Comparing filter output..."
610 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
611
612 if test $? != 0 ; then
613         echo "Comparison failed"
614         exit 1
615 fi
616
617 echo ">>>>> Test succeeded"
618
619 test $KILLSERVERS != no && wait
620
621 exit 0