]> git.sur5r.net Git - openldap/commitdiff
ITS#5810
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 19 Apr 2010 21:14:26 +0000 (21:14 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 19 Apr 2010 21:14:26 +0000 (21:14 +0000)
120 files changed:
CHANGES
tests/Makefile.in
tests/data/regressions/its4184/slapd.conf
tests/data/regressions/its4337/config.out
tests/data/regressions/its4337/its4337
tests/data/regressions/its4448/its4448
tests/data/slapd-2db.conf
tests/data/slapd-aci.conf
tests/data/slapd-acl.conf
tests/data/slapd-cache-master.conf
tests/data/slapd-chain1.conf
tests/data/slapd-chain2.conf
tests/data/slapd-component.conf
tests/data/slapd-config-undo.conf
tests/data/slapd-dds.conf
tests/data/slapd-deltasync-master.conf
tests/data/slapd-deltasync-slave.conf
tests/data/slapd-dn.conf
tests/data/slapd-dynlist.conf
tests/data/slapd-emptydn.conf
tests/data/slapd-glue-syncrepl1.conf
tests/data/slapd-glue-syncrepl2.conf
tests/data/slapd-glue.conf
tests/data/slapd-idassert.conf
tests/data/slapd-ldapglue.conf
tests/data/slapd-ldapgluegroups.conf
tests/data/slapd-ldapgluepeople.conf
tests/data/slapd-limits.conf
tests/data/slapd-master.conf
tests/data/slapd-meta-target1.conf
tests/data/slapd-meta-target2.conf
tests/data/slapd-ppolicy.conf
tests/data/slapd-proxycache.conf
tests/data/slapd-pw.conf
tests/data/slapd-ref-slave.conf
tests/data/slapd-referrals.conf
tests/data/slapd-refint.conf
tests/data/slapd-relay.conf
tests/data/slapd-repl-slave-remote.conf
tests/data/slapd-retcode.conf
tests/data/slapd-schema.conf
tests/data/slapd-syncrepl-master.conf
tests/data/slapd-syncrepl-multiproxy.conf
tests/data/slapd-syncrepl-slave-persist1.conf
tests/data/slapd-syncrepl-slave-persist2.conf
tests/data/slapd-syncrepl-slave-persist3.conf
tests/data/slapd-syncrepl-slave-refresh1.conf
tests/data/slapd-syncrepl-slave-refresh2.conf
tests/data/slapd-translucent-local.conf
tests/data/slapd-translucent-remote.conf
tests/data/slapd-unique.conf
tests/data/slapd-valregex.conf
tests/data/slapd-valsort.conf
tests/data/slapd-whoami.conf
tests/data/slapd.conf
tests/data/slapd2.conf
tests/progs/Makefile.in
tests/progs/ldif-filter.c [new file with mode: 0644]
tests/run.in
tests/scripts/acfilter.sh [deleted file]
tests/scripts/conf.sh
tests/scripts/defines.sh
tests/scripts/relay
tests/scripts/sql-test000-read
tests/scripts/sql-test001-concurrency
tests/scripts/sql-test900-write
tests/scripts/sql-test901-syncrepl
tests/scripts/start-server
tests/scripts/start-server-nolog
tests/scripts/test001-slapadd
tests/scripts/test002-populate
tests/scripts/test003-search
tests/scripts/test004-modify
tests/scripts/test005-modrdn
tests/scripts/test006-acls
tests/scripts/test008-concurrency
tests/scripts/test009-referral
tests/scripts/test011-glue-slapadd
tests/scripts/test012-glue-populate
tests/scripts/test013-language
tests/scripts/test014-whoami
tests/scripts/test015-xsearch
tests/scripts/test016-subref
tests/scripts/test017-syncreplication-refresh
tests/scripts/test018-syncreplication-persist
tests/scripts/test019-syncreplication-cascade
tests/scripts/test020-proxycache
tests/scripts/test021-certificate
tests/scripts/test023-refint
tests/scripts/test024-unique
tests/scripts/test025-limits
tests/scripts/test026-dn
tests/scripts/test027-emptydn
tests/scripts/test028-idassert
tests/scripts/test029-ldapglue
tests/scripts/test031-component-filter
tests/scripts/test032-chain
tests/scripts/test033-glue-syncrepl
tests/scripts/test034-translucent
tests/scripts/test035-meta
tests/scripts/test036-meta-concurrency
tests/scripts/test037-manage
tests/scripts/test039-glue-ldap-concurrency
tests/scripts/test040-subtree-rename
tests/scripts/test041-aci
tests/scripts/test042-valsort
tests/scripts/test043-delta-syncrepl
tests/scripts/test044-dynlist
tests/scripts/test045-syncreplication-proxied
tests/scripts/test046-dds
tests/scripts/test047-ldap
tests/scripts/test048-syncrepl-multiproxy
tests/scripts/test049-sync-config
tests/scripts/test050-syncrepl-multimaster
tests/scripts/test052-memberof
tests/scripts/test054-syncreplication-parallel-load
tests/scripts/test055-valregex
tests/scripts/test056-monitor
tests/scripts/test057-memberof-refint
tests/scripts/test058-syncrepl-asymmetric

diff --git a/CHANGES b/CHANGES
index bd77ab2c0d9210ef26256b0114da4468aba0cd69..a95e301485dad18f028f018602e818c7715d549a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -41,6 +41,8 @@ OpenLDAP 2.4.22 Engineering
        Fixed slapo-valsort REP_ENTRY flag handling (ITS#5340,ITS#6423) 
        Fixed contrib/sha2 adds mechs for more hashes (ITS#6433)
        Fixed contrib/nssov to use nss-pam-ldapd (ITS#6488)
+       Build Environment
+               Added back-ldif, back-null test support (ITS#5810)
        Documentation
                admin24 avoid explicity moduleload statements (ITS#6486)
                admin24 broken link fixes (ITS#6493,ITS#6515)
index be30220fddc692203b7b53e548949c6077ac43e0..5efbfbc67a87883e164ee3aa9a720b6b7bc5cdb3 100644 (file)
@@ -53,6 +53,10 @@ sql-yes sql-mod:     FORCE
        @echo "Initiating LDAP tests for SQL..."
        @$(RUN) -b sql sql-all
 
+ldif test-ldif: FORCE
+       @echo "Initiating LDAP tests for LDIF..."
+       @$(RUN) -b ldif all
+
 regressions:   FORCE
        @echo "Testing (available) ITS regressions"
        @$(RUN) its-all
index e44b929825b9e0f8f58928baff9290489fbc2de9..030cc9dd7c6601c1968a2709c0ae70a1bff65c71 100644 (file)
@@ -38,7 +38,7 @@ database      @BACKEND@
 suffix         "ou=Special,dc=example,dc=com"
 subordinate
 rootdn          "cn=Manager,dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
+#~null~#directory      @TESTDIR@/db.2.a
 
 # Indices to maintain
 #bdb#index             default pres,eq
@@ -52,7 +52,8 @@ database      @BACKEND@
 suffix         "dc=example,dc=com"
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
-directory      @TESTDIR@/db.1.a
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 
 # Indices to maintain
 #bdb#index             default pres,eq
index 4fd555ff23bde247caab6e5d963280c9668ac221..bdcbbe51b848c4cbb3c76448de54c29a344a7506 100644 (file)
@@ -3,97 +3,127 @@ dn: olcDatabase={-1}frontend,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcFrontendConfig
 olcDatabase: {-1}frontend
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 0
 olcReadOnly: FALSE
 olcSchemaDN: cn=Subschema
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={0}config,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {0}config
+olcAccess: {0}to *  by * none
+olcAddContentAcl: TRUE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
 olcRootDN: cn=config
 olcRootPW: config
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={1}monitor,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {1}monitor
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 # Searching databases __after__ append...
 dn: olcDatabase={-1}frontend,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcFrontendConfig
 olcDatabase: {-1}frontend
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 0
 olcReadOnly: FALSE
 olcSchemaDN: cn=Subschema
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={0}config,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {0}config
+olcAccess: {0}to *  by * none
+olcAddContentAcl: TRUE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
 olcRootDN: cn=config
 olcRootPW: config
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={1}monitor,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {1}monitor
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={2}bdb,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcBdbConfig
 olcDatabase: {2}bdb
-olcSuffix: dc=com
 olcDbDirectory: ./testrun/db.1.a
+olcSuffix: dc=com
 
 # Searching databases __after__ insert...
 dn: olcDatabase={-1}frontend,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcFrontendConfig
 olcDatabase: {-1}frontend
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 0
 olcReadOnly: FALSE
 olcSchemaDN: cn=Subschema
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={0}config,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {0}config
+olcAccess: {0}to *  by * none
+olcAddContentAcl: TRUE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
 olcRootDN: cn=config
 olcRootPW: config
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={1}bdb,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcBdbConfig
 olcDatabase: {1}bdb
-olcSuffix: dc=org
 olcDbDirectory: ./testrun/db.2.a
+olcSuffix: dc=org
 
 dn: olcDatabase={2}monitor,cn=config
 objectClass: olcDatabaseConfig
 olcDatabase: {2}monitor
+olcAddContentAcl: FALSE
 olcLastMod: TRUE
 olcMaxDerefDepth: 15
 olcReadOnly: FALSE
+olcSyncUseSubentry: FALSE
+olcMonitoring: FALSE
 
 dn: olcDatabase={3}bdb,cn=config
 objectClass: olcDatabaseConfig
 objectClass: olcBdbConfig
 olcDatabase: {3}bdb
-olcSuffix: dc=com
 olcDbDirectory: ./testrun/db.1.a
+olcSuffix: dc=com
 
index 4e98b3427a8f930499f6153c200155582b43cb75..1ef589287801d0b339ce9fef611b684fdfd2db9b 100755 (executable)
@@ -139,9 +139,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$ITSDIR/config.out
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 410cb197e43ade09a10050883703be61292a1f32..553b6eda95a0174cfd7bee0da41d36d4b81101ba 100755 (executable)
@@ -308,9 +308,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
+$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
 echo "Comparing filter output..."
 $BCMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 76fcb9d2667c563df7c953b443d6b8e743d6c2db..e175ebf4ff7f3ab7ef2e8c1a538d16fecd6e69cb 100644 (file)
@@ -32,8 +32,8 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix          "cn=Everyone,ou=Groups,dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 subordinate
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
@@ -43,9 +43,9 @@ subordinate
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.b
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.b
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 4d3105009d283d1e17e1c0a6002589bd5e78107d..78ca058781ae1357b12c68564a30f059d0c9fd79 100644 (file)
@@ -43,9 +43,9 @@ access to dn="cn=Subschema"
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index aaef425f20484c70590b2801a937ab4a4f9434ab..5c55753a682194160406c755d5b2f6351f9091ca 100644 (file)
@@ -43,9 +43,9 @@ access                to *
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index a27a363d095b71e4483342470f70d2b1abdbac11..58f32533aab5fdb7966f27bd3e84bf6d3b9343d2 100644 (file)
@@ -33,9 +33,9 @@ argsfile    @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 42d8bf1670a40948d132921a5100fa1c8c96bfe7..2f395cd02e7d3b3902f0b9ad5c8a5283e51e69f3 100644 (file)
@@ -51,9 +51,10 @@ chain-idassert-bind  bindmethod=simple
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index c150ab4b87cc2a3b709edb63a2794a15e6727a77..0008fe54cf4fd77ee6aaad8f6f73d760ef9e0532 100644 (file)
@@ -40,9 +40,9 @@ argsfile      @TESTDIR@/slapd.2.args
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 721b13bc0ba2819711c4cb66848a8a20eeacde69..b5f071757665baee358fb997fab009aaa4d71714 100644 (file)
@@ -38,9 +38,9 @@ moduleload      @DATADIR@/comp_libs/compmatch.la
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1
index edf0087b058fb35f6bef0fd5eb07e2b3794f29f3..82b5af068ca54bdc1991b0799c89192f25df333b 100644 (file)
@@ -7,9 +7,9 @@ include         @SCHEMADIR@/core.schema
 
 database       @BACKEND@
 suffix         "o=undo"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,o=undo"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 37b8ebc8168108df736a0b53c95322783a059c48..e04d0a53a4e76d764712196c358dfdec13333611 100644 (file)
@@ -37,9 +37,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryExpireTimestamp    eq
index 7bb358206dd12934e4eba388c8cb9165faee6df1..12adf6c4832f5be98a9e0048549f56ee22d90c61 100644 (file)
@@ -37,8 +37,8 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "cn=log"
-directory      @TESTDIR@/db.1.b
 rootdn         "cn=Manager,dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.1.b
 #bdb#index             objectClass     eq
 #bdb#index             entryUUID,entryCSN      eq
 #hdb#index             objectClass     eq
@@ -53,9 +53,9 @@ syncprov-nopresent true
 rootdn         "cn=Manager,dc=example,dc=com"
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 7a60f8f1ba2bb1fb44aa3e1c89efb6726faebe87..c066248b4f294c4431f99a445204cfe22c3bb700 100644 (file)
@@ -44,9 +44,10 @@ argsfile     @TESTDIR@/slapd.2.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 73e898fc153ce3394b82d9d199f9ff60f5f512f3..432c5c2afe9d11fa28ae6211cf2e7cf7517df996 100644 (file)
@@ -35,9 +35,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 8b0fb800c7db05652d194ee9bd028b91821b06e1..83cd798f7b76fbf96c68bcdb0cf1b8704f693d40 100644 (file)
@@ -40,9 +40,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index cf13d83fe26a6fed312d77a3a4c09bfc235debf7..4df2bf4ada0b1ddcfa4aa077df5104bf7eaa36ba 100644 (file)
@@ -40,9 +40,9 @@ access                to dn.exact="cn=Subschema"
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
@@ -65,9 +65,9 @@ access                to dn.subtree="dc=example,dc=com"
 
 database       @BACKEND@
 suffix         ""
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,c=US"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 9767544ddceebb327c25141b4802159d14fc670b..2e7793bd9183ec8c42c6361f1117ac681af39514 100644 (file)
@@ -34,8 +34,8 @@ argsfile      @TESTDIR@/slapd.1.args
 database       @BACKEND@
 suffix         "ou=Information Technology Division,ou=People,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager 1,dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -52,8 +52,8 @@ overlay               syncprov
 database       @BACKEND@
 suffix         "ou=Groups,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.1.b
 rootdn         "cn=Manager 1,dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.1.b
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -83,9 +83,9 @@ updateref     @URI2@
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.c
 rootdn         "cn=Manager 1,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.c
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
index 76b597b1ebb071c4bb7b79c4bc3e1a170a4c3e1f..a7950f75a3c715b0a6623602512d64a39c255484 100644 (file)
@@ -34,8 +34,8 @@ argsfile      @TESTDIR@/slapd.2.args
 database       @BACKEND@
 suffix         "ou=Information Technology Division,ou=People,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager 2,dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -66,8 +66,8 @@ updateref     @URI1@
 database       @BACKEND@
 suffix         "ou=Groups,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.2.b
 rootdn         "cn=Manager 2,dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.2.b
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -85,9 +85,9 @@ overlay               syncprov
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.c
 rootdn         "cn=Manager 2,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.c
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
index 9706c9d5ec3e4b76d19455ab172f48eb07ce0845..6004434b17aefbecc30b16bfb74705a467ef13bb 100644 (file)
@@ -33,8 +33,8 @@ argsfile      @TESTDIR@/slapd.1.args
 database       @BACKEND@
 suffix         "ou=Information Technology Division,ou=People,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager, dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -47,8 +47,8 @@ rootdn                "cn=Manager, dc=example,dc=com"
 database       @BACKEND@
 suffix         "ou=Groups,dc=example,dc=com"
 subordinate
-directory      @TESTDIR@/db.1.b
 rootdn         "cn=Manager, dc=example,dc=com"
+#~null~#directory      @TESTDIR@/db.1.b
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
@@ -60,9 +60,9 @@ rootdn                "cn=Manager, dc=example,dc=com"
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.c
 rootdn         "cn=Manager, dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.c
 #bdb#index             objectclass     eq
 #bdb#index             uid     pres,eq,sub
 #bdb#index             cn,sn   pres,eq,sub,subany
index be4dfc3f535157449f5e7b66ba808a4f612f0917..ad5acf67e02dd17e9b58d255fbaf3938a3fe24b4 100644 (file)
@@ -59,9 +59,10 @@ access to *
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
@@ -77,9 +78,9 @@ access to dn.exact="cn=Proxy,ou=Admin,dc=example,dc=com"
 database       @BACKEND@
 
 suffix         "dc=example,dc=it"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,dc=example,dc=it"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 8827a12bc05c4ca2a75ef2d9db22faf19c25c678..14e582bca6c817418fc9edf404e5214e1b2e1374 100644 (file)
@@ -68,9 +68,9 @@ uri             "@URI2@"
 # root
 database        @BACKEND@
 suffix          "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 327c211691ea4e2629585053949c7004763a0484..e82fe51cc611010674473a2d59cc536be191ac96 100644 (file)
@@ -50,9 +50,9 @@ access to *
 # people branch
 database        @BACKEND@
 suffix          "ou=Groups,dc=example,dc=com"
-directory      @TESTDIR@/db.3.a
 rootdn         "cn=Manager,ou=Groups,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.3.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 51284f237e576cdf2ceb865e6abc046c170f9477..3ea70571b278104cc6e4711b4a116923bdbb017c 100644 (file)
@@ -51,9 +51,10 @@ access to *
 # people branch
 database        @BACKEND@
 suffix          "ou=People,dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,ou=People,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 0a9bed93126d71e090492af15d6580019bab3571..4b3223f293bf5196dc52ffe5744ab1a55e502df7 100644 (file)
@@ -33,9 +33,10 @@ argsfile     @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
+
 # Need quality indices on "uid" to check "unchecked" limits...
 #bdb#index             objectClass eq
 #bdb#index             uid eq
index c99173b2cc08e11ad5c4f00a8abfd000dae3160c..c8cc25816621372caa0b47741e66b782dc9c1854 100644 (file)
@@ -35,9 +35,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1
index 514c2415cc08a6f545c9da1b8922da16af638d46..278cc8936c67799bc2f2e51adde85f5d1e17bb76 100644 (file)
@@ -38,9 +38,10 @@ sockbuf_max_incoming 4194303
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index da5924b1dfd11bb644a8a199d7cf1eabe35d41b0..bd590c92073e6ac0db4a2afd99271682a4cbdaaa 100644 (file)
@@ -43,9 +43,10 @@ idletimeout  5
 
 database       @BACKEND@
 suffix         "ou=Meta,dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,ou=Meta,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 900ed7e586398e3634cd720f25bd64dc7673f149..9ff4f2e5dfec9e83c73656c0853173c605d990d1 100644 (file)
@@ -33,9 +33,9 @@ include               @SCHEMADIR@/ppolicy.schema
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1
index 25a294f61d8c117d0c17d1f022c075c21e292e92..14b60e5d016b157a4e5e293be3028afdfe95aba9 100644 (file)
@@ -57,7 +57,7 @@ pcachebind            (&(objectclass=person)(uid=)) 1 @BTTR@ sub "ou=Alumni Association,ou
 #bdb#cachesize 20
 #hdb#cachesize 20
 
-directory      @TESTDIR@/db.2.a
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid,mail  pres,eq,sub
 #hdb#index             objectClass     eq
index da75ea3bbe6a451cb65df88ec4520c3a9d97a75a..2e2a81658cbc021002eeaaafa515b4ec168283d1 100644 (file)
@@ -33,9 +33,10 @@ argsfile     @TESTDIR@/slapd.1.args
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 0c8d7e6ab24fe976e6bb48019e157ae5be19a086..ce3c805321f6ec12946083649f1350f9f22fe43a 100644 (file)
@@ -38,9 +38,9 @@ database      @BACKEND@
 #hdb#cachesize 0
 
 suffix         "o=University of Mich,c=US"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,o=University of Mich,c=US"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 89f125edaa2eb35e15a8a2b32253823c43126f53..a1e6232b85e3fdf883bfff4539d803fcb2bfb5c2 100644 (file)
@@ -32,9 +32,9 @@ argsfile      @TESTDIR@/slapd.args
 
 database       @BACKEND@
 suffix         "c=us"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,c=us"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1
index b364349d4eb1395893346bd32a31ebe979bd3332..232856ba0ba472b299000e6fab6dd5dc56ded995 100644 (file)
@@ -36,9 +36,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "o=refint"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,o=refint"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 4af63c64fa62f24281ce807d5ba81a70f1e7605f..7ff3dd5858fab924c2bd5c272b9bbce0c9a46620 100644 (file)
@@ -41,9 +41,10 @@ argsfile     @TESTDIR@/slapd.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1
index 280aad9a380e5544ba5c9920583413f529871390..2b28fff9e7c3696ca36e194e74782f7ef1e23057 100644 (file)
@@ -50,13 +50,14 @@ access to *
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
 # HACK: use the RootDN of the monitor database as UpdateDN so ACLs apply
 # without the need to write the UpdateDN before starting replication
 updatedn       "cn=Monitor"
 updateref      @URI1@
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID       pres,eq
index 00164fc68c8c4ea847267b6a73e747b737a48402..3710fe2667f2e7b0777a1dfa4708f2ceee5f1713 100644 (file)
@@ -37,9 +37,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 80bafcc5290a4b09c123409885c537ecef0e85ec..29674f3c45476d02330c1324fbfcc4f6316c6e12 100644 (file)
@@ -46,7 +46,7 @@ rootdse       @DATADIR@/rootdse.ldif
 
 database       @BACKEND@
 suffix         "o=OpenLDAP Project,l=Internet"
-directory      @TESTDIR@/db.1.a
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass eq
 #hdb#index             objectClass eq
 #ndb#dbname db_1_a
index b9b4079a3492b442ab36cd125e26657a3bbe957f..69c39df50e140155a3588f169de26d9021d128cb 100644 (file)
@@ -35,9 +35,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 6a16df7608530fae5f9681944aef4265885ea886..e4d2c3dbca08956b20eb96e3a4ffde82dcb9c0a3 100644 (file)
@@ -37,9 +37,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 9dfe7280548fa106d3f13c280d43dc9ac4095292..681d34d320f0e3f319f0f99a33e00f0b2019b5a8 100644 (file)
@@ -44,9 +44,10 @@ argsfile     @TESTDIR@/slapd.4.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.4.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.4.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 6f9617362eeeada8fe6c31693163d1d9f3571920..6412cd538348f74f26b4010793f8c3ad41c61e3f 100644 (file)
@@ -21,9 +21,9 @@ argsfile      @TESTDIR@/slapd.5.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.5.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.5.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 716865baa031d39019d6479c6abe95c4a1dae6c5..9413aa899ef78802f031914ba901af676b689340 100644 (file)
@@ -33,9 +33,9 @@ argsfile      @TESTDIR@/slapd.6.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.6.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.6.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 1cfec880fadf5f718c71573cae402f055f0bf978..ecf4033c50449a7c7fabe8935bdbf3a34ac107cd 100644 (file)
@@ -35,9 +35,10 @@ argsfile     @TESTDIR@/slapd.2.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 9ad159cb9734380a620f50a231f7e28066768fb5..a26d3fc3e36e082af2ebcc9cdfce0346f58b7204 100644 (file)
@@ -33,9 +33,9 @@ argsfile      @TESTDIR@/slapd.3.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.3.a
 rootdn         "cn=Replica,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.3.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#index             entryUUID,entryCSN      eq
index 9adc4292f9ea88dee6badb75d005c2a66534c707..f19768053148b669a17b7b9764e1e31b773bb6cf 100644 (file)
@@ -41,9 +41,10 @@ argsfile     @TESTDIR@/slapd.2.args
 
 database       @BACKEND@
 suffix         "o=translucent"
-directory      @TESTDIR@/db.2.a
 rootdn         "o=translucent"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 66e33babaaec76b3b2410613609c5181af4aec8e..ff48569df2aa7402eb099823e0f69fdea921cba4 100644 (file)
@@ -36,9 +36,10 @@ argsfile     @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "o=translucent"
-directory      @TESTDIR@/db.1.a
 rootdn         "o=translucent"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 7a4a69554d1b1c9b9530f09a9c8fe8989f63764e..901064ebd9400ddb323bdd60d4e1786a32f86385 100644 (file)
@@ -36,9 +36,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "o=unique"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,o=unique"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 742d647542e15fe5be286e11d6f8d46c2350f746..14755004e38ba772b126f0b7b9325bae40c4a889 100644 (file)
@@ -43,9 +43,10 @@ access               to *
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 69bf61e02c7aae35bde45a82b646986030b6cdc0..1382bb06939581a3b9a8da7bf1c53b6a7af77cfa 100644 (file)
@@ -34,9 +34,9 @@ argsfile      @TESTDIR@/slapd.1.args
 
 database       @BACKEND@
 suffix         "o=valsort"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,o=valsort"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 54b39aefc3adf45f9f269778166f51ac5c63867f..6eeef2e7a110a88047bb1dae1f444a7b8951cab7 100644 (file)
@@ -53,9 +53,9 @@ access to *
 database       @BACKEND@
 
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 2c0135c5e24091d485714cf8a4d077bb1cb55a8f..6dddda7d1aa7e68fb52d67917ecbe3bf34ab1add 100644 (file)
@@ -38,9 +38,10 @@ sockbuf_max_incoming 4194303
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.1.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#null#bind             on
+#~null~#directory      @TESTDIR@/db.1.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #bdb#checkpoint                1024 5
index 9bd47f5d270e2a9dded0ab9f13a89b43da7976a4..e49f251b5c66117b3751daec8e60d3cd43d82927 100644 (file)
@@ -33,9 +33,9 @@ argsfile      @TESTDIR@/slapd.2.args
 
 database       @BACKEND@
 suffix         "dc=example,dc=com"
-directory      @TESTDIR@/db.2.a
 rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
+#~null~#directory      @TESTDIR@/db.2.a
 #bdb#index             objectClass     eq
 #bdb#index             cn,sn,uid       pres,eq,sub
 #hdb#index             objectClass     eq
index 717485779f3bc3967ec22da593fa83348c9c8c5f..a08e57f72932debf6a4d9d72870ce4b1960bba7a 100644 (file)
 ## <http://www.OpenLDAP.org/license.html>.
 
 PROGRAMS = slapd-tester slapd-search slapd-read slapd-addel slapd-modrdn \
-               slapd-modify slapd-bind
+               slapd-modify slapd-bind ldif-filter
 
 SRCS     = slapd-common.c \
                slapd-tester.c slapd-search.c slapd-read.c slapd-addel.c \
-               slapd-modrdn.c slapd-modify.c slapd-bind.c
+               slapd-modrdn.c slapd-modify.c slapd-bind.c ldif-filter.c
 
 LDAP_INCDIR= ../../include
 LDAP_LIBDIR= ../../libraries
@@ -54,3 +54,6 @@ slapd-modify: slapd-modify.o $(OBJS) $(XLIBS)
 slapd-bind: slapd-bind.o $(OBJS) $(XLIBS)
        $(LTLINK) -o $@ slapd-bind.o $(OBJS) $(LIBS)
 
+ldif-filter: ldif-filter.o $(XLIBS)
+       $(LTLINK) -o $@ ldif-filter.o $(LIBS)
+
diff --git a/tests/progs/ldif-filter.c b/tests/progs/ldif-filter.c
new file mode 100644 (file)
index 0000000..e6d66b1
--- /dev/null
@@ -0,0 +1,244 @@
+/* ldif-filter -- clean up LDIF testdata from stdin */
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 2009-2010 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+
+#include "portable.h"
+
+#include <stdio.h>
+#include <ac/ctype.h>
+#include <ac/stdlib.h>
+#include <ac/string.h>
+#include <ac/unistd.h>
+
+#define DEFAULT_SPECS "ndb=a,null=n"
+
+typedef struct { char   *val; size_t len, alloc; } String;
+typedef struct { String        *val; size_t len, alloc; } Strings;
+
+/* Flags and corresponding program options */
+enum { SORT_ATTRS = 1, SORT_ENTRIES = 2, NO_OUTPUT = 4, DUMMY_FLAG = 8 };
+static const char spec_options[] = "aen"; /* option index = log2(enum flag) */
+
+static const char *progname = "ldif-filter";
+static const String null_string = { NULL, 0, 0 };
+
+static void
+usage( void )
+{
+       fprintf( stderr, "\
+Usage: %s [-b backend] [-s spec[,spec]...]\n\
+Filter standard input by first <spec> matching '[<backend>]=[a][e][n]':\n\
+  - Remove LDIF comments.\n\
+  - 'a': Sort attributes in entries.\n\
+  - 'e': Sort any entries separated by just one empty line.\n\
+  - 'n': Output nothing.\n\
+<backend> defaults to the $BACKEND environment variable.\n\
+Use specs '%s' if no spec on the command line applies.\n",
+               progname, DEFAULT_SPECS );
+       exit( EXIT_FAILURE );
+}
+
+/* Return flags from "backend=flags" in spec; nonzero if backend found */
+static unsigned
+get_flags( const char *backend, const char *spec )
+{
+       size_t len = strlen( backend );
+       unsigned flags = DUMMY_FLAG;
+       const char *tmp;
+
+       while ( '=' != *(spec += strncmp( spec, backend, len ) ? 0 : len) ) {
+               if ( (spec = strchr( spec, ',' )) == NULL ) {
+                       return 0;
+               }
+               ++spec;
+       }
+       while ( *++spec && *spec != ',' ) {
+               if ( (tmp = strchr( spec_options, *spec )) == NULL ) {
+                       usage();
+               }
+               flags |= 1U << (tmp - spec_options);
+       }
+       return flags;
+}
+
+#define APPEND(s /* String or Strings */, data, count, isString) do { \
+       size_t slen = (s)->len, salloc = (s)->alloc, sz = sizeof *(s)->val; \
+       if ( salloc <= slen + (count) ) { \
+               (s)->alloc = salloc += salloc + ((count)|7) + 1; \
+               (s)->val   = xrealloc( (s)->val, sz * salloc ); \
+       } \
+       memcpy( (s)->val + slen, data, sz * ((count) + !!(isString)) ); \
+       (s)->len = slen + (count); \
+} while (0)
+
+static void *
+xrealloc( void *ptr, size_t len )
+{
+       if ( (ptr = realloc( ptr, len )) == NULL ) {
+               perror( progname );
+               exit( EXIT_FAILURE );
+       }
+       return ptr;
+}
+
+static int
+cmp( const void *s, const void *t )
+{
+       return strcmp( ((const String *) s)->val, ((const String *) t)->val );
+}
+
+static void
+sort_strings( Strings *ss, size_t offset )
+{
+       qsort( ss->val + offset, ss->len - offset, sizeof(*ss->val), cmp );
+}
+
+/* Build entry ss[n] from attrs ss[n...], and free the attrs */
+static void
+build_entry( Strings *ss, size_t n, unsigned flags, size_t new_len )
+{
+       String *vals = ss->val, *e = &vals[n];
+       size_t end = ss->len;
+       char *ptr;
+
+       if ( flags & SORT_ATTRS ) {
+               sort_strings( ss, n + 1 );
+       }
+       e->val = xrealloc( e->val, e->alloc = new_len + 1 );
+       ptr = e->val + e->len;
+       e->len = new_len;
+       ss->len = ++n;
+       for ( ; n < end; free( vals[n++].val )) {
+               ptr = strcpy( ptr, vals[n].val ) + vals[n].len;
+       }
+       assert( ptr == e->val + new_len );
+}
+
+/* Flush entries to stdout and free them */
+static void
+flush_entries( Strings *ss, const char *sep, unsigned flags )
+{
+       size_t i, end = ss->len;
+       const char *prefix = "";
+
+       if ( flags & SORT_ENTRIES ) {
+               sort_strings( ss, 0 );
+       }
+       for ( i = 0; i < end; i++, prefix = sep ) {
+               if ( printf( "%s%s", prefix, ss->val[i].val ) < 0 ) {
+                       perror( progname );
+                       exit( EXIT_FAILURE );
+               }
+               free( ss->val[i].val );
+       }
+       ss->len = 0;
+}
+
+static void
+filter_stdin( unsigned flags )
+{
+       char line[256];
+       Strings ss = { NULL, 0, 0 };    /* entries + attrs of partial entry */
+       size_t entries = 0, attrs_totlen = 0, line_len;
+       const char *entry_sep = "\n", *sep = "";
+       int comment = 0, eof = 0, eol, prev_eol = 1;    /* flags */
+       String *s;
+
+       /* LDIF = Entries ss[..entries-1] + sep + attrs ss[entries..] + line */
+       for ( ; !eof || ss.len || *sep; prev_eol = eol ) {
+               if ( eof || (eof = !fgets( line, sizeof(line), stdin ))) {
+                       strcpy( line, prev_eol ? "" : *sep ? sep : "\n" );
+               }
+               line_len = strlen( line );
+               eol = (line_len == 0 || line[line_len - 1] == '\n');
+
+               if ( *line == ' ' ) {           /* continuation line? */
+                       prev_eol = 0;
+               } else if ( prev_eol ) {        /* start of logical line? */
+                       comment = (*line == '#');
+               }
+               if ( comment || (flags & NO_OUTPUT) ) {
+                       continue;
+               }
+
+               /* Collect attrs for partial entry in ss[entries...] */
+               if ( !prev_eol && attrs_totlen != 0 ) {
+                       goto grow_attr;
+               } else if ( line_len > (*line == '\r' ? 2 : 1) ) {
+                       APPEND( &ss, &null_string, 1, 0 ); /* new attr */
+               grow_attr:
+                       s = &ss.val[ss.len - 1];
+                       APPEND( s, line, line_len, 1 ); /* strcat to attr */
+                       attrs_totlen += line_len;
+                       continue;
+               }
+
+               /* Empty line - consume sep+attrs or entries+sep */
+               if ( attrs_totlen != 0 ) {
+                       entry_sep = sep;
+                       if ( entries == 0 )
+                               fputs( sep, stdout );
+                       build_entry( &ss, entries++, flags, attrs_totlen );
+                       attrs_totlen = 0;
+               } else {
+                       flush_entries( &ss, entry_sep, flags );
+                       fputs( sep, stdout );
+                       entries = 0;
+               }
+               sep = "\r\n" + 2 - line_len;    /* sep = copy(line) */
+       }
+
+       free( ss.val );
+}
+
+int
+main( int argc, char **argv )
+{
+       const char *backend = getenv( "BACKEND" ), *specs = "", *tmp;
+       unsigned flags;
+       int i;
+
+       if ( argc > 0 ) {
+               progname = (tmp = strrchr( argv[0], '/' )) ? tmp+1 : argv[0];
+       }
+
+       while ( (i = getopt( argc, argv, "b:s:" )) != EOF ) {
+               switch ( i ) {
+               case 'b':
+                       backend = optarg;
+                       break;
+               case 's':
+                       specs = optarg;
+                       break;
+               default:
+                       usage();
+               }
+       }
+       if ( optind < argc ) {
+               usage();
+       }
+       if ( backend == NULL ) {
+               backend = "";
+       }
+
+       flags = get_flags( backend, specs );
+       filter_stdin( flags ? flags : get_flags( backend, DEFAULT_SPECS ));
+       if ( fclose( stdout ) == EOF ) {
+               perror( progname );
+               return EXIT_FAILURE;
+       }
+
+       return EXIT_SUCCESS;
+}
index b0eaf3f48bd3f8f50d7a4f8e8f1513065c8d0aa5..5b7620f52ba960d5246b4e1d31383146218b6f81 100644 (file)
@@ -23,9 +23,13 @@ EGREP_CMD="@EGREP@"
 
 export SRCDIR TOPSRCDIR LN_S EGREP_CMD
 
-# backends
+# backends known to ./run -b <backend> (used to deduce $BACKENDTYPE)
 AC_bdb=@BUILD_BDB@
 AC_hdb=@BUILD_HDB@
+AC_ldif=yes
+AC_null=@BUILD_NULL@
+
+# other backends
 AC_ldap=ldap@BUILD_LDAP@
 AC_meta=meta@BUILD_META@
 AC_monitor=@BUILD_MONITOR@
@@ -63,7 +67,7 @@ if test "${AC_meta}" = "metamod" && test "${AC_LIBS_DYNAMIC}" = "static" ; then
        AC_meta="metano"
 fi
 
-export AC_bdb AC_hdb AC_ldap AC_meta AC_monitor AC_relay AC_sql \
+export AC_bdb AC_hdb AC_ldap AC_meta AC_monitor AC_null AC_relay AC_sql \
        AC_accesslog AC_dds AC_dynlist AC_memberof AC_pcache AC_ppolicy \
        AC_refint AC_retcode AC_rwm AC_unique AC_syncprov AC_translucent \
        AC_valsort \
diff --git a/tests/scripts/acfilter.sh b/tests/scripts/acfilter.sh
deleted file mode 100755 (executable)
index 3985c1f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /bin/sh
-# $OpenLDAP$
-## This work is part of OpenLDAP Software <http://www.openldap.org/>.
-##
-## Copyright 1998-2010 The OpenLDAP Foundation.
-## All rights reserved.
-##
-## Redistribution and use in source and binary forms, with or without
-## modification, are permitted only as authorized by the OpenLDAP
-## Public License.
-##
-## A copy of this license is available in the file LICENSE in the
-## top-level directory of the distribution or, alternatively, at
-## <http://www.OpenLDAP.org/license.html>.
-#
-# Strip comments, sort attributes. Requires GNU awk
-#
-if [ "$BACKEND" != ndb ]; then
-grep -v '^#'
-else
-grep -v '^#'| awk 'BEGIN{FS="\n";RS=""} {j=0; for (i=1; i<=NF; i++){ if ($i ~ /^ /){ x[j] = x[j] "\n" $i; } else { j++; x[j] = $i } } print x[1]; delete x[1]; j=asort(x); for (i=1; i<=j; i++){ print x[i]; } delete x; print "" }'
-fi
index 712a752a49039edf6ce01f03fb4e42f35cf302b0..11530114a17603cee4804690ca18cd5014936db6 100755 (executable)
@@ -33,6 +33,8 @@ else
 fi
 sed -e "s/@BACKEND@/${BACKEND}/"                       \
        -e "s/^#${BACKEND}#//"                          \
+       -e "/^#~/s/^#[^#]*~${BACKEND}~[^#]*#/#omit: /"  \
+               -e "s/^#~[^#]*~#//"                     \
        -e "s/@RELAY@/${RELAY}/"                        \
        -e "s/^#relay-${RELAY}#//"                      \
        -e "s/^#${BACKENDTYPE}#//"                      \
index 189c62e105939249ecefd4e277610420f7fc22d8..48d8c9a3e9803993cf8e24b2fe722ba11aa3c334 100755 (executable)
@@ -163,7 +163,6 @@ TOOLARGS="-x $LDAP_TOOLARGS"
 TOOLPROTO="-P 3"
 
 # cmds
-LDIFFILTER=$SRCDIR/scripts/acfilter.sh
 CONFFILTER=$SRCDIR/scripts/conf.sh
 
 MONITORDATA=$SRCDIR/scripts/monitor_data.sh
@@ -192,6 +191,7 @@ LDAPWHOAMI="$CLIENTDIR/ldapwhoami $TOOLARGS"
 LDAPCOMPARE="$CLIENTDIR/ldapcompare $TOOLARGS"
 LDAPEXOP="$CLIENTDIR/ldapexop $TOOLARGS"
 SLAPDTESTER=$PROGDIR/slapd-tester
+LDIFFILTER=$PROGDIR/ldif-filter
 LVL=${SLAPD_DEBUG-0x4105}
 LOCALHOST=localhost
 BASEPORT=${SLAPD_BASEPORT-9010}
index b3a158b397e2f1977b669e55a5d10b810fcdbc18..d6581eaeb8d128c2ab0ecf40b2c787a7ee38d475 100755 (executable)
@@ -344,9 +344,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $RELAYOUT > $LDIFFLT
+$LDIFFILTER < $RELAYOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -386,11 +386,10 @@ $LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
        "cn=Added User,ou=Alumni Association,ou=People,$BASEDN" \
        "seeAlso:cn=All Staff,ou=Groups,$BASEDN" >> $TESTOUT 2>&1
 RC=$?
-if test $RC != 6 ; then
+if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
        echo "Compare failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
-
index dadd7536b5b5b983e5fae2598cc278e41c0fb40e..2c25159500cc8966f3d31663fb7631643f8b4ace 100755 (executable)
@@ -550,9 +550,9 @@ case $RC in
 esac
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif..."
-$LDIFFILTER < $SQLREAD > $LDIFFLT
+$LDIFFILTER < $SQLREAD > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index aef934c34728ff2fd6a02a8559e397e49011e787..fdf9d71ff16e10b5a0fcf636ce6d0b2b6bbe74a3 100755 (executable)
@@ -79,7 +79,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $SEARCHOUT > $LDIFFLT
+$LDIFFILTER < $SEARCHOUT > $LDIFFLT
 
 if test "${RDBMSWRITE}" != "yes"; then
        echo "write test disabled for ${RDBMS}; set SLAPD_USE_SQLWRITE=yes to enable"
@@ -124,7 +124,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 2c27a4aa8df39356896dd88585c642f91ca56b82..8eb6c3c12f06468bf2c2d611a87acc76247940df 100755 (executable)
@@ -549,9 +549,9 @@ EOMODS
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering modified ldif..."
-       $LDIFFILTER < $SQLWRITE > $LDIFFLT
+       $LDIFFILTER < $SQLWRITE > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index d59855f98b65e5e7c308c7e19e7a44d46947ec1e..b2cfc2e1c2c0feb281286e61857611c1ebcdbf05 100755 (executable)
@@ -122,9 +122,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results from master..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering ldapsearch results from slave..."
-$LDIFFILTER < $SEARCHOUT2 > $SEARCHFLT2
+$LDIFFILTER < $SEARCHOUT2 > $SEARCHFLT2
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $SEARCHFLT2 > $CMPOUT
 
@@ -620,9 +620,9 @@ EOMODS
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering modified ldif..."
-       $LDIFFILTER < $SQLWRITE > $LDIFFLT
+       $LDIFFILTER < $SQLWRITE > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -668,9 +668,9 @@ EOMODS
        fi
 
        echo "Filtering ldapsearch results from master..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering ldapsearch results from slave..."
-       $LDIFFILTER < $SEARCHOUT2 > $SEARCHFLT2
+       $LDIFFILTER < $SEARCHOUT2 > $SEARCHFLT2
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $SEARCHFLT2 > $CMPOUT
 
index b4d893c4624b828e021c3523a7862d591a28105b..df16fde0d80cce7f8fd058d4fc81aa2a567a1cce 100755 (executable)
@@ -48,9 +48,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 65e3cc3bb17140c87047ac3965e57ac03deb686a..272aefbdfe6c5dda6501651c5a89304dcd3866a3 100755 (executable)
@@ -48,9 +48,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 0d18ffa180d86028abf19e8b73112449259808de..6314323fdf5d5959719a9f1be574dff87cd933b1 100755 (executable)
@@ -58,9 +58,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index be8c9f99ef90ee17fa37fa44f7a8347b7f81f0fd..84a37b9d6ac12471018ce22d2def51a55823cff6 100755 (executable)
@@ -65,9 +65,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index c4b54bb21208553d833390b96fad5f5345d3e2fa..d5675ca0fc53599359755951a4ab2c7026fe2b83 100755 (executable)
@@ -133,9 +133,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$SEARCHOUTMASTER
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index e28fa073df3630edb4e60f4b217f42a089ba8f3e..ad8507c50414e4c80e6b67461e864c640ea484a2 100755 (executable)
@@ -216,9 +216,9 @@ fi
 LDIF=$MODIFYOUTMASTER
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 2e3af58d2c8414fc13d3f52d88f6804e09c680ff..a8995a24d8e4c7ac7a1708ab9f3c740e6bb8976b 100755 (executable)
@@ -98,9 +98,9 @@ fi
 LDIF=$MODRDNOUTMASTER1
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -125,9 +125,9 @@ fi
 LDIF=$MODRDNOUTMASTER2
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -169,9 +169,9 @@ fi
 LDIF=$MODRDNOUTMASTER0
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -209,9 +209,9 @@ fi
 LDIF=$MODRDNOUTMASTER3
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 86644a791547eef4e4caa68c713e295b7b99816c..c3ce8dc04e073c75a6ef51653833e6c350b5edbf 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-case "$BACKEND" in
-bdb|hdb)
-       ;;
-*)
-       echo "Test does not support $BACKEND backend"
+case "$BACKEND" in ldif | null)
+       echo "$BACKEND backend does not support access controls, test skipped"
        exit 0
 esac
 
@@ -652,9 +649,9 @@ fi
 LDIF=$ACLOUTMASTER
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index a154084a71216de4b482a6e6d3fa38714ea4b7af..208550004d86ecdd75a822d1371447c5c8ddabbf 100755 (executable)
@@ -82,9 +82,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 6f98e25f6d7f407b2344a4ce6550d9bd1afa5af7..bedad1f95e91f97a36b19cbc4223c3c76ea69f34 100755 (executable)
@@ -163,9 +163,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$SEARCHOUTMASTER
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index e89506dafe19abb9dd6cbe7bba92a504f538d6ab..d41e78924147ee0f548c4601210004f9ca66de01 100755 (executable)
@@ -56,9 +56,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -s ldif=e < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-. $LDIFFILTER < $LDIFGLUED > $LDIFFLT
+$LDIFFILTER -s ldif=e < $LDIFGLUED > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -70,6 +70,7 @@ if test $? != 0 ; then
        exit 1
 fi
 
+if test $BACKEND != null ; then
 echo "Testing sizelimit..."
 $LDAPSEARCH -b "$BASEDN" -h $LOCALHOST -p $PORT1 -s one -z 2 > $SEARCHOUT 2>&1
 RC=$?
@@ -86,6 +87,7 @@ if test $RC = 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit 1
 fi
+fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
index 461b902fcbc34251b47badaecde881d8db8944c8..b13feb053269bb57870e18dbbc0ed12f9f6f8a22 100755 (executable)
@@ -65,9 +65,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -s ldif=e < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-. $LDIFFILTER < $LDIFGLUED > $LDIFFLT
+$LDIFFILTER -s ldif=e < $LDIFGLUED > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 6307c3ed7c794c0535323327314f30e2b1a3f5a6..db7e7396a69ed1f7996fa39e09754d819be1d44c 100755 (executable)
@@ -99,9 +99,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering language ldif ..."
-$LDIFFILTER < $LDIFLANGOUT > $LDIFFLT
+$LDIFFILTER < $LDIFLANGOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index b58d322652bea560a3ae3066a942fcbfb5ddad45..c8c30197530e42cf8bbcdbf42f6d09317c630e94 100755 (executable)
@@ -437,7 +437,7 @@ RC=$?
 if test $RC != 1 ; then
        echo "ldapwhoami failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 BINDDN="dc=example,dc=com"
index 4b49d04b46ddadf44082c3d5e74c7b6b5849e92c..6a6149c650b989317e5c16d96ee759a93ad17240 100755 (executable)
@@ -229,10 +229,10 @@ LDIF=$SEARCHOUTMASTER
 LDIF2=$SEARCHOUTX
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
-$LDIFFILTER < $LDIF2 >> $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF2 >> $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 952f33d102622f8d82ff3a8ae6dbb90a393c4c84..05afbe062090e73a091c2c8c50e55c5e8dcabf1d 100755 (executable)
@@ -14,6 +14,7 @@
 ## <http://www.OpenLDAP.org/license.html>.
 
 RCODE=10
+test $BACKEND = null && RCODE=0
 
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
@@ -87,7 +88,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 XREFDN="$REFDN"
@@ -125,7 +126,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 echo "Testing one-level searching at $XREFDN..."
@@ -134,7 +135,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 echo "Testing subtree searching at $XREFDN..."
@@ -143,7 +144,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 XREFDN="uid=xxx,o=abc,$REFDN"
@@ -153,7 +154,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 echo "Testing one-level searching at $XREFDN..."
@@ -162,7 +163,7 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 echo "Testing subtree searching at $XREFDN..."
@@ -171,16 +172,16 @@ RC=$?
 if test $RC != $RCODE ; then
        echo "ldapsearch: unexpected result ($RC)! (referral expected)"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 LDIF=$SEARCHOUTMASTER
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering expected LDIF for comparison..."
-$LDIFFILTER < $REFERRALOUT > $LDIFFLT
+$LDIFFILTER < $REFERRALOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 3b7fab7b0567c1fe667aa3d5516254714382566a..cc213e26feec5323105329c1f499a1b56d29dc0a 100755 (executable)
@@ -307,7 +307,7 @@ RC=$?
 if test $RC != 10 ; then
        echo "ldapmodify should have returned referral ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 OPATTRS="entryUUID creatorsName createTimestamp modifiersName modifyTimestamp"
@@ -337,9 +337,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 
 echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index 86077d450e11ff0f6279ed64e8f4e83af91ee599..9b1059885c149255ca17a76b54cf0a6c4f0fb744 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" && test "$BACKEND" != "ldif"; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -383,9 +378,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 
 echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index 975a82ad4412d240de94bd4081e035d7c912dd90..369fe79ecaf2cefa19fb29ba7f906c2fbe1a6bc1 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -433,17 +428,17 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering master ldapsearch results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering R1 slave ldapsearch results..."
-$LDIFFILTER < $SERVER2OUT > $SERVER2FLT
+$LDIFFILTER < $SERVER2OUT > $SERVER2FLT
 echo "Filtering R2 slave ldapsearch results..."
-$LDIFFILTER < $SERVER3OUT > $SERVER3FLT
+$LDIFFILTER < $SERVER3OUT > $SERVER3FLT
 echo "Filtering P1 slave ldapsearch results..."
-$LDIFFILTER < $SERVER4OUT > $SERVER4FLT
+$LDIFFILTER < $SERVER4OUT > $SERVER4FLT
 echo "Filtering P2 slave ldapsearch results..."
-$LDIFFILTER < $SERVER5OUT > $SERVER5FLT
+$LDIFFILTER < $SERVER5OUT > $SERVER5FLT
 echo "Filtering P3 slave ldapsearch results..."
-$LDIFFILTER < $SERVER6OUT > $SERVER6FLT
+$LDIFFILTER < $SERVER6OUT > $SERVER6FLT
 
 echo "Comparing retrieved entries from master and R1 slave..."
 $CMP $MASTERFLT $SERVER2FLT > $CMPOUT
index 98da6938f557b4cce79b26437a7de76576093e71..a0b0e25e31b269a32d5f04f199c721d3060edd55 100755 (executable)
@@ -33,6 +33,13 @@ if test $BACKLDAP = "ldapno" ; then
        exit 0
 fi 
 
+if test $BACKEND = ldif ; then
+       # The (mail=example.com*) queries hit a sizelimit, so which
+       # entry is returned depends on the ordering in the backend.
+       echo "Test does not support $BACKEND backend, test skipped"
+       exit 0
+fi
+
 mkdir -p $TESTDIR $DBDIR1 $DBDIR2
 
 # Test proxy caching:
@@ -455,9 +462,9 @@ else
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif..."
-$LDIFFILTER < $PROXYCACHEOUT > $LDIFFLT
+$LDIFFILTER < $PROXYCACHEOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 1cd55b9c6ba38dd1700577cddb255c38c8a3176c..9881701d202e7f9096fdbc3af175a307670815da 100755 (executable)
@@ -307,9 +307,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$CERTIFICATETLS
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index a9eea73b2f4bfb25b70161ce33798de72324ec7e..3f3cd25fb52542e3e713a43a4a5f99075e85f6db 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -194,7 +189,7 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
-if test $BACKEND = "hdb" ; then
+if test $BACKEND != "bdb" ; then
        $LDAPMODIFY -v -D "$REFINTDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
                $TESTOUT 2>&1 << EDEL
 version: 1
index fa8353793fa1b383769e1aba7d02f627e6a6e1ff..fa94e62e65d0dd2d71f509f6060f4d75a37d3b8d 100755 (executable)
@@ -21,6 +21,9 @@ if test $UNIQUE = uniqueno; then
        exit 0
 fi
 
+RCODEconstraint=19
+test $BACKEND = null && RCODEconstraint=0
+
 mkdir -p $TESTDIR $DBDIR1
 
 $SLAPPASSWD -g -n >$CONFIGPWF
@@ -107,7 +110,7 @@ employeeType: contractor
 givenName: Bill
 EOTUNIQ2
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "unique check failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
@@ -223,7 +226,7 @@ employeeType: contractor
 givenName: Bill
 EOTUNIQ2
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "unique check failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
@@ -280,7 +283,7 @@ employeeType: contractor
 givenName: Bill
 EOTUNIQ2
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "olcUniqueAttribtue single deletion hit the wrong value"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
@@ -340,7 +343,7 @@ employeeType: contractor
 givenName: Bill
 EOTUNIQ2
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "unique check failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
@@ -505,7 +508,7 @@ cn: elvis
 EOF
 
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "unique check failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
@@ -577,7 +580,7 @@ description: left the building
 EOF
 
 RC=$?
-if test $RC != 19 ; then
+if test $RC != $RCODEconstraint ; then
        echo "unique check failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
index 3a7e4d5a0e85643f666248da31471a805be8775b..7fa4049a7507bdacce16f9f9a9b482160dab2a2a 100755 (executable)
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
+if test $BACKEND = null; then
+       echo "Limits irrelevant to $BACKEND backend, test skipped"
+       exit 0
+fi
+
 mkdir -p $TESTDIR $DBDIR1
 
 echo "Running slapadd to build slapd database..."
index 62e25ad8221aa600bf88428d389276e64e6d5584..3c27e3f5702c0b4a9bebc975c5857d1a8051ff66 100755 (executable)
@@ -160,9 +160,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original data..."
-$LDIFFILTER < $DNOUT > $LDIFFLT
+$LDIFFILTER < $DNOUT > $LDIFFLT
 echo "Comparing ldapsearch results against original..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index c87120096ada9f711da6e4c14aee2927b94b926a..ff1b3d09ab31d843a4c76970557d6eb94e7d53b8 100755 (executable)
@@ -78,12 +78,12 @@ fi
 kill -HUP $KILLPIDS
 wait
 
-LDIFOUT=$EMPTYDNOUT1
-
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+echo "Filtering expected results..."
+$LDIFFILTER < $EMPTYDNOUT1 > $LDIFFLT
 echo "Comparing ldapsearch results against original..."
-$CMP $SEARCHFLT $LDIFOUT > $CMPOUT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "comparison failed - empty DN write operations did not complete correctly"
@@ -154,12 +154,12 @@ fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
-LDIFOUT=$EMPTYDNOUT2
-
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+echo "Filtering expected results..."
+$LDIFFILTER < $EMPTYDNOUT2 > $LDIFFLT
 echo "Comparing ldapsearch results against original..."
-$CMP $SEARCHFLT $LDIFOUT > $CMPOUT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "comparison failed - empty DN write operations did not complete correctly"
index 876af226bd43931eb0c70fbe5feb31decf8de050..8eac6f199bad7d1582e887b541ca94e8befe6835 100755 (executable)
@@ -106,7 +106,7 @@ AUTHZID="u:it/jaj"
 echo "Testing ldapwhoami as proxy US, $AUTHZID..."
 $LDAPWHOAMI -h $LOCALHOST -p $PORT1 -D "cn=proxy US,ou=Admin,dc=example,dc=com" -w proxy -e\!"authzid=$AUTHZID"
 RC=$?
-if test $RC != 0 ; then
+if test $RC != 0 && test $BACKEND != null ; then
        echo "ldapwhoami failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
@@ -119,7 +119,7 @@ RC=$?
 if test $RC != 1 ; then
        echo "ldapwhoami should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 AUTHZID="u:bjensen"
@@ -129,7 +129,7 @@ RC=$?
 if test $RC != 1 ; then
        echo "ldapwhoami should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 echo "Testing ldapwhoami as proxy IT..."
@@ -148,7 +148,7 @@ RC=$?
 if test $RC != 1 ; then
        echo "ldapwhoami should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 AUTHZID="u:bjorn"
@@ -158,14 +158,14 @@ RC=$?
 if test $RC != 1 ; then
        echo "ldapwhoami should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit 1
 fi
 
 AUTHZID="dn:cn=Sandbox,ou=Admin,dc=example,dc=com"
 echo "Testing ldapwhoami as proxy IT, $AUTHZID..."
 $LDAPWHOAMI -h $LOCALHOST -p $PORT1 -D "cn=proxy IT,ou=Admin,dc=example,dc=com" -w proxy -e\!"authzid=$AUTHZID"
 RC=$?
-if test $RC != 0 ; then
+if test $RC != 0 && test $BACKEND != null ; then
        echo "ldapwhoami failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
@@ -198,19 +198,19 @@ $LDAPSEARCH -h $LOCALHOST -p $PORT1 -b "$BASE" \
        -D "$ID" -w jaj > $SEARCHOUT 2>&1
 
 RC=$?
-if test $RC != 0 ; then
+if test $RC != 0 && test $BACKEND != null ; then
        echo "ldapsearch failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -s ldif=e < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-. $LDIFFILTER < $IDASSERTOUT > $LDIFFLT
+$LDIFFILTER -s ldif=e < $IDASSERTOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
-       
+
 if test $? != 0 ; then
        echo "comparison failed - search with identity assertion didn't succeed"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -232,9 +232,9 @@ if test $USE_SASL != "no" ; then
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering original ldif used to create database..."
-       $LDIFFILTER < $IDASSERTOUT > $LDIFFLT
+       $LDIFFILTER < $IDASSERTOUT > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
index 6e62fd96e20d4ff6d82a2908df858fe71fa37af2..a21e4b8a4a49d2b0c9f0ffc66bedf7da2e3f5581 100755 (executable)
@@ -149,9 +149,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -s ldif=e < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-. $LDIFFILTER < $LDAPGLUEOUT > $LDIFFLT
+$LDIFFILTER -s ldif=e < $LDAPGLUEOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -174,9 +174,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDAPGLUEANONYMOUSOUT > $LDIFFLT
+$LDIFFILTER < $LDAPGLUEANONYMOUSOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -202,9 +202,9 @@ if test $USE_SASL != "no" ; then
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering original ldif used to create database..."
-       $LDIFFILTER < $LDAPGLUEOUT > $LDIFFLT
+       $LDIFFILTER < $LDAPGLUEOUT > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
index 1247a1e21d70baaeaa84eae1941d175f4d30b340..617a18e43df1260ae156aa15228634b11b1c7fd7 100755 (executable)
@@ -314,7 +314,7 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $COMPSEARCHOUT > $CMPOUT
 
index 27dd5664e3dbb07ea2aab2e3183e0aaceaf4623a..61326124d5c7ff02422684bb680f84c62c4f3250 100755 (executable)
@@ -116,9 +116,9 @@ for P in $PORT1 $PORT2 ; do
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering original ldif used to create database..."
-       $LDIFFILTER < $CHAINOUT > $LDIFFLT
+       $LDIFFILTER < $CHAINOUT > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -140,9 +140,9 @@ for P in $PORT1 $PORT2 ; do
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering original ldif used to create database..."
-       $LDIFFILTER < $CHAINREFOUT > $LDIFFLT
+       $LDIFFILTER < $CHAINREFOUT > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
                
@@ -158,10 +158,10 @@ for P in $PORT1 $PORT2 ; do
                 > $TESTOUT 2>&1
 
        RC=$?
-       if test $RC != 6 ; then
+       if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
                echo "ldapcompare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
-               exit $RC
+               exit 1
        fi
 
        DN="ou=Other,$BASEDN"
@@ -170,10 +170,10 @@ for P in $PORT1 $PORT2 ; do
                 > $TESTOUT 2>&1
 
        RC=$?
-       if test $RC != 6 ; then
+       if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
                echo "ldapcompare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
-               exit $RC
+               exit 1
        fi
 done
 
@@ -269,9 +269,9 @@ for P in $PORT1 $PORT2 ; do
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+       $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
        echo "Filtering original ldif used to create database..."
-       $LDIFFILTER < $CHAINMODOUT > $LDIFFLT
+       $LDIFFILTER < $CHAINMODOUT > $LDIFFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
index 797c789af9eb464c6055bb3e799e39e1c6c9d008..af3bab615b0246e186396b6ec647b3de09ab22b6 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-case $BACKEND in bdb | hdb | ldif) : ;; *)
-       echo "Test does not support $BACKEND backend, test skipped"
-       exit 0
-esac
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -137,7 +132,7 @@ echo "Waiting $SLEEP1 seconds for shadow subtrees to sync..."
 sleep $SLEEP1
 
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $GLUESYNCOUT > $LDIFFLT
+$LDIFFILTER < $GLUESYNCOUT > $LDIFFLT
 
 for P in $PORT1 $PORT2 ; do
        echo "Using ldapsearch to read all the entries from port $P..."
@@ -152,7 +147,7 @@ for P in $PORT1 $PORT2 ; do
        fi
 
        echo "Filtering ldapsearch results..."
-       $LDIFFILTER < "${SEARCHOUT}.${P}" > $SEARCHFLT
+       $LDIFFILTER < "${SEARCHOUT}.${P}" > $SEARCHFLT
        echo "Comparing filter output..."
        $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -178,7 +173,7 @@ sleep 1
 
 $LDAPSEARCH -H $URI2 -b "$BABSDN" > $TESTOUT 2>&1
 RC=$?
-if test $RC = 0 ; then
+if test $RC = 0 && test $BACKEND != null ; then
        echo "ldapsearch should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
index 3561be344c37c6b80d4906f8051ea6c6dd8c512a..9233d85180b4dc9fc4d87df85e24dc90db95107b 100755 (executable)
@@ -156,8 +156,8 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
-$LDIFFILTER < $LDIFTRANSLUCENTDATA > $LDIFFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $LDIFTRANSLUCENTDATA > $LDIFFLT
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
@@ -185,7 +185,7 @@ $LDAPADD -v -v -v -D "$TRANSLUCENTROOT" -H $URI2 \
        -w $PASSWD < $LDIFTRANSLUCENTADD > $TESTOUT 2>&1
 
 RC=$?
-if test $RC != 32 ; then
+if test $RC != 32 && test $RC,$BACKEND != 0,null ; then
        echo "ldapadd failed ($RC), expected NO SUCH OBJECT!"
        grep "$FAILURE" $TESTOUT
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -198,7 +198,7 @@ $LDAPMODRDN -D "$TRANSLUCENTROOT" -H $URI2 -w $PASSWD > \
        $TESTOUT 2>&1 'uid=fred,ou=users,o=translucent' 'uid=someguy'
 
 RC=$?
-if test $RC != 32 ; then
+if test $RC != 32 && test $RC,$BACKEND != 0,null ; then
        echo "ldapmodrdn failed ($RC), expected NO SUCH OBJECT!"
        grep "$FAILURE" $TESTOUT
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -244,8 +244,9 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
-$CMP $SEARCHFLT $LDIFTRANSLUCENTMERGED > $CMPOUT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $LDIFTRANSLUCENTMERGED > $LDIFFLT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "Comparison failed -- local data failed to merge with remote!"
index bec6cc641676b1b57443e977758196a9d312779f..3963a2952c3707cca0ee205af69b92ac719d358f 100755 (executable)
@@ -485,14 +485,14 @@ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT3 \
        -b "$BASEDN" "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -509,14 +509,14 @@ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT3 \
        -b "$BASEDN" -z 2 "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -525,9 +525,9 @@ case $RC in
 esac
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $METAOUT > $LDIFFLT
+$LDIFFILTER < $METAOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -667,13 +667,15 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
@@ -690,13 +692,15 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
@@ -713,16 +717,16 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit -1
 #fi
-case $RC in 
-       6)
+case $RC,$BACKEND in
+       6,* | 5,null)
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
                echo "Compare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
