[Freeipa-devel] [PATCHES(6)] SSSD: Native ldap driver

Sumit Bose sbose at redhat.com
Thu Jul 9 10:38:18 UTC 2009


On Wed, Jul 08, 2009 at 07:41:44PM -0400, Simo Sorce wrote:
> This set of patches implement a native ldap driver backend.
> 
> It is the first basic core of a working driver. It still have a few
> TODOs and FIXMEs in it, and there are still features that need to be
> implemented.
> 
> But it is stable enough and big enough to be useful.
> I've done basic testing through development, and most stuff should work.
> 
> Patches:
> 0001 - add some cleanup code to remove .X files
> 0002 - expose some useful sysdb functions previously declared static
> 0003 - add a set of async helpers for the ldap driver
> 0004 - convert ldap auth to use the async helpers
> 0005 - unify password caching between proxy and ldap
> 0006 - implement the identity part of the ldap driver
> 
> notes:
> - Sumit you may want to look at 0005 and then unify the krb password
> caching.
> - during the implementation of the initgr call I noticed that it would
> be useful if some of the search function in sysdb could autostart an
> operation, I implemented this for some functions, might make sense to
> extend it to others.
> - there is a definition for an ipa-v1 schema but no implementation yet,
> it will require 2 other ways to handle initgr depending on whether the
> ASQ control is available or not.
> 
> 
> I think the code is good enough to be pushed and will help align the
> team (esp. Sumit waiting on some of this stuff) so although not perfect
> it here for review.
> 
> Simo.

ACK with the following patch applied. Talloc might be smart enough to
make the talloc_zfree not needed, but I think it looks clearer this way.

Great work, btw.

bye,
Sumit
-------------- next part --------------
>From 7e2ecfb8b6632ae90537e02c897cbd7278323794 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose at redhat.com>
Date: Thu, 9 Jul 2009 12:33:51 +0200
Subject: [PATCH] fixed typos and a potential memory leak

---
 server/db/sysdb_ops.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/server/db/sysdb_ops.c b/server/db/sysdb_ops.c
index efcc5d1..ad4a63e 100644
--- a/server/db/sysdb_ops.c
+++ b/server/db/sysdb_ops.c
@@ -3098,7 +3098,7 @@ struct tevent_req *sysdb_cache_password_send(TALLOC_CTX *mem_ctx,
     char *salt;
     int ret;
 
-    req = tevent_req_create(mem_ctx, &state, struct sysdb_op_state);
+    req = tevent_req_create(mem_ctx, &state, struct sysdb_cache_pw_state);
     if (!req) return NULL;
 
     state->ev = ev;
@@ -3170,7 +3170,8 @@ static void sysdb_cache_password_trans(struct tevent_req *subreq)
                                                   struct sysdb_cache_pw_state);
     int ret;
 
-    ret = sysdb_transaction_recv(req, state, &state->handle);
+    ret = sysdb_transaction_recv(subreq, state, &state->handle);
+    talloc_zfree(subreq);
     if (ret) {
         tevent_req_error(req, ret);
         return;
-- 
1.6.2.5



More information about the Freeipa-devel mailing list