1#! /bin/sh 2# $OpenLDAP$ 3## This work is part of OpenLDAP Software <http://www.openldap.org/>. 4## 5## Copyright 1998-2021 The OpenLDAP Foundation. 6## All rights reserved. 7## 8## Redistribution and use in source and binary forms, with or without 9## modification, are permitted only as authorized by the OpenLDAP 10## Public License. 11## 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>. 15 16umask 077 17 18TESTWD=`pwd` 19 20# backends 21BACKLDAP=${AC_ldap-ldapno} 22BACKMETA=${AC_meta-metano} 23BACKASYNCMETA=${AC_asyncmeta-asyncmetano} 24BACKPERL=${AC_perl-perlno} 25BACKRELAY=${AC_relay-relayno} 26BACKSQL=${AC_sql-sqlno} 27 RDBMS=${SLAPD_USE_SQL-rdbmsno} 28 RDBMSWRITE=${SLAPD_USE_SQLWRITE-no} 29 30# overlays 31ACCESSLOG=${AC_accesslog-accesslogno} 32ARGON2=${AC_argon2-argon2no} 33AUTOCA=${AC_autoca-autocano} 34CONSTRAINT=${AC_constraint-constraintno} 35DDS=${AC_dds-ddsno} 36DEREF=${AC_deref-derefno} 37DYNLIST=${AC_dynlist-dynlistno} 38HOMEDIR=${AC_homedir-homedirno} 39MEMBEROF=${AC_memberof-memberofno} 40OTP=${AC_otp-otpno} 41PROXYCACHE=${AC_pcache-pcacheno} 42PPOLICY=${AC_ppolicy-ppolicyno} 43REFINT=${AC_refint-refintno} 44REMOTEAUTH=${AC_remoteauth-remoteauthno} 45RETCODE=${AC_retcode-retcodeno} 46RWM=${AC_rwm-rwmno} 47SYNCPROV=${AC_syncprov-syncprovno} 48TRANSLUCENT=${AC_translucent-translucentno} 49UNIQUE=${AC_unique-uniqueno} 50VALSORT=${AC_valsort-valsortno} 51 52# misc 53WITH_SASL=${AC_WITH_SASL-no} 54USE_SASL=${SLAPD_USE_SASL-no} 55WITH_TLS=${AC_WITH_TLS-no} 56WITH_TLS_TYPE=${AC_TLS_TYPE-no} 57 58ACI=${AC_ACI_ENABLED-acino} 59SLEEP0=${SLEEP0-1} 60SLEEP1=${SLEEP1-7} 61SLEEP2=${SLEEP2-15} 62TIMEOUT=${TIMEOUT-8} 63 64# dirs 65PROGDIR=./progs 66DATADIR=${USER_DATADIR-./testdata} 67TESTDIR=${USER_TESTDIR-$TESTWD/testrun} 68SCHEMADIR=${USER_SCHEMADIR-./schema} 69case "$SCHEMADIR" in 70.*) ABS_SCHEMADIR="$TESTWD/$SCHEMADIR" ;; 71*) ABS_SCHEMADIR="$SCHEMADIR" ;; 72esac 73case "$SRCDIR" in 74.*) ABS_SRCDIR="$TESTWD/$SRCDIR" ;; 75*) ABS_SRCDIR="$SRCDIR" ;; 76esac 77export TESTDIR 78 79DBDIR1A=$TESTDIR/db.1.a 80DBDIR1B=$TESTDIR/db.1.b 81DBDIR1C=$TESTDIR/db.1.c 82DBDIR1D=$TESTDIR/db.1.d 83DBDIR1=$DBDIR1A 84DBDIR2A=$TESTDIR/db.2.a 85DBDIR2B=$TESTDIR/db.2.b 86DBDIR2C=$TESTDIR/db.2.c 87DBDIR2=$DBDIR2A 88DBDIR3=$TESTDIR/db.3.a 89DBDIR4=$TESTDIR/db.4.a 90DBDIR5=$TESTDIR/db.5.a 91DBDIR6=$TESTDIR/db.6.a 92SQLCONCURRENCYDIR=$DATADIR/sql-concurrency 93 94CLIENTDIR=../clients/tools 95#CLIENTDIR=/usr/local/bin 96 97# conf 98CONF=$DATADIR/slapd.conf 99CONFTWO=$DATADIR/slapd2.conf 100CONF2DB=$DATADIR/slapd-2db.conf 101MCONF=$DATADIR/slapd-provider.conf 102COMPCONF=$DATADIR/slapd-component.conf 103PWCONF=$DATADIR/slapd-pw.conf 104WHOAMICONF=$DATADIR/slapd-whoami.conf 105ACLCONF=$DATADIR/slapd-acl.conf 106RCONF=$DATADIR/slapd-referrals.conf 107SRPROVIDERCONF=$DATADIR/slapd-syncrepl-provider.conf 108DSRPROVIDERCONF=$DATADIR/slapd-deltasync-provider.conf 109DSRCONSUMERCONF=$DATADIR/slapd-deltasync-consumer.conf 110PPOLICYCONF=$DATADIR/slapd-ppolicy.conf 111PROXYCACHECONF=$DATADIR/slapd-proxycache.conf 112PROXYAUTHZCONF=$DATADIR/slapd-proxyauthz.conf 113CACHEPROVIDERCONF=$DATADIR/slapd-cache-provider.conf 114PROXYAUTHZPROVIDERCONF=$DATADIR/slapd-cache-provider-proxyauthz.conf 115R1SRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-refresh1.conf 116R2SRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-refresh2.conf 117P1SRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-persist1.conf 118P2SRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-persist2.conf 119P3SRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-persist3.conf 120DIRSYNC1CONF=$DATADIR/slapd-dirsync1.conf 121DSEESYNC1CONF=$DATADIR/slapd-dsee-consumer1.conf 122DSEESYNC2CONF=$DATADIR/slapd-dsee-consumer2.conf 123REFCONSUMERCONF=$DATADIR/slapd-ref-consumer.conf 124SCHEMACONF=$DATADIR/slapd-schema.conf 125TLSCONF=$DATADIR/slapd-tls.conf 126TLSSASLCONF=$DATADIR/slapd-tls-sasl.conf 127GLUECONF=$DATADIR/slapd-glue.conf 128REFINTCONF=$DATADIR/slapd-refint.conf 129RETCODECONF=$DATADIR/slapd-retcode.conf 130UNIQUECONF=$DATADIR/slapd-unique.conf 131LIMITSCONF=$DATADIR/slapd-limits.conf 132DNCONF=$DATADIR/slapd-dn.conf 133EMPTYDNCONF=$DATADIR/slapd-emptydn.conf 134IDASSERTCONF=$DATADIR/slapd-idassert.conf 135LDAPGLUECONF1=$DATADIR/slapd-ldapglue.conf 136LDAPGLUECONF2=$DATADIR/slapd-ldapgluepeople.conf 137LDAPGLUECONF3=$DATADIR/slapd-ldapgluegroups.conf 138RELAYCONF=$DATADIR/slapd-relay.conf 139CHAINCONF1=$DATADIR/slapd-chain1.conf 140CHAINCONF2=$DATADIR/slapd-chain2.conf 141GLUESYNCCONF1=$DATADIR/slapd-glue-syncrepl1.conf 142GLUESYNCCONF2=$DATADIR/slapd-glue-syncrepl2.conf 143SQLCONF=$DATADIR/slapd-sql.conf 144SQLSRPROVIDERCONF=$DATADIR/slapd-sql-syncrepl-provider.conf 145TRANSLUCENTLOCALCONF=$DATADIR/slapd-translucent-local.conf 146TRANSLUCENTREMOTECONF=$DATADIR/slapd-translucent-remote.conf 147METACONF=$DATADIR/slapd-meta.conf 148METACONF1=$DATADIR/slapd-meta-target1.conf 149METACONF2=$DATADIR/slapd-meta-target2.conf 150ASYNCMETACONF=$DATADIR/slapd-asyncmeta.conf 151GLUELDAPCONF=$DATADIR/slapd-glue-ldap.conf 152ACICONF=$DATADIR/slapd-aci.conf 153VALSORTCONF=$DATADIR/slapd-valsort.conf 154DEREFCONF=$DATADIR/slapd-deref.conf 155DYNLISTCONF=$DATADIR/slapd-dynlist.conf 156HOMEDIRCONF=$DATADIR/slapd-homedir.conf 157RCONSUMERCONF=$DATADIR/slapd-repl-consumer-remote.conf 158PLSRCONSUMERCONF=$DATADIR/slapd-syncrepl-consumer-persist-ldap.conf 159PLSRPROVIDERCONF=$DATADIR/slapd-syncrepl-multiproxy.conf 160DDSCONF=$DATADIR/slapd-dds.conf 161PASSWDCONF=$DATADIR/slapd-passwd.conf 162UNDOCONF=$DATADIR/slapd-config-undo.conf 163NAKEDCONF=$DATADIR/slapd-config-naked.conf 164VALREGEXCONF=$DATADIR/slapd-valregex.conf 165 166DYNAMICCONF=$DATADIR/slapd-dynamic.ldif 167 168SLAPDLLOADCONF=$DATADIR/slapd-lload.conf 169LLOADDCONF=$DATADIR/lloadd.conf 170LLOADDEMPTYCONF=$DATADIR/lloadd-empty.conf 171LLOADDANONCONF=$DATADIR/lloadd-anon.conf 172LLOADDUNREACHABLECONF=$DATADIR/lloadd-backend-issues.conf 173LLOADDTLSCONF=$DATADIR/lloadd-tls.conf 174LLOADDSASLCONF=$DATADIR/lloadd-sasl.conf 175 176# generated files 177CONF1=$TESTDIR/slapd.1.conf 178CONF2=$TESTDIR/slapd.2.conf 179CONF3=$TESTDIR/slapd.3.conf 180CONF4=$TESTDIR/slapd.4.conf 181CONF5=$TESTDIR/slapd.5.conf 182CONF6=$TESTDIR/slapd.6.conf 183ADDCONF=$TESTDIR/slapadd.conf 184CONFLDIF=$TESTDIR/slapd-dynamic.ldif 185 186LOG1=$TESTDIR/slapd.1.log 187LOG2=$TESTDIR/slapd.2.log 188LOG3=$TESTDIR/slapd.3.log 189LOG4=$TESTDIR/slapd.4.log 190LOG5=$TESTDIR/slapd.5.log 191LOG6=$TESTDIR/slapd.6.log 192SLAPADDLOG1=$TESTDIR/slapadd.1.log 193SLURPLOG=$TESTDIR/slurp.log 194 195CONFIGPWF=$TESTDIR/configpw 196 197LIBTOOL="${LIBTOOL-$TESTWD/../libtool}" 198# wrappers (valgrind, gdb, environment variables, etc.) 199if [ -n "$WRAPPER" ]; then 200 : # skip 201elif [ "$SLAPD_COMMON_WRAPPER" = gdb ]; then 202 WRAPPER="$ABS_SRCDIR/scripts/grandchild_wrapper.py gdb -nx -x $ABS_SRCDIR/scripts/gdb.py -batch-silent -return-child-result --args" 203elif [ "$SLAPD_COMMON_WRAPPER" = valgrind ]; then 204 WRAPPER="valgrind --log-file=$TESTDIR/valgrind.%p.log --fullpath-after=`dirname $ABS_SRCDIR` --keep-debuginfo=yes --leak-check=full" 205elif [ "$SLAPD_COMMON_WRAPPER" = "valgrind-errstop" ]; then 206 WRAPPER="valgrind --log-file=$TESTDIR/valgrind.%p.log --vgdb=yes --vgdb-error=1" 207elif [ "$SLAPD_COMMON_WRAPPER" = vgdb ]; then 208 WRAPPER="valgrind --log-file=$TESTDIR/valgrind.%p.log --vgdb=yes --vgdb-error=0" 209fi 210 211if [ -n "$WRAPPER" ]; then 212 SLAPD_WRAPPER="$LIBTOOL --mode=execute env $WRAPPER" 213fi 214 215# args 216SASLARGS="-Q" 217TOOLARGS="-x $LDAP_TOOLARGS" 218TOOLPROTO="-P 3" 219 220# cmds 221CONFFILTER=$SRCDIR/scripts/conf.sh 222CONFDIRSYNC=$SRCDIR/scripts/confdirsync.sh 223 224MONITORDATA=$SRCDIR/scripts/monitor_data.sh 225 226SLAPADD="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -Ta -d 0 $LDAP_VERBOSE" 227SLAPCAT="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -Tc -d 0 $LDAP_VERBOSE" 228SLAPINDEX="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -Ti -d 0 $LDAP_VERBOSE" 229SLAPMODIFY="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -Tm -d 0 $LDAP_VERBOSE" 230SLAPPASSWD="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -Tpasswd" 231 232unset DIFF_OPTIONS 233# NOTE: -u/-c is not that portable... 234DIFF="diff -i" 235CMP="diff -i" 236BCMP="diff -iB" 237CMPOUT=/dev/null 238SLAPD="$SLAPD_WRAPPER $TESTWD/../servers/slapd/slapd -s0" 239LLOADD="$SLAPD_WRAPPER $TESTWD/../servers/lloadd/lloadd -s0" 240LDAPPASSWD="$CLIENTDIR/ldappasswd $TOOLARGS" 241LDAPSASLSEARCH="$CLIENTDIR/ldapsearch $SASLARGS $TOOLPROTO $LDAP_TOOLARGS -LLL" 242LDAPSASLWHOAMI="$CLIENTDIR/ldapwhoami $SASLARGS $LDAP_TOOLARGS" 243LDAPSEARCH="$CLIENTDIR/ldapsearch $TOOLPROTO $TOOLARGS -LLL" 244LDAPRSEARCH="$CLIENTDIR/ldapsearch $TOOLPROTO $TOOLARGS" 245LDAPDELETE="$CLIENTDIR/ldapdelete $TOOLPROTO $TOOLARGS" 246LDAPMODIFY="$CLIENTDIR/ldapmodify $TOOLPROTO $TOOLARGS" 247LDAPADD="$CLIENTDIR/ldapmodify -a $TOOLPROTO $TOOLARGS" 248LDAPMODRDN="$CLIENTDIR/ldapmodrdn $TOOLPROTO $TOOLARGS" 249LDAPWHOAMI="$CLIENTDIR/ldapwhoami $TOOLARGS" 250LDAPCOMPARE="$CLIENTDIR/ldapcompare $TOOLARGS" 251LDAPEXOP="$CLIENTDIR/ldapexop $TOOLARGS" 252SLAPDTESTER=$PROGDIR/slapd-tester 253LDIFFILTER=$PROGDIR/ldif-filter 254SLAPDMTREAD=$PROGDIR/slapd-mtread 255LVL=${SLAPD_DEBUG-0x4105} 256LOCALHOST=localhost 257LOCALIP=127.0.0.1 258BASEPORT=${SLAPD_BASEPORT-9010} 259PORT1=`expr $BASEPORT + 1` 260PORT2=`expr $BASEPORT + 2` 261PORT3=`expr $BASEPORT + 3` 262PORT4=`expr $BASEPORT + 4` 263PORT5=`expr $BASEPORT + 5` 264PORT6=`expr $BASEPORT + 6` 265KDCPORT=`expr $BASEPORT + 7` 266URI1="ldap://${LOCALHOST}:$PORT1/" 267URIP1="ldap://${LOCALIP}:$PORT1/" 268URI2="ldap://${LOCALHOST}:$PORT2/" 269URIP2="ldap://${LOCALIP}:$PORT2/" 270URI3="ldap://${LOCALHOST}:$PORT3/" 271URIP3="ldap://${LOCALIP}:$PORT3/" 272URI4="ldap://${LOCALHOST}:$PORT4/" 273URIP4="ldap://${LOCALIP}:$PORT4/" 274URI5="ldap://${LOCALHOST}:$PORT5/" 275URIP5="ldap://${LOCALIP}:$PORT5/" 276URI6="ldap://${LOCALHOST}:$PORT6/" 277URIP6="ldap://${LOCALIP}:$PORT6/" 278SURI1="ldaps://${LOCALHOST}:$PORT1/" 279SURIP1="ldaps://${LOCALIP}:$PORT1/" 280SURI2="ldaps://${LOCALHOST}:$PORT2/" 281SURIP2="ldaps://${LOCALIP}:$PORT2/" 282SURI3="ldaps://${LOCALHOST}:$PORT3/" 283SURIP3="ldaps://${LOCALIP}:$PORT3/" 284SURI4="ldaps://${LOCALHOST}:$PORT4/" 285SURIP4="ldaps://${LOCALIP}:$PORT4/" 286SURI5="ldaps://${LOCALHOST}:$PORT5/" 287SURIP5="ldaps://${LOCALIP}:$PORT5/" 288SURI6="ldaps://${LOCALHOST}:$PORT6/" 289SURIP6="ldaps://${LOCALIP}:$PORT6/" 290 291KRB5REALM="K5.REALM" 292KDCHOST=$LOCALHOST 293 294# LDIF 295LDIF=$DATADIR/test.ldif 296LDIFADD1=$DATADIR/do_add.1 297LDIFGLUED=$DATADIR/test-glued.ldif 298LDIFORDERED=$DATADIR/test-ordered.ldif 299LDIFORDEREDCP=$DATADIR/test-ordered-cp.ldif 300LDIFORDEREDNOCP=$DATADIR/test-ordered-nocp.ldif 301LDIFBASE=$DATADIR/test-base.ldif 302LDIFPASSWD=$DATADIR/passwd.ldif 303LDIFWHOAMI=$DATADIR/test-whoami.ldif 304LDIFPASSWDOUT=$DATADIR/passwd-out.ldif 305LDIFPPOLICY=$DATADIR/ppolicy.ldif 306LDIFLANG=$DATADIR/test-lang.ldif 307LDIFLANGOUT=$DATADIR/lang-out.ldif 308LDIFREF=$DATADIR/referrals.ldif 309LDIFREFINT=$DATADIR/test-refint.ldif 310LDIFUNIQUE=$DATADIR/test-unique.ldif 311LDIFLIMITS=$DATADIR/test-limits.ldif 312LDIFDN=$DATADIR/test-dn.ldif 313LDIFEMPTYDN1=$DATADIR/test-emptydn1.ldif 314LDIFEMPTYDN2=$DATADIR/test-emptydn2.ldif 315LDIFIDASSERT1=$DATADIR/test-idassert1.ldif 316LDIFIDASSERT2=$DATADIR/test-idassert2.ldif 317LDIFLDAPGLUE1=$DATADIR/test-ldapglue.ldif 318LDIFLDAPGLUE2=$DATADIR/test-ldapgluepeople.ldif 319LDIFLDAPGLUE3=$DATADIR/test-ldapgluegroups.ldif 320LDIFCOMPMATCH=$DATADIR/test-compmatch.ldif 321LDIFCHAIN1=$DATADIR/test-chain1.ldif 322LDIFCHAIN2=$DATADIR/test-chain2.ldif 323LDIFTRANSLUCENTDATA=$DATADIR/test-translucent-data.ldif 324LDIFTRANSLUCENTCONFIG=$DATADIR/test-translucent-config.ldif 325LDIFTRANSLUCENTADD=$DATADIR/test-translucent-add.ldif 326LDIFTRANSLUCENTMERGED=$DATADIR/test-translucent-merged.ldif 327LDIFMETA=$DATADIR/test-meta.ldif 328LDIFDEREF=$DATADIR/test-deref.ldif 329LDIFVALSORT=$DATADIR/test-valsort.ldif 330SQLADD=$DATADIR/sql-add.ldif 331LDIFUNORDERED=$DATADIR/test-unordered.ldif 332LDIFREORDERED=$DATADIR/test-reordered.ldif 333LDIFMODIFY=$DATADIR/test-modify.ldif 334LDIFDIRSYNCCP=$DATADIR/test-dirsync-cp.ldif 335LDIFDIRSYNCNOCP=$DATADIR/test-dirsync-nocp.ldif 336 337# strings 338MONITOR="" 339REFDN="c=US" 340BASEDN="dc=example,dc=com" 341MANAGERDN="cn=Manager,$BASEDN" 342UPDATEDN="cn=consumer,$BASEDN" 343PASSWD=secret 344BABSDN="cn=Barbara Jensen,ou=Information Technology DivisioN,ou=People,$BASEDN" 345BJORNSDN="cn=Bjorn Jensen,ou=Information Technology DivisioN,ou=People,$BASEDN" 346BADBJORNSDN="cn=Bjorn JensenNotReally,ou=Information Technology DivisioN,ou=People,$BASEDN" 347JAJDN="cn=James A Jones 1,ou=Alumni Association,ou=People,$BASEDN" 348JOHNDDN="cn=John Doe,ou=Information Technology Division,ou=People,$BASEDN" 349MELLIOTDN="cn=Mark Elliot,ou=Alumni Association,ou=People,$BASEDN" 350REFINTDN="cn=Manager,o=refint" 351RETCODEDN="ou=RetCodes,$BASEDN" 352UNIQUEDN="cn=Manager,o=unique" 353EMPTYDNDN="cn=Manager,c=US" 354TRANSLUCENTROOT="o=translucent" 355TRANSLUCENTUSER="ou=users,o=translucent" 356TRANSLUCENTDN="uid=binder,o=translucent" 357TRANSLUCENTPASSWD="bindtest" 358METABASEDN="ou=Meta,$BASEDN" 359METAMANAGERDN="cn=Manager,$METABASEDN" 360DEREFDN="cn=Manager,o=deref" 361DEREFBASEDN="o=deref" 362VALSORTDN="cn=Manager,o=valsort" 363VALSORTBASEDN="o=valsort" 364MONITORDN="cn=Monitor" 365OPERATIONSMONITORDN="cn=Operations,$MONITORDN" 366CONNECTIONSMONITORDN="cn=Connections,$MONITORDN" 367DATABASESMONITORDN="cn=Databases,$MONITORDN" 368STATISTICSMONITORDN="cn=Statistics,$MONITORDN" 369 370# generated outputs 371SEARCHOUT=$TESTDIR/ldapsearch.out 372SEARCHOUT2=$TESTDIR/ldapsearch2.out 373SEARCHFLT=$TESTDIR/ldapsearch.flt 374SEARCHFLT2=$TESTDIR/ldapsearch2.flt 375LDIFFLT=$TESTDIR/ldif.flt 376LDIFFLT2=$TESTDIR/ldif2.flt 377TESTOUT=$TESTDIR/test.out 378INITOUT=$TESTDIR/init.out 379VALSORTOUT1=$DATADIR/valsort1.out 380VALSORTOUT2=$DATADIR/valsort2.out 381VALSORTOUT3=$DATADIR/valsort3.out 382MONITOROUT1=$DATADIR/monitor1.out 383MONITOROUT2=$DATADIR/monitor2.out 384MONITOROUT3=$DATADIR/monitor3.out 385MONITOROUT4=$DATADIR/monitor4.out 386 387SERVER1OUT=$TESTDIR/server1.out 388SERVER1FLT=$TESTDIR/server1.flt 389SERVER2OUT=$TESTDIR/server2.out 390SERVER2FLT=$TESTDIR/server2.flt 391SERVER3OUT=$TESTDIR/server3.out 392SERVER3FLT=$TESTDIR/server3.flt 393SERVER4OUT=$TESTDIR/server4.out 394SERVER4FLT=$TESTDIR/server4.flt 395SERVER5OUT=$TESTDIR/server5.out 396SERVER5FLT=$TESTDIR/server5.flt 397SERVER6OUT=$TESTDIR/server6.out 398SERVER6FLT=$TESTDIR/server6.flt 399 400PROVIDEROUT=$SERVER1OUT 401PROVIDERFLT=$SERVER1FLT 402CONSUMEROUT=$SERVER2OUT 403CONSUMER2OUT=$SERVER3OUT 404CONSUMERFLT=$SERVER2FLT 405CONSUMER2FLT=$SERVER3FLT 406 407MTREADOUT=$TESTDIR/mtread.out 408 409# original outputs for cmp 410PROXYCACHEOUT=$DATADIR/proxycache.out 411REFERRALOUT=$DATADIR/referrals.out 412SEARCHOUTPROVIDER=$DATADIR/search.out.provider 413SEARCHOUTX=$DATADIR/search.out.xsearch 414COMPSEARCHOUT=$DATADIR/compsearch.out 415MODIFYOUTPROVIDER=$DATADIR/modify.out.provider 416ADDDELOUTPROVIDER=$DATADIR/adddel.out.provider 417MODRDNOUTPROVIDER0=$DATADIR/modrdn.out.provider.0 418MODRDNOUTPROVIDER1=$DATADIR/modrdn.out.provider.1 419MODRDNOUTPROVIDER2=$DATADIR/modrdn.out.provider.2 420MODRDNOUTPROVIDER3=$DATADIR/modrdn.out.provider.3 421ACLOUTPROVIDER=$DATADIR/acl.out.provider 422REPLOUTPROVIDER=$DATADIR/repl.out.provider 423MODSRCHFILTERS=$DATADIR/modify.search.filters 424CERTIFICATETLS=$DATADIR/certificate.tls 425CERTIFICATEOUT=$DATADIR/certificate.out 426DNOUT=$DATADIR/dn.out 427EMPTYDNOUT1=$DATADIR/emptydn.out.slapadd 428EMPTYDNOUT2=$DATADIR/emptydn.out 429IDASSERTOUT=$DATADIR/idassert.out 430LDAPGLUEOUT=$DATADIR/ldapglue.out 431LDAPGLUEANONYMOUSOUT=$DATADIR/ldapglueanonymous.out 432RELAYOUT=$DATADIR/relay.out 433CHAINOUT=$DATADIR/chain.out 434CHAINREFOUT=$DATADIR/chainref.out 435CHAINMODOUT=$DATADIR/chainmod.out 436GLUESYNCOUT=$DATADIR/gluesync.out 437SQLREAD=$DATADIR/sql-read.out 438SQLWRITE=$DATADIR/sql-write.out 439TRANSLUCENTOUT=$DATADIR/translucent.search.out 440METAOUT=$DATADIR/meta.out 441METACONCURRENCYOUT=$DATADIR/metaconcurrency.out 442MANAGEOUT=$DATADIR/manage.out 443SUBTREERENAMEOUT=$DATADIR/subtree-rename.out 444ACIOUT=$DATADIR/aci.out 445DYNLISTOUT=$DATADIR/dynlist.out 446DDSOUT=$DATADIR/dds.out 447DEREFOUT=$DATADIR/deref.out 448MEMBEROFOUT=$DATADIR/memberof.out 449MEMBEROFREFINTOUT=$DATADIR/memberof-refint.out 450SHTOOL="$SRCDIR/../build/shtool" 451 452