summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/scripts
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2010-03-30 16:01:58 -0600
committerRich Megginson <rmeggins@redhat.com>2010-03-30 16:46:25 -0600
commitc559982cddbe09bad1b7717a84c7b0187111d61a (patch)
tree76d46e3e56f4dddf34dbf2486cb7bafcd0523b24 /ldap/admin/src/scripts
parent6e839e9cc2acb957dc3435ee46aa9d2942cf1bcc (diff)
downloadds-c559982cddbe09bad1b7717a84c7b0187111d61a.tar.gz
ds-c559982cddbe09bad1b7717a84c7b0187111d61a.tar.xz
ds-c559982cddbe09bad1b7717a84c7b0187111d61a.zip
Bug 578167 - repl. of mod/replace deletes multi-valued attrs
https://bugzilla.redhat.com/show_bug.cgi?id=578167 Resolves: bug 578167 Bug Description: repl. of mod/replace deletes multi-valued attrs Reviewed by: nkinder (Thanks!) Branch: HEAD Fix Description: The server implements a mod/replace operation as a mod/delete if all values, followed by a mod/add of the new values. The mod/delete phase, since it removes all of the values, essentially deletes the attribute, so it must set the attribute deletion_csn. This is even true in the case when you do a mod/replace on an attribute that doesn't yet exist. We have to create an empty attribute on the deleted_attrs list with the deletion_csn set to the csn of the operation. This preserves the semantics of the mod/replace operation. When doing the add phase of the mod/replace, we have to be able to resurrect attributes and values that may have been deleted by the mod/delete phase. We can tell that we need to resurrect a deleted value in resolve_attribute_state_multi_valued, in the deleted_values loop, because the deletioncsn will be the same as the update csn, and the delete_priority flag will be 0. Platforms tested: RHEL5 x86_64 Flag Day: no Doc impact: no
Diffstat (limited to 'ldap/admin/src/scripts')
0 files changed, 0 insertions, 0 deletions