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