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; }
389-commits@lists.fedoraproject.org