-               exit $RC
+               exit 1
        ;;
 esac
 
index d82183344eb482ce3abb866ee9db923487eea312..339e1e03f5a525f85ad2f3ebbaf148827f055120 100755 (executable)
@@ -218,9 +218,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
+$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 0666d27c2192e02cfc42602b06ff8c3de905fd65..bfb3c2c33a2b1644d9ade9a442b26a0c00e2f92b 100755 (executable)
@@ -201,9 +201,9 @@ fi
 LDIF=$MANAGEOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 9f67ebe98a82f1cdb5ad0f3a728ddd906a7e3569..b441d2b1fc2e1f074143967fe08d96404d8293cd 100755 (executable)
@@ -207,9 +207,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
+$LDIFFILTER < $METACONCURRENCYOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 4bb20fe4cec3c7b19adc2e259e391db6163af68c..121c857d0ec25b37a060bba2e3b4265d3ff87d7c 100755 (executable)
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
-case $BACKEND in
-hdb | ldif)
-       ;;
-*)
+if test $BACKEND = bdb ; then
        echo "subtree rename not supported by back-$BACKEND"
        exit 0
-esac
+fi
 
 mkdir -p $TESTDIR $DBDIR1
 
@@ -194,9 +191,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$SUBTREERENAMEOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 8a677e7bec46094ac46f710ec7fd1d9c16a01b63..4afc7821f5731a1f35914c5dad3d2ef7934645cb 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-case "$BACKEND" in
-bdb|hdb)
-       ;;
-*)
-       echo "Test does not support $BACKEND backend"
+case "$BACKEND" in ldif | null)
+       echo "$BACKEND backend does not support access controls, test skipped"
        exit 0
        ;;
 esac
