Bug 741744 - MOD operations with chained delete/add get back error 53 on backend config
https://bugzilla.redhat.com/show_bug.cgi?id=741744
Resolves: bug 741744
Bug Description: MOD operations with chained delete/add get back error 53 on backend config
Reviewed by: nkinder (Thanks!)
Branch: master
Fix Description: Allow ldbm config mods to use MOD_ADD and MOD_DELETE. The
purpose of this fix is to allow the specific sequence of
changetype: modify
delete: attrname
-
add: attrname
attrname: somevalue
-
Unfortunately, the way the DSE code works presents us with some quirks in
the behavior:
- There is an internal flag which keeps track of whether the value is the
default value or not
- Deleting an attribute resets the value to the default, but it will also
delete the attribute from the internal DSE representation, which means
if you attempt to delete an attribute which has already been deleted,
the server will return No such attribute (16) because the attribute has
already been deleted from the internal DSE - however, if you do an ldap
search for the value, you will see it in the entry with the default value.
- If the attribute gets in a weird state where it can't be deleted and it
can't be added, a mod_replace will get it back to normal
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no