Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 225352 - CLA: resurrected value uses case of former value
Summary: CLA: resurrected value uses case of former value
Alias: None
Product: Red Hat Directory Server
Classification: Red Hat
Component: Replication - General
Version: 7.1
Hardware: All
OS: Linux
Target Milestone: DS8.1
: ---
Assignee: Nathan Kinder
QA Contact: Chandrasekar Kannan
Depends On:
TreeView+ depends on / blocked
Reported: 2007-01-30 01:55 UTC by Ulf Weltman
Modified: 2015-01-04 23:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-11-21 17:38:44 UTC
Target Upstream Version:

Attachments (Terms of Use)
fix proposal, compares Slapi_Value arrays and fix the case (deleted)
2007-03-01 01:03 UTC, Ulf Weltman
no flags Details | Diff

Description Ulf Weltman 2007-01-30 01:55:36 UTC

If replication is enabled and you add a value to an attribute, like a cn of FOO,
then delete that value, and then add a cn of foo (lower case), it will show up
in the entry as FOO rather than foo.

The code in entry_add_present_values_wsi() eventually calls
slapi_attr_value_cmp() to figure out if the value exists on the deleted list. 
slapi_attr_value_cmp() uses the proper syntax plugin compare deleted values to
the value being added and since cn is case-ignore, it's a match.  Since it's
determined to exist on the deleted list it's simply moved onto the present list,
and the old case is resurrected.

Comment 1 Ulf Weltman 2007-03-01 01:03:45 UTC
Created attachment 148976 [details]
fix proposal, compares Slapi_Value arrays and fix the case

Please review:
Currently when a value is added and it's present on the deleted list (in
entrywsi), it's moved to the present list.  The proposed change will perform a
bitwise comparison on the values from the deleted list with the values that the
client passed for the operation, and if they don't match, it replaces the
resurrected Slapi_Value's berval with the one with the proper case specified by
the client.

Comment 2 Rich Megginson 2007-03-07 18:12:27 UTC
Fix looks good.

Comment 9 Nathan Kinder 2008-11-21 17:38:44 UTC

*** This bug has been marked as a duplicate of bug 428929 ***

Note You need to log in before you can comment on or make changes to this bug.