@@ -243,9 +240,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$ACIOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index d23d6bb2d8096c3a2419bfc178ebbe1091d07d67..4073a5ce73cb389aab160803f5499edf47afbbd5 100755 (executable)
@@ -78,9 +78,11 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+echo "Filtering expected ldif..."
+$LDIFFILTER < $VALSORTOUT1 > $LDIFFLT
 echo "Comparing filter output..."
-$CMP $SEARCHFLT $VALSORTOUT1 > $CMPOUT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "Comparison failed"
@@ -124,9 +126,11 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+echo "Filtering expected ldif..."
+$LDIFFILTER < $VALSORTOUT2 > $LDIFFLT
 echo "Comparing filter output..."
-$CMP $SEARCHFLT $VALSORTOUT2 > $CMPOUT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "Comparison failed"
@@ -204,9 +208,11 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -s ldif=e < $SEARCHOUT > $SEARCHFLT
+echo "Filtering expected ldif..."
+$LDIFFILTER -s ldif=e < $VALSORTOUT3 > $LDIFFLT
 echo "Comparing filter output..."
-$CMP $SEARCHFLT $VALSORTOUT3 > $CMPOUT
+$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
 if test $? != 0 ; then
        echo "Comparison failed"
index 3d4f303716d6df7c2d4599d25148b524e2039b92..59971e58f780c0e9d37863ce1afd189acf3ccce1 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -29,6 +24,11 @@ if test $ACCESSLOG = accesslogno; then
        echo "Accesslog overlay not available, test skipped"
        exit 0
 fi 
