On Mittwoch, 30. Januar 2008, h.b.furuseth@usit.uio.no wrote:
Ralf Haferkamp writes:
This should be fixed in HEAD now.
Yes. Instead test034-translucent fails:
Starting test034-translucent ...
... Dynamically configuring local slapd without translucent_no_glue... ldap_modify: No such attribute (16) additional info: modify/delete: entryCSN: no such attribute modifying entry "olcOverlay={0}translucent,olcDatabase={2}bdb,cn=config"
ldapmodify of dynamic config failed (16)
scripts/test034-translucent with bdb failed (exit 1)
Hm, the config entries do not contain the usual operational Attributes like entrycsn, modifytimestamp, and so on when the config was loaded from slapd.conf, but during modification slapd tries to update them using slap_mods_opattrs(). This function always creates a LDAP_MOD_REPLACE modifcation, even if the attributes do not exist in the original entry. There are multiple ways to fix this, I guess. I am not sure which one to take: 1. Make slap_mods_opattrs() create a LDAP_MOD_ADD operation, when the attributes don't exist in the entry. 2. Do not try to modify the attributes (not even add) in slap_mods_opattrs() if they do not exist. 3. Create the opattrs, when reading from slapd.conf 4. Fix the original Bug differently. Even though I am pretty sure that my fix is correct. 5. ?
Any suggestions?