mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Reset target DN when generated UUID is used as RDN
When the UUID plug-in generates a value that is used in the RDN of the entry being added, the old DN is free'd and replaced with the new DN. The problem is that the operation in the pblock holds a pointer to the old DN address. This can cause other plug-ins to reference garbage, leading to incorrect results or crashes. This was causing the attribute uniqueness plug-in to not work correctly, resulting in duplicate netgroup entries. The fix is to have the UUID plug-in reset the target DN after changing the DN of the entry to be added. ticket 963
This commit is contained in:
parent
eab4e36ee5
commit
27532f5468
@ -1109,6 +1109,10 @@ static int ipauuid_pre_op(Slapi_PBlock *pb, int modtype)
|
||||
slapi_ch_free_string(&nrdn);
|
||||
slapi_sdn_set_rdn(sdn, rdn);
|
||||
slapi_entry_set_sdn(e, sdn);
|
||||
|
||||
/* reset the target DN since we've changed it. */
|
||||
slapi_pblock_set(pb, SLAPI_ADD_TARGET,
|
||||
(char*)slapi_sdn_get_ndn(slapi_entry_get_sdn_const(e)));
|
||||
}
|
||||
slapi_rdn_free(&rdn);
|
||||
slapi_sdn_free(&sdn);
|
||||
|
Loading…
Reference in New Issue
Block a user