[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#7381) Dynamically added chaining configuration stops working after restart



Full_Name: Ivan Nejgebauer
Version: 2.4.32
OS: CentOS 5
URL: ftp://ftp.openldap.org/incoming/ivannejgebauer-120905.tgz
Submission from: (NULL) (2001:4170:2000:2:213:d3ff:fecf:b9ea)


If a minimal chaining configuration is dynamically added to a consumer server in
a provider/consumer pair running delta-syncrepl, it will stop working when the
consumer is restarted. The configuration is modelled after the one used in
test022 in the OpenLDAP source distribution:

dn: olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
objectClass: olcOverlayConfig
objectClass: olcChainConfig
olcOverlay: {0}chain

dn: olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
objectClass: olcLDAPConfig
objectClass: olcChainDatabase
olcDatabase: {0}ldap
olcDbIDAssertBind: bindmethod=simple binddn="cn=Manager,dc=example,dc=com"
  credentials="secret" mode=self
olcDbURI: "ldap://localhost:6389";

Scripts and data for replicating the issue are in the referenced archive. Quick
summary:

# make clean-all master replica
# ./start-master.sh
# ./start-replica.sh
# ./replica-apply.sh pmod-add.ldif        # returns referral
# ./replica-conf.sh chain.ldif            # adds chaining configuration
# ./replica-apply.sh pmod-add.ldif        # chains to master
# ./stop-replica.sh
# ./start-replica.sh
# ./replica-apply.sh pmod-del.ldif        # returns referral, but shouldn't

I have tested both 2.4.32 and git master
(54a111907b48900e1ce5de12a9d87818a334423d).