+if test $BACKEND = ldif ; then
+       # Onelevel search does not return entries in order of creation or CSN.
+       echo "$BACKEND backend unsuitable for syncprov logdb, test skipped"
+       exit 0
+fi
 
 mkdir -p $TESTDIR $DBDIR1A $DBDIR1B $DBDIR2
 
@@ -339,9 +339,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT | grep -iv "^auditcontext:" > $MASTERFLT
+$LDIFFILTER < $MASTEROUT | grep -iv "^auditcontext:" > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT | grep -iv "^auditcontext:" > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT | grep -iv "^auditcontext:" > $SLAVEFLT
 
 echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index 1c084e025ad97f74d0baf5ba79dbe44ec9c4c7a3..4e0f1bdda6fc6cdc6cdb18d35930f5fda61ab5a8 100755 (executable)
@@ -20,6 +20,12 @@ if test $DYNLIST = "dynlistno" ; then
        exit 0
 fi 
 
+if test $BACKEND = ldif ; then
+       # dynlist+ldif fails because back-ldif lacks bi_op_compare()
+       echo "$BACKEND backend unsuitable for dynlist overlay, test skipped"
+       exit 0
+fi
+
 mkdir -p $TESTDIR $DBDIR1
 
 $SLAPPASSWD -g -n >$CONFIGPWF
