[389-commits] Branch '389-ds-base-1.3.1' - ldap/servers

Mark Reynolds mreynolds at fedoraproject.org
Wed Nov 26 22:31:04 UTC 2014


 ldap/servers/plugins/memberof/memberof.c |    5 ++++-
 ldap/servers/plugins/memberof/memberof.h |    1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 664b4f126b356854806762f880274b5531c83fb1
Author: Mark Reynolds <mreynolds at redhat.com>
Date:   Wed Nov 26 16:57:05 2014 -0500

    Ticket 47963 - skip nested groups breaks memberof fixup task
    
    Bug Description:  Setting memberofskipnested to "on" breaks memberOf fixup task.
    
    Fix Description:  We never want to skip nested group checking when performing
                      a fixup task.  Add a flag to distinguish that the fixup operation
                      is a task, and not a delete.
    
    https://fedorahosted.org/389/ticket/47963
    
    Reviewed by: nkinder(Thanks!)
    
    (cherry picked from commit d8e8119e92c6d872e317bbae5d59a08d80cb0966)

diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 1931739..ec96b00 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2320,6 +2320,9 @@ void memberof_fixup_task_thread(void *arg)
 	memberof_copy_config(&configCopy, memberof_get_config());
 	memberof_unlock_config();
 
+	/* Mark this as a task operation */
+	configCopy.fixup_task = 1;
+
 	if (usetxn) {
 		Slapi_DN *sdn = slapi_sdn_new_dn_byref(td->dn);
 		Slapi_Backend *be = slapi_be_select(sdn);
@@ -2513,7 +2516,7 @@ int memberof_fix_memberof_callback(Slapi_Entry *e, void *callback_data)
 	memberof_del_dn_data del_data = {0, config->memberof_attr};
 	Slapi_ValueSet *groups = 0;
 
-	if(!config->skip_nested){
+	if(!config->skip_nested || config->fixup_task){
 		/* get a list of all of the groups this user belongs to */
 		groups = memberof_get_groups(config, sdn);
 	}
diff --git a/ldap/servers/plugins/memberof/memberof.h b/ldap/servers/plugins/memberof/memberof.h
index 4add6f6..79e3557 100644
--- a/ldap/servers/plugins/memberof/memberof.h
+++ b/ldap/servers/plugins/memberof/memberof.h
@@ -82,6 +82,7 @@ typedef struct memberofconfig {
 	Slapi_Filter *group_filter;
 	Slapi_Attr **group_slapiattrs;
 	int skip_nested;
+	int fixup_task;
 } MemberOfConfig;
 
 




More information about the 389-commits mailing list