summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/connection.c
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2009-09-24 10:38:55 -0600
committerRich Megginson <rmeggins@redhat.com>2009-09-24 11:11:21 -0600
commit64a62ff3bdf7bd7aea8dc4ffae3ffb130e5a34ea (patch)
tree243068884a839afb7b8a291e6445991fb28e40ab /ldap/servers/slapd/connection.c
parentf2618f28c1c9637217ac27d64614bb5fa38f82ed (diff)
downloadds-64a62ff3bdf7bd7aea8dc4ffae3ffb130e5a34ea.tar.gz
ds-64a62ff3bdf7bd7aea8dc4ffae3ffb130e5a34ea.tar.xz
ds-64a62ff3bdf7bd7aea8dc4ffae3ffb130e5a34ea.zip
MODIFY/replace with empty values does not ignore missing or unknown attributes
https://bugzilla.redhat.com/show_bug.cgi?id=516305 Resolves: bug 516305 Bug Description: MODIFY/replace with empty values does not ignore missing or unknown attributes Reviewed by: nhosoi (Thanks!) Fix Description: The function mods_have_effect() did not work correctly. It would set the flag have_effect = 0 the first time a type was not found. Then if a subsequent mod would apply, it would still return have_effect = 0. What it should do is keep looking for all mod types in the list of mods to see if any of them would apply, and return have_effect = 1 if at least one of them would apply. This corresponds to RFC 4511 section 4.6: replace: replace all existing values of the modification attribute with the new values listed, creating the attribute if it did not already exist. A replace with no value will delete the entire attribute if it exists, and it is ignored if the attribute does not exist. So the proper behavior is to ignore attributes that do not exist, and to apply the rest. Platforms tested: RHEL5 x86_64 Flag Day: no Doc impact: no
Diffstat (limited to 'ldap/servers/slapd/connection.c')
0 files changed, 0 insertions, 0 deletions