@@ -603,9 +609,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$DYNLISTOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 4b7031218a5be2fb50679c780af86efae530c11d..d810676228a220c81e17e15f83a14c292a818a6e 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
 
 # test now handles known issues
 #if test x"$PROXYSYNC" = x ; then
@@ -230,9 +226,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -420,9 +416,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -527,9 +523,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -616,9 +612,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -713,9 +709,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -758,7 +754,7 @@ if test $? != 0 ; then
        fi
 
        #echo "Filtering slave results..."
-       $LDIFFILTER < "${SLAVEOUT}.5.1" > $SLAVEFLT
+       $LDIFFILTER < "${SLAVEOUT}.5.1" > $SLAVEFLT
 
        echo "  ${CHECK}.1 < Comparing retrieved entries from master and slave..."
        $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -853,9 +849,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.$CHECK" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.$CHECK" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index 733064ae7eab5421ffe46b9a133bf5fe0705b425..2e8af044c614a345f593858834685d08eaea3124 100755 (executable)
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
-if test $BACKEND = "ldif" ; then
-        echo "LDIF backend does not support acls, test skipped"
+case $BACKEND in ldif | null)
+       # LDIF lacks ACL support, NULL cannot hold dynamic entries
+        echo "Test does not support $BACKEND backend, test skipped"
         exit 0
