12de962bdSlukem#! /bin/sh 2d11b170bStron# $OpenLDAP$ 32de962bdSlukem## This work is part of OpenLDAP Software <http://www.openldap.org/>. 42de962bdSlukem## 5*e670fd5cSchristos## Copyright 1998-2021 The OpenLDAP Foundation. 62de962bdSlukem## All rights reserved. 72de962bdSlukem## 82de962bdSlukem## Redistribution and use in source and binary forms, with or without 92de962bdSlukem## modification, are permitted only as authorized by the OpenLDAP 102de962bdSlukem## Public License. 112de962bdSlukem## 122de962bdSlukem## A copy of this license is available in the file LICENSE in the 132de962bdSlukem## top-level directory of the distribution or, alternatively, at 142de962bdSlukem## <http://www.OpenLDAP.org/license.html>. 152de962bdSlukem 162de962bdSlukemecho "running defines.sh" 172de962bdSlukem. $SRCDIR/scripts/defines.sh 182de962bdSlukem 192de962bdSlukemif test $BACKSQL = "sqlno" ; then 202de962bdSlukem echo "SQL backend not available, test skipped" 212de962bdSlukem exit 0 222de962bdSlukemfi 232de962bdSlukem 242de962bdSlukemif test $RDBMS = "rdbmsno" ; then 252de962bdSlukem echo "SQL test not requested, test skipped" 262de962bdSlukem exit 0 272de962bdSlukemfi 282de962bdSlukem 292de962bdSlukemif test "${RDBMSWRITE}" != "yes"; then 302de962bdSlukem echo "write test disabled for ${RDBMS}; set SLAPD_USE_SQLWRITE=yes to enable" 312de962bdSlukem exit 0 322de962bdSlukemfi 332de962bdSlukem 342de962bdSlukemmkdir -p $TESTDIR 352de962bdSlukem 362de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 37*e670fd5cSchristos. $CONFFILTER $BACKEND < $SQLCONF > $CONF1 38*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 392de962bdSlukemPID=$! 402de962bdSlukemif test $WAIT != 0 ; then 412de962bdSlukem echo PID $PID 422de962bdSlukem read foo 432de962bdSlukemfi 442de962bdSlukemKILLPIDS="$PID" 452de962bdSlukem 462de962bdSlukemecho "Testing SQL backend write operations..." 472de962bdSlukemfor i in 0 1 2 3 4 5; do 48*e670fd5cSchristos $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ 492de962bdSlukem 'objectclass=*' > /dev/null 2>&1 502de962bdSlukem RC=$? 512de962bdSlukem if test $RC = 0 ; then 522de962bdSlukem break 532de962bdSlukem fi 542de962bdSlukem echo "Waiting 5 seconds for slapd to start..." 552de962bdSlukem sleep 5 562de962bdSlukemdone 572de962bdSlukem 582de962bdSlukemif test $RC != 0 ; then 592de962bdSlukem echo "ldapsearch failed ($RC)!" 602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 612de962bdSlukem exit $RC 622de962bdSlukemfi 632de962bdSlukem 642de962bdSlukemcat /dev/null > $SEARCHOUT 652de962bdSlukem 662de962bdSlukemBASEDN="dc=example,dc=com" 672de962bdSlukem 682de962bdSlukemecho "Using ldapsearch to retrieve all the entries..." 692de962bdSlukemecho "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 70*e670fd5cSchristos$LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 712de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 722de962bdSlukem 732de962bdSlukemRC=$? 742de962bdSlukemif test $RC != 0 ; then 752de962bdSlukem echo "ldapsearch failed ($RC)!" 762de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 772de962bdSlukem exit $RC 782de962bdSlukemfi 792de962bdSlukem 802de962bdSlukemcase ${RDBMS} in 812de962bdSlukem # list here the RDBMSes whose mapping allows writes 822de962bdSlukempgsql|ibmdb2) 832de962bdSlukem MANAGERDN="cn=Manager,${BASEDN}" 842de962bdSlukem echo "Testing add..." 852de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 86*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 872de962bdSlukemversion: 1 882de962bdSlukem 892de962bdSlukem# Adding an organization... 902de962bdSlukemdn: o=An Org,${BASEDN} 912de962bdSlukemchangetype: add 922de962bdSlukemobjectClass: organization 932de962bdSlukemo: An Org 942de962bdSlukem 952de962bdSlukem# Adding an organization with an "auxiliary" objectClass.. 962de962bdSlukemdn: dc=subnet,${BASEDN} 972de962bdSlukemchangetype: add 982de962bdSlukemobjectClass: organization 992de962bdSlukemobjectClass: dcObject 1002de962bdSlukemo: SubNet 1012de962bdSlukemdc: subnet 1022de962bdSlukem 1032de962bdSlukem# Adding another organization with an "auxiliary" objectClass.. 1042de962bdSlukemdn: dc=subnet2,${BASEDN} 1052de962bdSlukemchangetype: add 1062de962bdSlukemobjectClass: organization 1072de962bdSlukemobjectClass: dcObject 1082de962bdSlukemo: SubNet 2 1092de962bdSlukemdc: subnet2 1102de962bdSlukem 1112de962bdSlukem# Adding a person... 1122de962bdSlukemdn: cn=Lev Tolstoij,${BASEDN} 1132de962bdSlukemchangetype: add 1142de962bdSlukemobjectClass: inetOrgPerson 1152de962bdSlukemcn: Lev Tolstoij 1162de962bdSlukemsn: Tolstoij 1172de962bdSlukemgivenName: Lev 1182de962bdSlukemtelephoneNumber: +39 02 XXXX YYYY 1192de962bdSlukemtelephoneNumber: +39 02 XXXX ZZZZ 1202de962bdSlukemuserPassword: tanja 1212de962bdSlukem 1222de962bdSlukem# Adding a person with an "auxiliary" objectClass... 1232de962bdSlukemdn: cn=Some One,${BASEDN} 1242de962bdSlukemchangetype: add 1252de962bdSlukemobjectClass: inetOrgPerson 1262de962bdSlukemobjectClass: simpleSecurityObject 1272de962bdSlukemcn: Some One 1282de962bdSlukemsn: One 1292de962bdSlukemgivenName: Some 1302de962bdSlukemtelephoneNumber: +1 800 900 1234 1312de962bdSlukemtelephoneNumber: +1 800 900 1235 1322de962bdSlukemuserPassword: someone 1332de962bdSlukem 1342de962bdSlukem# Adding a person in another subtree... 1352de962bdSlukemdn: cn=SubNet User,dc=subnet,${BASEDN} 1362de962bdSlukemchangetype: add 1372de962bdSlukemobjectClass: inetOrgPerson 1382de962bdSlukemcn: SubNet User 1392de962bdSlukemsn: User 1402de962bdSlukemgivenName: SubNet 1412de962bdSlukem 1422de962bdSlukem# Adding a document... 1432de962bdSlukemdn: documentTitle=War and Peace,${BASEDN} 1442de962bdSlukemchangetype: add 1452de962bdSlukemobjectClass: document 1462de962bdSlukemdescription: Historical novel 1472de962bdSlukemdocumentTitle: War and Peace 1482de962bdSlukemdocumentAuthor: cn=Lev Tolstoij,dc=example,dc=com 1492de962bdSlukemdocumentIdentifier: document 3 1502de962bdSlukemEOMODS 1512de962bdSlukem 1522de962bdSlukem RC=$? 1532de962bdSlukem if test $RC != 0 ; then 1542de962bdSlukem echo "ldapmodify failed ($RC)!" 1552de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1562de962bdSlukem exit $RC 1572de962bdSlukem fi 1582de962bdSlukem 1592de962bdSlukem echo "Using ldapsearch to retrieve all the entries..." 1602de962bdSlukem echo "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 161*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 1622de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 1632de962bdSlukem 1642de962bdSlukem RC=$? 1652de962bdSlukem if test $RC != 0 ; then 1662de962bdSlukem echo "ldapsearch failed ($RC)!" 1672de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1682de962bdSlukem exit $RC 1692de962bdSlukem fi 1702de962bdSlukem 1712de962bdSlukem echo "Testing modify..." 1722de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 173*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 1742de962bdSlukemversion: 1 1752de962bdSlukem 1762de962bdSlukem# Deleting all telephone numbers... 1772de962bdSlukemdn: cn=Some One,${BASEDN} 1782de962bdSlukemchangetype: modify 1792de962bdSlukemdelete: telephoneNumber 1802de962bdSlukem- 1812de962bdSlukem 1822de962bdSlukem# Adding a telephone number... 1832de962bdSlukemdn: cn=Mitya Kovalev,${BASEDN} 1842de962bdSlukemchangetype: modify 1852de962bdSlukemadd: telephoneNumber 1862de962bdSlukemtelephoneNumber: +1 800 123 4567 1872de962bdSlukem- 1882de962bdSlukem 1892de962bdSlukem# Deleting a specific telephone number and adding a new one... 1902de962bdSlukemdn: cn=Lev Tolstoij,${BASEDN} 1912de962bdSlukemchangetype: modify 1922de962bdSlukemdelete: telephoneNumber 1932de962bdSlukemtelephoneNumber: +39 02 XXXX YYYY 1942de962bdSlukem- 1952de962bdSlukemadd: telephoneNumber 1962de962bdSlukemtelephoneNumber: +39 333 ZZZ 1234 1972de962bdSlukem- 1982de962bdSlukem 1992de962bdSlukem# Adding an author to a document... 2002de962bdSlukemdn: documentTitle=book1,${BASEDN} 2012de962bdSlukemchangetype: modify 2022de962bdSlukemadd: documentAuthor 2032de962bdSlukemdocumentAuthor: cn=Lev Tolstoij,${BASEDN} 2042de962bdSlukem- 2052de962bdSlukem 2062de962bdSlukem# Adding an author to another document... 2072de962bdSlukemdn: documentTitle=book2,${BASEDN} 2082de962bdSlukemchangetype: modify 2092de962bdSlukemadd: documentAuthor 2102de962bdSlukemdocumentAuthor: cn=Lev Tolstoij,${BASEDN} 2112de962bdSlukem- 2122de962bdSlukem 2132de962bdSlukem# Adding an "auxiliary" objectClass... 2142de962bdSlukemdn: cn=Mitya Kovalev,${BASEDN} 2152de962bdSlukemchangetype: modify 2162de962bdSlukemadd: objectClass 2172de962bdSlukemobjectClass: simpleSecurityObject 2182de962bdSlukem- 2192de962bdSlukem 2202de962bdSlukem# Deleting an "auxiliary" objectClass... 2212de962bdSlukemdn: cn=Some One,${BASEDN} 2222de962bdSlukemchangetype: modify 2232de962bdSlukemdelete: objectClass 2242de962bdSlukemobjectClass: simpleSecurityObject 2252de962bdSlukem- 2262de962bdSlukem 2272de962bdSlukem# Deleting userPasswords 2282de962bdSlukemdn: cn=Lev Tolstoij,${BASEDN} 2292de962bdSlukemchangetype: modify 2302de962bdSlukemdelete: userPassword 2312de962bdSlukem- 2322de962bdSlukemEOMODS 2332de962bdSlukem 2342de962bdSlukem RC=$? 2352de962bdSlukem if test $RC != 0 ; then 2362de962bdSlukem echo "ldapmodify failed ($RC)!" 2372de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2382de962bdSlukem exit $RC 2392de962bdSlukem fi 2402de962bdSlukem 2412de962bdSlukem echo "Using ldapsearch to retrieve all the entries..." 2422de962bdSlukem echo "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 243*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 2442de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 2452de962bdSlukem 2462de962bdSlukem RC=$? 2472de962bdSlukem if test $RC != 0 ; then 2482de962bdSlukem echo "ldapsearch failed ($RC)!" 2492de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2502de962bdSlukem exit $RC 2512de962bdSlukem fi 2522de962bdSlukem 2532de962bdSlukem echo "Testing delete..." 2542de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 255*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 2562de962bdSlukemversion: 1 2572de962bdSlukem 2582de962bdSlukem# Deleting a person... 2592de962bdSlukemdn: cn=Torvlobnor Puzdoy,${BASEDN} 2602de962bdSlukemchangetype: delete 2612de962bdSlukem 2622de962bdSlukem# Deleting a document... 2632de962bdSlukemdn: documentTitle=book1,${BASEDN} 2642de962bdSlukemchangetype: delete 2652de962bdSlukem 2662de962bdSlukem# Deleting an organization with an "auxiliary" objectClass... 2672de962bdSlukemdn: dc=subnet2,${BASEDN} 2682de962bdSlukemchangetype: delete 2692de962bdSlukemEOMODS 2702de962bdSlukem 2712de962bdSlukem RC=$? 2722de962bdSlukem if test $RC != 0 ; then 2732de962bdSlukem echo "ldapmodify failed ($RC)!" 2742de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2752de962bdSlukem exit $RC 2762de962bdSlukem fi 2772de962bdSlukem 2782de962bdSlukem echo "Using ldapsearch to retrieve all the entries..." 2792de962bdSlukem echo "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 280*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 2812de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 2822de962bdSlukem 2832de962bdSlukem RC=$? 2842de962bdSlukem if test $RC != 0 ; then 2852de962bdSlukem echo "ldapsearch failed ($RC)!" 2862de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 2872de962bdSlukem exit $RC 2882de962bdSlukem fi 2892de962bdSlukem 2902de962bdSlukem echo "Testing rename..." 2912de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 292*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 2932de962bdSlukemversion: 1 2942de962bdSlukem 2952de962bdSlukem# Renaming an organization... 2962de962bdSlukemdn: o=An Org,${BASEDN} 2972de962bdSlukemchangetype: modrdn 2982de962bdSlukemnewrdn: o=Renamed Org 2992de962bdSlukemdeleteoldrdn: 1 3002de962bdSlukem 3012de962bdSlukem# Moving a person to another subtree... 3022de962bdSlukemdn: cn=Lev Tolstoij,${BASEDN} 3032de962bdSlukemchangetype: modrdn 3042de962bdSlukemnewrdn: cn=Lev Tolstoij 3052de962bdSlukemdeleteoldrdn: 0 3062de962bdSlukemnewsuperior: dc=subnet,${BASEDN} 3072de962bdSlukem 3082de962bdSlukem# Renaming a book... 3092de962bdSlukemdn: documentTitle=book2,${BASEDN} 3102de962bdSlukemchangetype: modrdn 3112de962bdSlukemnewrdn: documentTitle=Renamed Book 3122de962bdSlukemdeleteoldrdn: 1 3132de962bdSlukemEOMODS 3142de962bdSlukem 3152de962bdSlukem RC=$? 3162de962bdSlukem if test $RC != 0 ; then 3172de962bdSlukem echo "ldapmodify failed ($RC)!" 3182de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3192de962bdSlukem exit $RC 3202de962bdSlukem fi 3212de962bdSlukem 3222de962bdSlukem echo "Using ldapsearch to retrieve all the entries..." 3232de962bdSlukem echo "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 324*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 3252de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 3262de962bdSlukem 3272de962bdSlukem RC=$? 3282de962bdSlukem if test $RC != 0 ; then 3292de962bdSlukem echo "ldapsearch failed ($RC)!" 3302de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3312de962bdSlukem exit $RC 3322de962bdSlukem fi 3332de962bdSlukem 3342de962bdSlukem echo "Adding a child to a referral (should fail)..." 3352de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 336*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 3372de962bdSlukemversion: 1 3382de962bdSlukem 3392de962bdSlukemdn: cn=Should Fail,ou=Referral,${BASEDN} 3402de962bdSlukemchangetype: add 3412de962bdSlukemobjectClass: inetOrgPerson 3422de962bdSlukemcn: Should Fail 3432de962bdSlukemsn: Fail 3442de962bdSlukemtelephoneNumber: +39 02 23456789 3452de962bdSlukemEOMODS 3462de962bdSlukem 3472de962bdSlukem RC=$? 3482de962bdSlukem if test $RC = 0 ; then 3492de962bdSlukem echo "ldapmodify should have failed ($RC)!" 3502de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3512de962bdSlukem exit 1 3522de962bdSlukem fi 3532de962bdSlukem 3542de962bdSlukem echo "Modifying a referral (should fail)..." 3552de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 356*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 3572de962bdSlukemversion: 1 3582de962bdSlukem 3592de962bdSlukemdn: ou=Referral,${BASEDN} 3602de962bdSlukemchangetype: modify 3612de962bdSlukemreplace: ref 3622de962bdSlukemref: ldap://localhost:9009/ 3632de962bdSlukem- 3642de962bdSlukemEOMODS 3652de962bdSlukem 3662de962bdSlukem RC=$? 3672de962bdSlukem if test $RC = 0 ; then 3682de962bdSlukem echo "ldapmodify should have failed ($RC)!" 3692de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3702de962bdSlukem exit 1 3712de962bdSlukem fi 3722de962bdSlukem 3732de962bdSlukem echo "Renaming a referral (should fail)..." 3742de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 375*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 3762de962bdSlukemversion: 1 3772de962bdSlukem 3782de962bdSlukemdn: ou=Referral,${BASEDN} 3792de962bdSlukemchangetype: modrdn 3802de962bdSlukemnewrdn: ou=Renamed Referral 3812de962bdSlukemdeleteoldrdn: 1 3822de962bdSlukemEOMODS 3832de962bdSlukem 3842de962bdSlukem RC=$? 3852de962bdSlukem if test $RC = 0 ; then 3862de962bdSlukem echo "ldapmodify should have failed ($RC)!" 3872de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 3882de962bdSlukem exit 1 3892de962bdSlukem fi 3902de962bdSlukem 3912de962bdSlukem echo "Deleting a referral (should fail)..." 3922de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 393*e670fd5cSchristos -H $URI1 >> $TESTOUT 2>&1 << EOMODS 3942de962bdSlukemversion: 1 3952de962bdSlukem 3962de962bdSlukemdn: ou=Referral,${BASEDN} 3972de962bdSlukemchangetype: delete 3982de962bdSlukemEOMODS 3992de962bdSlukem 4002de962bdSlukem RC=$? 4012de962bdSlukem if test $RC = 0 ; then 4022de962bdSlukem echo "ldapmodify should have failed ($RC)!" 4032de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4042de962bdSlukem exit 1 4052de962bdSlukem fi 4062de962bdSlukem 4072de962bdSlukem echo "Adding a referral..." 4082de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 409*e670fd5cSchristos -H $URI1 -M >> $TESTOUT 2>&1 << EOMODS 4102de962bdSlukemversion: 1 4112de962bdSlukem 4122de962bdSlukemdn: ou=Another Referral,${BASEDN} 4132de962bdSlukemchangetype: add 4142de962bdSlukemobjectClass: referral 4152de962bdSlukemobjectClass: extensibleObject 4162de962bdSlukemou: Another Referral 4172de962bdSlukemref: ldap://localhost:9009/ 4182de962bdSlukemEOMODS 4192de962bdSlukem 4202de962bdSlukem RC=$? 4212de962bdSlukem if test $RC != 0 ; then 4222de962bdSlukem echo "ldapmodify failed ($RC)!" 4232de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4242de962bdSlukem exit $RC 4252de962bdSlukem fi 4262de962bdSlukem 4272de962bdSlukem echo "Modifying a referral with manageDSAit..." 4282de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 429*e670fd5cSchristos -H $URI1 -M >> $TESTOUT 2>&1 << EOMODS 4302de962bdSlukemversion: 1 4312de962bdSlukem 4322de962bdSlukemdn: ou=Referral,${BASEDN} 4332de962bdSlukemchangetype: modify 4342de962bdSlukemreplace: ref 4352de962bdSlukemref: ldap://localhost:9009/ 4362de962bdSlukem- 4372de962bdSlukemEOMODS 4382de962bdSlukem 4392de962bdSlukem RC=$? 4402de962bdSlukem if test $RC != 0 ; then 4412de962bdSlukem echo "ldapmodify failed ($RC)!" 4422de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4432de962bdSlukem exit $RC 4442de962bdSlukem fi 4452de962bdSlukem 4462de962bdSlukem echo "Using ldapsearch to retrieve the modified entry..." 4472de962bdSlukem echo "# Using ldapsearch to retrieve the modified entry..." >> $SEARCHOUT 448*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "ou=Referral,$BASEDN" -M \ 4492de962bdSlukem "objectClass=*" '*' ref >> $SEARCHOUT 2>&1 4502de962bdSlukem 4512de962bdSlukem RC=$? 4522de962bdSlukem if test $RC != 0 ; then 4532de962bdSlukem echo "ldapsearch failed ($RC)!" 4542de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4552de962bdSlukem exit $RC 4562de962bdSlukem fi 4572de962bdSlukem 4582de962bdSlukem echo "Renaming a referral with manageDSAit..." 4592de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 460*e670fd5cSchristos -H $URI1 -M >> $TESTOUT 2>&1 << EOMODS 4612de962bdSlukemversion: 1 4622de962bdSlukem 4632de962bdSlukemdn: ou=Referral,${BASEDN} 4642de962bdSlukemchangetype: modrdn 4652de962bdSlukemnewrdn: ou=Renamed Referral 4662de962bdSlukemdeleteoldrdn: 1 4672de962bdSlukemEOMODS 4682de962bdSlukem 4692de962bdSlukem RC=$? 4702de962bdSlukem if test $RC != 0 ; then 4712de962bdSlukem echo "ldapmodify failed ($RC)!" 4722de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4732de962bdSlukem exit $RC 4742de962bdSlukem fi 4752de962bdSlukem 4762de962bdSlukem echo "Using ldapsearch to retrieve the renamed entry..." 4772de962bdSlukem echo "# Using ldapsearch to retrieve the renamed entry..." >> $SEARCHOUT 478*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "ou=Renamed Referral,$BASEDN" -M \ 4792de962bdSlukem "objectClass=*" '*' ref >> $SEARCHOUT 2>&1 4802de962bdSlukem 4812de962bdSlukem RC=$? 4822de962bdSlukem if test $RC != 0 ; then 4832de962bdSlukem echo "ldapsearch failed ($RC)!" 4842de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 4852de962bdSlukem exit $RC 4862de962bdSlukem fi 4872de962bdSlukem 4882de962bdSlukem echo "Deleting a referral with manageDSAit..." 4892de962bdSlukem $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \ 490*e670fd5cSchristos -H $URI1 -M >> $TESTOUT 2>&1 << EOMODS 4912de962bdSlukemversion: 1 4922de962bdSlukem 4932de962bdSlukemdn: ou=Renamed Referral,${BASEDN} 4942de962bdSlukemchangetype: delete 4952de962bdSlukemEOMODS 4962de962bdSlukem 4972de962bdSlukem RC=$? 4982de962bdSlukem if test $RC != 0 ; then 4992de962bdSlukem echo "ldapmodify failed ($RC)!" 5002de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5012de962bdSlukem exit $RC 5022de962bdSlukem fi 5032de962bdSlukem 5042de962bdSlukem BINDDN="cn=Mitya Kovalev,${BASEDN}" 5052de962bdSlukem BINDPW="mit" 5062de962bdSlukem NEWPW="newsecret" 5072de962bdSlukem echo "Testing passwd change..." 508*e670fd5cSchristos $LDAPPASSWD -H $URI1 \ 5092de962bdSlukem -D "${BINDDN}" -w ${BINDPW} -s ${NEWPW} \ 5102de962bdSlukem "$BINDDN" >> $TESTOUT 2>&1 5112de962bdSlukem 5122de962bdSlukem RC=$? 5132de962bdSlukem if test $RC != 0 ; then 5142de962bdSlukem echo "ldappasswd failed ($RC)!" 5152de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5162de962bdSlukem exit $RC 5172de962bdSlukem fi 5182de962bdSlukem 5192de962bdSlukem echo -n "Testing bind with new secret... " 520*e670fd5cSchristos $LDAPWHOAMI -H $URI1 -D "$BINDDN" -w $NEWPW 5212de962bdSlukem RC=$? 5222de962bdSlukem if test $RC != 0 ; then 5232de962bdSlukem echo "ldapwhoami failed ($RC)!" 5242de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5252de962bdSlukem exit $RC 5262de962bdSlukem fi 5272de962bdSlukem 5282de962bdSlukem BINDDN="cn=Some One,${BASEDN}" 5292de962bdSlukem BINDPW="someone" 5302de962bdSlukem echo -n "Testing bind with newly added user... " 531*e670fd5cSchristos $LDAPWHOAMI -H $URI1 -D "$BINDDN" -w $BINDPW 5322de962bdSlukem RC=$? 5332de962bdSlukem if test $RC != 0 ; then 5342de962bdSlukem echo "ldapwhoami failed ($RC)!" 5352de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5362de962bdSlukem exit $RC 5372de962bdSlukem fi 5382de962bdSlukem 5392de962bdSlukem echo "Using ldapsearch to retrieve all the entries..." 5402de962bdSlukem echo "# Using ldapsearch to retrieve all the entries..." >> $SEARCHOUT 541*e670fd5cSchristos $LDAPSEARCH -S "" -H $URI1 -b "$BASEDN" \ 5422de962bdSlukem "objectClass=*" >> $SEARCHOUT 2>&1 5432de962bdSlukem 5442de962bdSlukem RC=$? 5452de962bdSlukem if test $RC != 0 ; then 5462de962bdSlukem echo "ldapsearch failed ($RC)!" 5472de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5482de962bdSlukem exit $RC 5492de962bdSlukem fi 5502de962bdSlukem 5512de962bdSlukem echo "Filtering ldapsearch results..." 552ef2f90d3Sadam $LDIFFILTER < $SEARCHOUT > $SEARCHFLT 5532de962bdSlukem echo "Filtering modified ldif..." 554ef2f90d3Sadam $LDIFFILTER < $SQLWRITE > $LDIFFLT 5552de962bdSlukem echo "Comparing filter output..." 5562de962bdSlukem $CMP $SEARCHFLT $LDIFFLT > $CMPOUT 5572de962bdSlukem 5582de962bdSlukem if test $? != 0 ; then 5592de962bdSlukem echo "comparison failed - SQL mods search didn't succeed" 5602de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 5612de962bdSlukem exit 1 5622de962bdSlukem fi 5632de962bdSlukem ;; 5642de962bdSlukem 5652de962bdSlukem*) 5662de962bdSlukem echo "apparently ${RDBMS} does not support writes; skipping..." 5672de962bdSlukem ;; 5682de962bdSlukemesac 5692de962bdSlukem 5702de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS 5712de962bdSlukem 5722de962bdSlukemecho ">>>>> Test succeeded" 5732de962bdSlukemexit 0 574