From b9b26be1744b792a54f0a77af140237b4dc5a870 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 24 Jan 2007 01:48:08 +0000 Subject: r20986: Commit the prototype of the nss_info plugin interface. This allows a provider to supply the homedirectory, etc... attributes for a user without requiring support in core winbindd code. The idmap_ad.c module has been modified to provide the idmap 'ad' library as well as the rfc2307 and sfu "winbind nss info" support. The SID/id mapping is working in idmap_ad but the nss_info still has a few quirks that I'm in the process of resolving. (This used to be commit aaec0115e2c96935499052d9a637a20c6445986e) --- source3/nsswitch/winbindd_async.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source3/nsswitch/winbindd_async.c') diff --git a/source3/nsswitch/winbindd_async.c b/source3/nsswitch/winbindd_async.c index d70d6a0806..ee81b14f2f 100644 --- a/source3/nsswitch/winbindd_async.c +++ b/source3/nsswitch/winbindd_async.c @@ -764,7 +764,9 @@ enum winbindd_result winbindd_dual_lookupsid(struct winbindd_domain *domain, } fstrcpy(state->response.data.name.dom_name, dom_name); + TALLOC_FREE(dom_name); fstrcpy(state->response.data.name.name, name); + TALLOC_FREE(name); state->response.data.name.type = type; TALLOC_FREE(dom_name); @@ -1397,13 +1399,13 @@ static void query_user_recv(TALLOC_CTX *mem_ctx, BOOL success, { void (*cont)(void *priv, BOOL succ, const char *acct_name, const char *full_name, const char *homedir, - const char *shell, uint32 group_rid) = + const char *shell, uint32 gid, uint32 group_rid) = (void (*)(void *, BOOL, const char *, const char *, - const char *, const char *, uint32))c; + const char *, const char *, uint32, uint32))c; if (!success) { DEBUG(5, ("Could not trigger query_user\n")); - cont(private_data, False, NULL, NULL, NULL, NULL, -1); + cont(private_data, False, NULL, NULL, NULL, NULL, -1, -1); return; } @@ -1411,6 +1413,7 @@ static void query_user_recv(TALLOC_CTX *mem_ctx, BOOL success, response->data.user_info.full_name, response->data.user_info.homedir, response->data.user_info.shell, + response->data.user_info.primary_gid, response->data.user_info.group_rid); } @@ -1421,6 +1424,7 @@ void query_user_async(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, const char *full_name, const char *homedir, const char *shell, + gid_t gid, uint32 group_rid), void *private_data) { -- cgit