summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipa-server/ipa-slapi-plugins/ipa-memberof/ipa-memberof.c12
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);
}