[389-devel] Please review: [389 Project] #47735: e_uniqueid fails to set if an entry is a conflict entry

Noriko Hosoi nhosoi at redhat.com
Fri Mar 7 19:55:59 UTC 2014


https://fedorahosted.org/389/ticket/47735

https://fedorahosted.org/389/attachment/ticket/47735/0001-Ticket-47735-e_uniqueid-fails-to-set-if-an-entry-is-.patch

Bug Description:
When an entry is turned to be a conflict entry, its nsUniqueId has
a mdcsn info as a subtype like this:
  nsUniqueId;mdcsn-5319136f000200010000: c5e0d787-a58f11e3-b7f9dfd1-acc3d5e4
In this case, the attribute type is assigned to the berval "type"
as follows:
  type.bv_val = "nsUniqueId;mdcsn-5319136f000200010000"
  type.bv_len = 37
The subtyped stateinfo is processed in 
str2entry_state_information_from_type,
which modifies type.bv_val to "nsUniqueId", but type.bv_len remains 37.
str2entry_fast has this logic to set e_uniqueid, where the nsUniqueId
with stateinfo fails to set the value to e_uniqueid.
  if ( type.bv_len == 10 &&
       PL_strncasecmp (type.bv_val, "nsUniqueId", type.bv_len) == 0 ){

Fix Description: This patch resets the length of the type with the
basetype length 10 before the if expression is called for setting
e_uniqueid.



More information about the 389-devel mailing list