[Fedora-directory-commits] ldapserver/ldap/servers/plugins/memberof memberof.c, 1.7, 1.8

Nathan Kinder (nkinder) fedora-directory-commits at redhat.com
Mon Jun 9 21:44:03 UTC 2008


Author: nkinder

Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4675

Modified Files:
	memberof.c 
Log Message:
Resolves: 443241
Summary: Fixed issues with cleanup task not adding indirect memberships.



Index: memberof.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/memberof/memberof.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- memberof.c	21 Apr 2008 17:45:15 -0000	1.7
+++ memberof.c	9 Jun 2008 21:43:59 -0000	1.8
@@ -2188,9 +2188,9 @@
 /* memberof_fix_memberof_callback()
  * Add initial and/or fix up broken group list in entry
  *
- * 1. Make sure direct membership groups are in the entry
- * 2. Add all groups that current group list allows through nested membership
- * 3. Trim groups that have no relationship to entry
+ * 1. Remove all present memberOf values
+ * 2. Add direct group membership memberOf values
+ * 3. Add indirect group membership memberOf values
  */
 int memberof_fix_memberof_callback(Slapi_Entry *e, void *callback_data)
 {
@@ -2198,14 +2198,12 @@
 	char *dn = slapi_entry_get_dn(e);
 	memberof_add_groups data = {dn, dn};
 
-	/* step 1. and step 2. */
+	/* step 1 */
+	slapi_entry_attr_delete(e, MEMBEROF_ATTR);
+
+	/* step 2 and 3 */
 	rc = memberof_call_foreach_dn(0, dn, MEMBEROF_GROUP_ATTR, 
 		memberof_add_groups_search_callback, &data);
-	if(0 == rc)
-	{
-		/* step 3. */
-		rc = memberof_test_membership_callback(e, 0);
-	}
 
 	return rc;
 }




More information about the Fedora-directory-commits mailing list