-fi
+esac
 
 if test $DDS = ddsno; then 
        echo "Dynamic Directory Services overlay not available, test skipped"
@@ -444,7 +445,7 @@ case $RC in
 0)
        echo "ldapmodify should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit -1
        ;;
 50)
        echo "ldapmodify failed ($RC)"
@@ -475,7 +476,7 @@ RC=$?
 if test $RC = 0 ; then
        echo "ldapexop should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit -1
 fi
 
 echo "Trying to refresh the meeting as $JAJDN (should fail)..."
@@ -486,7 +487,7 @@ RC=$?
 if test $RC = 0 ; then
        echo "ldapexop should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit -1
 fi
 
 echo "Trying to delete the meeting as $BABSDN (should fail)..."
@@ -500,7 +501,7 @@ case $RC in
 0)
        echo "ldapdelete should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit $RC
+       exit -1
        ;;
 50)
        echo "ldapdelete failed ($RC)"
@@ -530,9 +531,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$DDSOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 347715d663ee502e8668d650ec695de069524d63..9c987c4308d22376ef0673d311e4344898093432 100755 (executable)
@@ -485,14 +485,14 @@ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT3 \
        -b "$BASEDN" "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -509,14 +509,14 @@ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT3 \
        -b "$BASEDN" -z 2 "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -525,9 +525,9 @@ case $RC in
 esac
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $METAOUT > $LDIFFLT
+$LDIFFILTER < $METAOUT > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
        
