diff options
Diffstat (limited to 'ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c')
-rw-r--r-- | ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c b/ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c index dd72e6ec..c8ad71b3 100644 --- a/ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c +++ b/ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c @@ -1175,7 +1175,17 @@ int ipamo_mod_attr_list_r(Slapi_PBlock *pb, int mod, char *group_dn, char *op_th strncpy(dn_str, bv->bv_val, (size_t)bv->bv_len); - ipamo_modop_one_r(pb, mod, group_dn, op_this, dn_str, stack); + /* If we're doing a replace (as we would in the MODRDN case), we need + * to specify the new group DN value */ + if(mod == LDAP_MOD_REPLACE) + { + ipamo_modop_one_replace_r(pb, mod, group_dn, op_this, group_dn, + dn_str, stack); + } + else + { + ipamo_modop_one_r(pb, mod, group_dn, op_this, dn_str, stack); + } hint = slapi_attr_next_value(attr, hint, &val); } |