.BR dnssrv ,
.BR hdb ,
.BR ldap ,
-.BR ldbm ,
.BR ldif ,
.BR meta ,
.BR monitor ,
configured to write the contextCSN into the underlying database to minimize
recovery time after an unclean shutdown.
-Note that due to deadlock constraints in the LDBM database, this overlay
-will only work in RefreshOnly mode, and cannot perform checkpoints, on LDBM.
-
On databases that support inequality indexing, it is helpful to set an
eq index on the entryCSN attribute when using this overlay.
.SH CONFIGURATION
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
access to dn.subtree="dc=example,dc=com"
by dynacl/aci write
#######################################################################
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.1.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#access to attrs=objectclass dn.subtree="dc=example,dc=com"
access to attrs=objectclass
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.1.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.2.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#
# uses the chain overlay as database specific;
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryExpireTimestamp eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
-#ldbm#index entryExpireTimestamp eq
+
+
+
overlay dds
dds-max-ttl 1d
#bdb#index entryUUID,entryCSN eq
#hdb#index objectClass eq
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index entryUUID,entryCSN eq
+
+
overlay syncprov
syncprov-reloadhint true
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
access to *
by users write
by * read
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay dynlist
### DO NOT ADD ANY DIRECTIVE BELOW THIS; TEST APPENDS STUFF ###
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
access to attrs=userPassword
by dn.exact="cn=Manager,c=US" write
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
access to attrs=userPassword
by self =wx
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
#hdb#index entryUUID,entryCSN pres
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
overlay syncprov
database @BACKEND@
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
#hdb#index entryUUID,entryCSN pres
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
syncrepl rid=1
provider=@URI2@
binddn="cn=Manager 2,dc=example,dc=com"
#hdb#index objectclass eq
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
#overlay syncprov
#monitor#database monitor
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
#hdb#index entryUUID,entryCSN pres
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
syncrepl rid=2
provider=@URI1@
binddn="cn=Manager 1,dc=example,dc=com"
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
#hdb#index entryUUID,entryCSN pres
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
overlay syncprov
#hdb#index objectclass eq
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
#overlay syncprov
#monitor#database monitor
#hdb#index objectclass eq
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
database @BACKEND@
suffix "ou=Groups,dc=example,dc=com"
#hdb#index objectclass eq
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
database @BACKEND@
suffix "dc=example,dc=com"
#hdb#index objectclass eq
#hdb#index uid pres,eq,sub
#hdb#index cn,sn pres,eq,sub,subany
-#ldbm#index objectclass eq
-#ldbm#index uid pres,eq,sub
-#ldbm#index cn,sn pres,eq,sub,subany
-#ldbm#dbnosync
-#ldbm#dbnolocking
+
+
+
+
+
#monitor#database monitor
by * search
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.1.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
access to dn.exact="cn=Proxy,ou=Admin,dc=example,dc=com"
attrs=authzTo
by * =x
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=it"
directory @TESTDIR@/db.2.a
rootdn "cn=Manager,dc=example,dc=it"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
database ldap
suffix "o=Example,c=US"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#bdb#index uid eq
#hdb#index objectClass eq
#hdb#index uid eq
-#ldbm#index objectClass eq
-#ldbm#index uid eq
+
+
# Need extra limits for pagedResults on backends that support it...
#bdb#limits dn.exact="cn=Unlimited User,ou=Paged Results Users,dc=example,dc=com" size=4 size.pr=unlimited
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
#monitor#database monitor
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
#monitor#database monitor
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
overlay ppolicy
ppolicy_default "cn=Standard Policy,ou=Policies,dc=example,dc=com"
ppolicy_use_lockout
#bdb#cachesize 20
#hdb#cachesize 20
-#ldbm#cachesize 20
+
directory @TESTDIR@/db.2.a
#bdb#index objectClass eq
#bdb#index cn,sn,uid,mail pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid,mail pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid,mail pres,eq,sub
+
+
#monitor#database monitor
#######################################################################
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.1.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#
# normal installations should protect root dse,
database @BACKEND@
#bdb#cachesize 0
#hdb#cachesize 0
-#ldbm#cachesize 0
+
suffix "o=University of Mich,c=US"
directory @TESTDIR@/db.2.a
rootdn "cn=Manager,o=University of Mich,c=US"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay refint
refint_attributes manager secretary member
rootpw secret
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
database @RELAY@
suffix "o=Example,c=US"
by * read
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.2.a
rootdn "cn=Replica,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay retcode
retcode-parent "ou=RetCodes,dc=example,dc=com"
directory @TESTDIR@/db.1.a
#bdb#index objectClass eq
#hdb#index objectClass eq
-#ldbm#index objectClass eq
+
#database @BACKEND@
#suffix "dc=example,dc=com"
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay syncprov
#syncprov-sessionlog 100
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay syncprov
syncprov-sessionlog 100
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
-#ldbm#index entryUUID eq
+
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
#hdb#index entryUUID,entryCSN eq
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
-#ldbm#index entryUUID eq
+
+
+
# Don't change syncrepl spec yet
syncrepl rid=1
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay translucent
translucent_no_glue
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay unique
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
overlay valsort
valsort-attr sn ou=users,o=valsort alpha-ascend
by * read
database @BACKEND@
-#ldbm#cachesize 0
+
suffix "dc=example,dc=com"
directory @TESTDIR@/db.1.a
rootdn "cn=Manager,dc=example,dc=com"
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor
#bdb#index cn,sn,uid pres,eq,sub
#hdb#index objectClass eq
#hdb#index cn,sn,uid pres,eq,sub
-#ldbm#index objectClass eq
-#ldbm#index cn,sn,uid pres,eq,sub
+
+
#monitor#database monitor