@@ -680,13 +680,15 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
@@ -703,13 +705,15 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
@@ -726,16 +730,18 @@ RC=$?
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit -1
 #fi
-case $RC in 
-       6)
+case $RC,$BACKEND in
+       5,null)
        ;;
-       51)
+       6,*)
+       ;;
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
                echo "Compare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
-               exit $RC
+               exit 1
        ;;
 esac
 
index 3d3dbdc34fb93abaf58bdf7616e5450e2d1b4a36..8046103b8b860ba258fa6b10e9266ee03b439a85 100755 (executable)
@@ -185,9 +185,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.1" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.1" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.1" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.1" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and P1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -210,7 +210,7 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.1" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.1" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and R1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -369,9 +369,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.2" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.2" > $MASTERFLT
 #echo "Filtering P1 slave results..."
-$LDIFFILTER < "${SLAVEOUT}.2" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.2" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and P1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -394,7 +394,7 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.2" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.2" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and R1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -480,9 +480,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.3" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.3" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.3" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.3" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and P1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -505,7 +505,7 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.3" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.3" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and R1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -561,9 +561,9 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering master results..."
-$LDIFFILTER < "${MASTEROUT}.4" > $MASTERFLT
+$LDIFFILTER < "${MASTEROUT}.4" > $MASTERFLT
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.4" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.4" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and P1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -586,7 +586,7 @@ if test $RC != 0 ; then
 fi
 
 #echo "Filtering slave results..."
-$LDIFFILTER < "${SLAVEOUT}.4" > $SLAVEFLT
+$LDIFFILTER < "${SLAVEOUT}.4" > $SLAVEFLT
 
 echo "$CHECK < Comparing retrieved entries from master and R1 slave..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index e2b79fef092ba7cc79600457d7b0cc787fdd4cc0..5c13251c7a4dd06d4f4960199a349b5c7568212e 100755 (executable)
@@ -219,6 +219,9 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
+nullExclude="" nullOK=""
+test $BACKEND = null && nullExclude="# " nullOK="OK"
+
 if [ "$BACKENDTYPE" = mod ]; then
        $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <<EOF >>$TESTOUT 2>&1
 dn: cn=module,cn=config
@@ -238,10 +241,10 @@ fi
 $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <<EOF >>$TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
 olcSuffix: $BASEDN
-olcDbDirectory: ./db
+${nullExclude}olcDbDirectory: ./db
 olcRootDN: $MANAGERDN
 olcRootPW: $PASSWD
 olcSyncRepl: rid=002 provider=$URI1 binddn="$MANAGERDN" bindmethod=simple
@@ -299,7 +302,7 @@ for i in 0 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI2 \
                -s base -b "cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -348,9 +351,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 
 echo "Comparing retrieved configs from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
@@ -386,9 +389,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 
 echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index dd703211356cc12cc5654a4ef2ca204580119f56..9c3202025eb3856d99a246886dad31fa29b80366 100755 (executable)
@@ -258,6 +258,9 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
+nullExclude=""
+test $BACKEND = null && nullExclude="# "
+
 echo "" > $TMP
 if [ "$BACKENDTYPE" = mod ]; then
 cat <<EOF >> $TMP
@@ -273,10 +276,10 @@ fi
 cat <<EOF >> $TMP
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
 olcSuffix: $BASEDN
-olcDbDirectory: ./db
+${nullExclude}olcDbDirectory: ./db
 olcRootDN: $MANAGERDN
 olcRootPW: $PASSWD
 EOF
@@ -355,7 +358,7 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 
 n=`expr $n + 1`
 done
@@ -388,7 +391,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
@@ -433,7 +436,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
@@ -483,7 +486,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
@@ -546,7 +549,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
@@ -610,7 +613,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
@@ -762,7 +765,7 @@ if test $RC != 0 ; then
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
-$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+$LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
 n=`expr $n + 1`
 done
 
index 038b6a784b340f36abe81b7472d46847616af2cc..a34facf9d7494f6d79174c33089b3e4e3c7d498c 100755 (executable)
@@ -72,6 +72,12 @@ EOF
        fi
 fi
 
+bdbInclude="# " nullExclude=""
+case $BACKEND in
+bdb | hdb) bdbInclude="" ;;
+null) nullExclude="# " ;;
+esac
+
 echo "Running ldapadd to build slapd config database..."
 $LDAPADD -h $LOCALHOST -p $PORT1 -D 'cn=config' -w `cat $CONFIGPWF` \
        >> $TESTOUT 2>&1 <<EOF
@@ -97,19 +103,19 @@ olcObjectClasses: ( 1.3.6.1.4.1.4754.31.2.4
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
 olcSuffix: $BASEDN
 olcRootDN: cn=Manager,$BASEDN
 olcRootPW:: c2VjcmV0
 olcMonitoring: TRUE
-olcDbDirectory: $TESTDIR/db.1.a/
-olcDbCacheSize: 1000
-olcDbIndex: objectClass eq
-olcDbIndex: cn pres,eq,sub
-olcDbIndex: uid pres,eq,sub
-olcDbIndex: sn pres,eq,sub
-olcDbMode: 384
+${nullExclude}olcDbDirectory: $TESTDIR/db.1.a/
+${bdbInclude}olcDbCacheSize: 1000
+${bdbInclude}olcDbIndex: objectClass eq
+${bdbInclude}olcDbIndex: cn pres,eq,sub
+${bdbInclude}olcDbIndex: uid pres,eq,sub
+${bdbInclude}olcDbIndex: sn pres,eq,sub
+${bdbInclude}olcDbMode: 384"
 
 dn: olcOverlay={0}memberof,olcDatabase={1}$BACKEND,cn=config
 objectClass: olcOverlayConfig
@@ -330,9 +336,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$MEMBEROFOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index ce410c3302da5b7cf76e236f53f4b03a781fdeaf..6dfeef966cd63a607c5de07b5ad5c6e5d4d1dd0c 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
@@ -363,9 +358,9 @@ fi
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo "Filtering producer results..."
-$LDIFFILTER < $MASTEROUT > $MASTERFLT
+$LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering consumer results..."
-$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
+$LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 
 echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
index 32b3a143fef9ae245f31ebe5a54742423ffecb97..ac99f670c600c12739354e57b04d234383be484c 100755 (executable)
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-case "$BACKEND" in
-bdb|hdb)
-       ;;
-*)
-       echo "Test does not support $BACKEND backend"
-       exit 0
-esac
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 LVL=acl
@@ -82,9 +74,11 @@ case $RC in
        echo "ldapmodify failed as expected"
        ;;
 0)
