Monday, June 2, 2014

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

ldap/servers/plugins/posix-winsync/posix-group-func.c | 4
ldap/servers/plugins/posix-winsync/posix-group-func.h | 1
ldap/servers/plugins/posix-winsync/posix-group-task.c | 72 +++++++++++---
ldap/servers/plugins/posix-winsync/posix-winsync-config.c | 3
4 files changed, 66 insertions(+), 14 deletions(-)

New commits:
commit bdb5e35f608953ca1533365788ab12f56944156c
Author: Noriko Hosoi <nhosoi@redhat.com>
Date: Mon Jun 2 17:32:40 2014 -0700

Ticket #47770 - #481 breaks possibility to reassemble memberuid list

Description: Patch to implement #481 "expand nested posix groups"
wiped out the code in posix_group_fix_memberuid_callback (posix-
group-task.c) to add memberuid if the entry is a posix group.
This patch adds the code back.

Plus fixed a couple of memory leaks and renamed a posix winsync
local function plugin_op_all_finished to posix_winsync_plugin_op_
all_finished not to confuse valgrind.

https://fedorahosted.org/389/ticket/47770

Reviewed by rmeggins@redhat.com (Thank you, Rich!!)

(cherry picked from commit 8d5410e2e08f2e6fdabe9ab1dc3e97b20842a34d)
(cherry picked from commit 945d113b968ef878f13848d1d7d83b70c9bc2e85)
(cherry picked from commit 2574dffa82490b2258226edf5b420abaf19a9c09)

diff --git a/ldap/servers/plugins/posix-winsync/posix-group-func.c b/ldap/servers/plugins/posix-winsync/posix-group-func.c
index 6a7aa84..1f6be93 100644
--- a/ldap/servers/plugins/posix-winsync/posix-group-func.c
+++ b/ldap/servers/plugins/posix-winsync/posix-group-func.c
@@ -23,12 +23,12 @@
#include <string.h>
#include <nspr.h>
#include "posix-wsp-ident.h"
+#include "posix-group-func.h"

#define MAX_RECURSION_DEPTH (5)

Slapi_Value **
valueset_get_valuearray(const Slapi_ValueSet *vs); /* stolen from proto-slap.h */
-static int hasObjectClass(Slapi_Entry *entry, const char *objectClass);

static PRMonitor *memberuid_operation_lock = 0;

@@ -262,7 +262,7 @@ smods_has_mod(Slapi_Mods *smods, int modtype, const char *type, const char *val)
return rc;
}

-static int
+int
hasObjectClass(Slapi_Entry *entry, const char *objectClass)
{
int rc = 0;
diff --git a/ldap/servers/plugins/posix-winsync/posix-group-func.h b/ldap/servers/plugins/posix-winsync/posix-group-func.h
index 0f0ae37..f6d53bf 100644
--- a/ldap/servers/plugins/posix-winsync/posix-group-func.h
+++ b/ldap/servers/plugins/posix-winsync/posix-group-func.h
@@ -19,5 +19,6 @@ void memberUidUnlock();
int memberUidLockInit();
int addUserToGroupMembership(Slapi_Entry *entry);
void propogateDeletionsUpward(Slapi_Entry *, const Slapi_DN *, Slapi_ValueSet*, Slapi_ValueSet *, int);
+int hasObjectClass(Slapi_Entry *entry, const char *objectClass);

No comments:

Post a Comment