Author: nkinder
Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16910
Modified Files:
memberof.c
Log Message:
Resolves: 439097
Summary: Handle delete modify of all present member values. When doing a delete modify,
we should treat it the same as a replace when no deletion values are specified.
Index: memberof.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof/memberof.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- memberof.c 26 Mar 2008 22:25:49 -0000 1.2
+++ memberof.c 28 Mar 2008 20:45:22 -0000 1.3
@@ -654,8 +654,19 @@
case LDAP_MOD_DELETE:
{
- /* remove group DN from targets */
- memberof_del_smod_list(pb, dn, smod);
+ /* If there are no values in the smod, we should
+ * just do a replace instead. The user is just
+ * trying to delete all members from this this
+ * entry, which the replace code deals with. */
+ if (slapi_mod_get_num_values(smod) == 0)
+ {
+ memberof_replace_list(pb, dn);
+ }
+ else
+ {
+ /* remove group DN from target values in smod*/
+ memberof_del_smod_list(pb, dn, smod);
+ }
break;
}
Show replies by date