-       echo "ldapmodify should have failed ($RC)!"
-       test $KILLSERVERS != no && kill -HUP $KILLPIDS
-       exit -1
+       if test $BACKEND != null ; then
+               echo "ldapmodify should have failed ($RC)!"
+               test $KILLSERVERS != no && kill -HUP $KILLPIDS
+               exit -1
+       fi
        ;;
 *)
        echo "ldapmodify failed ($RC)!"
index 0e7272a240f52811d707edafad68119357f6c812..1067bb3176be22a759e578734b0f0e338200fc48 100755 (executable)
@@ -69,9 +69,9 @@ fi
 # Compare results, ignoring possible difference of IPv4/IPv6 localhost address
 localrewrite='s/=127\.0\.0\.1:/=LOCAL:/; s/=\[::1\]:/=LOCAL:/'
 echo "Filtering ldapsearch results..."
-sed -e "$localrewrite" < $SEARCHOUT   | . $LDIFFILTER > $SEARCHFLT
+sed -e "$localrewrite" < $SEARCHOUT | $LDIFFILTER > $SEARCHFLT
 echo "Filtering expected data..."
-. $CONFFILTER < $MONITOROUT1 | sed -e "$localrewrite" | $LDIFFILTER > $LDIFFLT
+. $CONFFILTER < $MONITOROUT1 | sed -e "$localrewrite" | $LDIFFILTER > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -97,7 +97,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -b monitor < $SEARCHOUT > $SEARCHFLT
 
 TMPMONITOROUT2=$MONITOROUT2
 case $BACKEND in
@@ -132,7 +132,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -b monitor < $SEARCHOUT > $SEARCHFLT
 
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $MONITOROUT3 > $CMPOUT
@@ -157,7 +157,7 @@ if test $RC != 0 ; then
 fi
 
 echo "Filtering ldapsearch results..."
-. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER -b monitor < $SEARCHOUT > $SEARCHFLT
 
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $MONITOROUT4 > $CMPOUT
index 30f15fb27f13e3ff2fac53776ae7de785e1443fc..8354ba98b89fac942047b56aad2f1e63d0738c79 100755 (executable)
@@ -27,8 +27,8 @@ if test $REFINT = refintno; then
        exit 0
 fi 
 
-if test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
+if test $BACKEND = bdb; then
+       echo "$BACKEND backend does not support subtree rename, test skipped"
        exit 0
 fi
 
@@ -66,6 +66,12 @@ fi
 
 cat /dev/null > $TESTOUT
 
+bdbInclude="# " nullExclude=""
+case $BACKEND in
+bdb | hdb) bdbInclude="" ;;
+null) nullExclude="# " ;;
+esac
+
 if [ "$MEMBEROF" = memberofmod ]; then
        echo "Inserting memberof overlay on producer..."
        $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <<EOF > $TESTOUT 2>&1
@@ -89,19 +95,19 @@ $LDAPADD -h $LOCALHOST -p $PORT1 -D 'cn=config' -w `cat $CONFIGPWF` \
        >> $TESTOUT 2>&1 <<EOF
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
 olcSuffix: $BASEDN
 olcRootDN: cn=Manager,$BASEDN
 olcRootPW:: c2VjcmV0
 olcMonitoring: TRUE
-olcDbDirectory: $TESTDIR/db.1.a/
-olcDbCacheSize: 1000
-olcDbIndex: objectClass eq
-olcDbIndex: cn pres,eq,sub
-olcDbIndex: uid pres,eq,sub
-olcDbIndex: sn pres,eq,sub
-olcDbMode: 384
+${nullExclude}olcDbDirectory: $TESTDIR/db.1.a/
+${bdbInclude}olcDbCacheSize: 1000
+${bdbInclude}olcDbIndex: objectClass eq
+${bdbInclude}olcDbIndex: cn pres,eq,sub
+${bdbInclude}olcDbIndex: uid pres,eq,sub
+${bdbInclude}olcDbIndex: sn pres,eq,sub
+${bdbInclude}olcDbMode: 384
 
 # {0}memberof, {1}$BACKEND, config
 dn: olcOverlay={0}memberof,olcDatabase={1}$BACKEND,cn=config
@@ -256,9 +262,9 @@ test $KILLSERVERS != no && kill -HUP $KILLPIDS
 LDIF=$MEMBEROFREFINTOUT
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
index 2fcf47a3a3e3236ef2046e82b91b841e99cc1b75..555a091b235ef027da6640bb3cf08707944d7d2a 100755 (executable)
 # environment variable RACE_TESTS can be set to the number of race test
 # iterations the script should perform.
 
-case "$BACKEND" in
-bdb|hdb)
-       ;;
-*)
-       echo "This test does not support the $BACKEND backend"
-       exit 0;;
-esac
+if test "$BACKEND" = ldif ; then
+       echo "$backend backend does not support access controls, test skipped"
+       exit 0
+fi
 
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
@@ -405,12 +402,15 @@ EOF
        fi
 fi
 
+nullExclude="" nullOK="" wantNoObj=32
+test $BACKEND = null && nullExclude="# " nullOK="OK" wantNoObj=0
+
 $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SMC_DIR/db
+${nullExclude}olcDbDirectory: $SMC_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $MANAGERDN
 olcRootPW: $PASSWD
@@ -427,45 +427,45 @@ olcSpCheckpoint: 3 1
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SMC_DIR/ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/ou1
 olcSubordinate: TRUE
 olcSuffix: ou=ou1,$BASEDN
 olcRootDN: $MANAGERDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SMC_DIR/ou2
+${nullExclude}olcDbDirectory: $SMC_DIR/ou2
 olcSubordinate: TRUE
 olcSuffix: ou=ou2,$BASEDN
 olcRootDN: $MANAGERDN
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SMC_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={4}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {4}$BACKEND
-olcDbDirectory: $SMC_DIR/sm1ou2
+${nullExclude}olcDbDirectory: $SMC_DIR/sm1ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou2,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={5}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {5}$BACKEND
-olcDbDirectory: $SMC_DIR/sm2ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/sm2ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou1,$BASEDN
 olcRootDN: $UPDATEDN
@@ -499,9 +499,9 @@ fi
 $LDAPADD -D cn=config -H $URI2 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM1_DIR/db
+${nullExclude}olcDbDirectory: $SM1_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -516,18 +516,18 @@ olcOverlay: {1}syncprov
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM1_DIR/ou1
+${nullExclude}olcDbDirectory: $SM1_DIR/ou1
 olcSubordinate: TRUE
 olcSuffix: ou=ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SM1_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SM1_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: ou=sm1ou1,$BASEDN
@@ -535,9 +535,9 @@ olcRootPW: $PASSWD
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SM1_DIR/sm1ou2
+${nullExclude}olcDbDirectory: $SM1_DIR/sm1ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou2,$BASEDN
 olcRootDN: ou=sm1ou1,$BASEDN
@@ -572,9 +572,9 @@ fi
 $LDAPADD -D cn=config -H $URI3 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM2_DIR/db
+${nullExclude}olcDbDirectory: $SM2_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -590,27 +590,27 @@ olcSpCheckpoint: 1 1
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM2_DIR/ou2
+${nullExclude}olcDbDirectory: $SM2_DIR/ou2
 olcSubordinate: TRUE
 olcSuffix: ou=ou2,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SM2_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SM2_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SM2_DIR/sm2ou1
+${nullExclude}olcDbDirectory: $SM2_DIR/sm2ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou1,$BASEDN
 olcRootDN: ou=sm2ou1,$BASEDN
@@ -618,9 +618,9 @@ olcRootPW: $PASSWD
 
 dn: olcDatabase={4}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {4}$BACKEND
-olcDbDirectory: $SM2_DIR/sm2ou2
+${nullExclude}olcDbDirectory: $SM2_DIR/sm2ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou2,$BASEDN
 olcRootDN: ou=sm2ou1,$BASEDN
@@ -722,9 +722,9 @@ echo "Adding database config on central search..."
 $LDAPADD -D cn=config -H $URI4 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SSC_DIR/db
+${nullExclude}olcDbDirectory: $SSC_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -740,9 +740,9 @@ echo "Adding database config on site1 search..."
 $LDAPADD -D cn=config -H $URI5 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SS1_DIR/db
+${nullExclude}olcDbDirectory: $SS1_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -758,9 +758,9 @@ echo "Adding database config on site2 search..."
 $LDAPADD -D cn=config -H $URI6 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SS2_DIR/db
+${nullExclude}olcDbDirectory: $SS2_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -843,7 +843,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI2 \
                -s base -b "ou=ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -862,7 +862,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "ou=ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -963,7 +963,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1011,7 +1011,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1084,7 +1084,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1103,7 +1103,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1122,7 +1122,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1508,6 +1508,8 @@ ERRORS=`expr $ERRORS + $CSN_ERRORS`
 
 EOF
 
+test $BACKEND = null && echo : > $TESTDIR/checkcsn.sh
+
 chmod +x $TESTDIR/checkcsn.sh
 
 
@@ -1542,7 +1544,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1561,7 +1563,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1580,7 +1582,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1623,7 +1625,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1692,7 +1694,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1711,7 +1713,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1781,7 +1783,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1838,7 +1840,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1857,7 +1859,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1927,7 +1929,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=sm2ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2057,7 +2059,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2076,7 +2078,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2128,7 +2130,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2174,7 +2176,7 @@ if test $RC != 0 ; then
                RESULT=`$LDAPSEARCH -H $URI1 \
                        -s base -b "ou=sm1ou2,$BASEDN" \
                        '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-               if test "x$RESULT" = "xOK" ; then
+               if test "x$RESULT$nullOK" = "xOK" ; then
                        RC=0
                        break
                fi
@@ -2194,7 +2196,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2240,7 +2242,7 @@ if test $RC != 0 ; then
                RESULT=`$LDAPSEARCH -H $URI4 \
                        -s base -b "ou=sm1ou2,$BASEDN" \
                        '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-               if test "x$RESULT" = "xOK" ; then
+               if test "x$RESULT$nullOK" = "xOK" ; then
                        RC=0
                        break
                fi
@@ -2354,11 +2356,16 @@ EOF
        for i in 1 2 3 4 5; do
                $LDAPSEARCH -s base -b "$SUB_DN" -H $URI1 > /dev/null 2>&1
                RC=$?
-               if test $RC != 0; then break; fi
+               if test $RC = $wantNoObj; then break; fi
                sleep $i
        done
 
-       if test $RC = 0; then
+       if test $RC != $wantNoObj; then
+               if test $RC != 0; then
+                       echo "ldapsearch failed ($RC)!"
+                       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+                       exit $RC
+               fi
                echo "ERROR: Entry not removed on central master!"
                RACE_ERROR=1
                break
@@ -2373,8 +2380,8 @@ EOF
                sleep $i
        done
 
-       if test $RC = 0; then
-               echo "ERROR: Entry not removed on central search!"
+       if test $RC != $wantNoObj; then
+               echo "ERROR: Entry not removed on central search! (RC=$RC)"
                RACE_ERROR=1
                break
        fi