The branch, master has been updated via e7468fb... s3: Shrink winbindd_proto.h a bit via e1bf189... s3: Fix some nonempty blank lines via d534a5b... s3: Remove unused get_sam_group_entries via 0a130da... s3: Remove unused winbindd_dual_getsidaliases via 66bcae6... s3: Remove an unused struct definition via 9568c76... s3: Remove unused winbindd_dual_getuserdomgroups via 958fdaf... s3: Remove unused winbindd_dual_getdcname via 4f434e0... s3: Remove unused winbindd_dual_lookupname via 74b1a02... s3: Remove unused winbindd_dual_lookupsid via c25d9ad... s3: Remove unused winbindd_dual_userinfo via a8875c5... s3: Remove some unused dual functions via 4b84d75... s3: Remove unused do_async via 3f98c2c... s3: Remove unused winbindd_gid2sid_async via 93bcc34... s3: Remove unused winbindd_uid2sid_async via fb77442... s3: Remove unused winbindd_sid2gid_async via d40edae... s3: Remove unused winbindd_sid2uid_async via dfd876e... s3: Remove unused do_async_domain via 2591a52... s3: Remove unused query_user_async via 5156fa8... s3: Remove unused winbindd_getsidaliases_async via 0c3e3b7... s3: Remove unused winbindd_lookupname_async via ebcb28c... s3: Remove unused winbindd_lookupsid_async from 0c36259... s4-schema: fixed the sorting of schema attributes
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit e7468fb1297aa53870a4b94fcdb4ddd12f672665 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 15:27:39 2009 +0100 s3: Shrink winbindd_proto.h a bit commit e1bf189e0065000362de2a3ce65c736bd3d614a6 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 15:11:55 2009 +0100 s3: Fix some nonempty blank lines commit d534a5be49c562fcfd61b07896ea17ef75b9d4e1 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 15:02:56 2009 +0100 s3: Remove unused get_sam_group_entries commit 0a130daf74b68ffedb3e169f5a051cdbfa92794b Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 15:01:44 2009 +0100 s3: Remove unused winbindd_dual_getsidaliases commit 66bcae6064833eb6250e2d4c6e35352a068317fb Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:59:11 2009 +0100 s3: Remove an unused struct definition commit 9568c762ac59e40d17a2c458c2dc6d248b435113 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:58:21 2009 +0100 s3: Remove unused winbindd_dual_getuserdomgroups commit 958fdaf5c3ba17969a5110e6b2b08babb9096d7e Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:57:03 2009 +0100 s3: Remove unused winbindd_dual_getdcname commit 4f434e07e9a695ce789cd81416660baac7cbf48a Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:55:02 2009 +0100 s3: Remove unused winbindd_dual_lookupname commit 74b1a026d46a3c2b52f57aa854d8053323029605 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:54:15 2009 +0100 s3: Remove unused winbindd_dual_lookupsid commit c25d9ad73df1d6aa1b5bda9c4644e754ed6d93d0 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:49:48 2009 +0100 s3: Remove unused winbindd_dual_userinfo commit a8875c5724e736a8272365353dcea8709ae90c72 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:47:57 2009 +0100 s3: Remove some unused dual functions commit 4b84d7539919253bdaaddebdee3b3561c3f1cefb Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:42:18 2009 +0100 s3: Remove unused do_async commit 3f98c2c7ab51de028c63443c6308a36af349365e Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:40:09 2009 +0100 s3: Remove unused winbindd_gid2sid_async commit 93bcc348d230716dfeebbb45ed2c85b7b711c0f9 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:39:36 2009 +0100 s3: Remove unused winbindd_uid2sid_async commit fb77442c2d96f4a0085256a5d80ebd3dd1fe8b96 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:38:31 2009 +0100 s3: Remove unused winbindd_sid2gid_async commit d40edae331e84aec63ae451da1a3c9ed3496a840 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:37:54 2009 +0100 s3: Remove unused winbindd_sid2uid_async commit dfd876e3e85157da3549591ca0d46a416540e115 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:36:24 2009 +0100 s3: Remove unused do_async_domain commit 2591a524c0661b5dd4ed4e220a8b62cd76c00b41 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:34:15 2009 +0100 s3: Remove unused query_user_async commit 5156fa8c7453fa69f4ee2d8fea4c5b38e65fc424 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:33:26 2009 +0100 s3: Remove unused winbindd_getsidaliases_async commit 0c3e3b7ab09eee927f8fbe8cabc1819ddde7c215 Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:32:34 2009 +0100 s3: Remove unused winbindd_lookupname_async commit ebcb28ca73eb17d1dcdc8c5a3f9ffca28ad348fb Author: Volker Lendecke <v...@samba.org> Date: Mon Dec 21 14:31:31 2009 +0100 s3: Remove unused winbindd_lookupsid_async ----------------------------------------------------------------------- Summary of changes: source3/Makefile.in | 1 - source3/winbindd/winbindd_async.c | 549 ----------------------------- source3/winbindd/winbindd_ccache_access.c | 8 +- source3/winbindd/winbindd_domain.c | 28 -- source3/winbindd/winbindd_group.c | 284 --------------- source3/winbindd/winbindd_idmap.c | 321 ----------------- source3/winbindd/winbindd_misc.c | 92 +----- source3/winbindd/winbindd_proto.h | 139 -------- source3/winbindd/winbindd_user.c | 73 ---- 9 files changed, 14 insertions(+), 1481 deletions(-) delete mode 100644 source3/winbindd/winbindd_user.c Changeset truncated at 500 lines: diff --git a/source3/Makefile.in b/source3/Makefile.in index b1f1658..071cb8c 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -1148,7 +1148,6 @@ IDMAP_ADEX_OBJ = \ WINBINDD_OBJ1 = \ winbindd/winbindd.o \ - winbindd/winbindd_user.o \ winbindd/winbindd_group.o \ winbindd/winbindd_util.o \ winbindd/winbindd_cache.o \ diff --git a/source3/winbindd/winbindd_async.c b/source3/winbindd/winbindd_async.c index 6c5d92e..5a350b9 100644 --- a/source3/winbindd/winbindd_async.c +++ b/source3/winbindd/winbindd_async.c @@ -6,17 +6,6 @@ Copyright (C) Volker Lendecke 2005 Copyright (C) Gerald Carter 2006 - The helpers always consist of three functions: - - * A request setup function that takes the necessary parameters together - with a continuation function that is to be called upon completion - - * A private continuation function that is internal only. This is to be - called by the lower-level functions in do_async(). Its only task is to - properly call the continuation function named above. - - * A worker function that is called inside the appropriate child process. - This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or @@ -37,423 +26,6 @@ #undef DBGC_CLASS #define DBGC_CLASS DBGC_WINBIND -struct do_async_state { - TALLOC_CTX *mem_ctx; - struct winbindd_request request; - struct winbindd_response response; - void (*cont)(TALLOC_CTX *mem_ctx, - bool success, - struct winbindd_response *response, - void *c, void *private_data); - void *c, *private_data; -}; - -static void do_async_recv(void *private_data, bool success) -{ - struct do_async_state *state = - talloc_get_type_abort(private_data, struct do_async_state); - - state->cont(state->mem_ctx, success, &state->response, - state->c, state->private_data); -} - -void do_async(TALLOC_CTX *mem_ctx, struct winbindd_child *child, - const struct winbindd_request *request, - void (*cont)(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data), - void *c, void *private_data) -{ - struct do_async_state *state; - - state = TALLOC_ZERO_P(mem_ctx, struct do_async_state); - if (state == NULL) { - DEBUG(0, ("talloc failed\n")); - cont(mem_ctx, False, NULL, c, private_data); - return; - } - - state->mem_ctx = mem_ctx; - state->request = *request; - state->request.length = sizeof(state->request); - state->cont = cont; - state->c = c; - state->private_data = private_data; - - async_request(mem_ctx, child, &state->request, - &state->response, do_async_recv, state); -} - -static void do_async_domain(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, - const struct winbindd_request *request, - void (*cont)(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data), - void *c, void *private_data) -{ - struct do_async_state *state; - - state = TALLOC_ZERO_P(mem_ctx, struct do_async_state); - if (state == NULL) { - DEBUG(0, ("talloc failed\n")); - cont(mem_ctx, False, NULL, c, private_data); - return; - } - - state->mem_ctx = mem_ctx; - state->request = *request; - state->request.length = sizeof(state->request); - state->cont = cont; - state->c = c; - state->private_data = private_data; - - async_domain_request(mem_ctx, domain, &state->request, - &state->response, do_async_recv, state); -} - -struct lookupsid_state { - DOM_SID sid; - void *caller_private_data; -}; - - -static void lookupsid_recv2(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ, const char *dom_name, - const char *name, enum lsa_SidType type) = - (void (*)(void *, bool, const char *, const char *, - enum lsa_SidType))c; - struct lookupsid_state *s = talloc_get_type_abort(private_data, - struct lookupsid_state); - - if (!success) { - DEBUG(5, ("Could not trigger lookupsid\n")); - cont(s->caller_private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - if (response->result != WINBINDD_OK) { - DEBUG(5, ("lookupsid (forest root) returned an error\n")); - cont(s->caller_private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - cont(s->caller_private_data, True, response->data.name.dom_name, - response->data.name.name, - (enum lsa_SidType)response->data.name.type); -} - -static void lookupsid_recv(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ, const char *dom_name, - const char *name, enum lsa_SidType type) = - (void (*)(void *, bool, const char *, const char *, - enum lsa_SidType))c; - struct lookupsid_state *s = talloc_get_type_abort(private_data, - struct lookupsid_state); - - if (!success) { - DEBUG(5, ("Could not trigger lookupsid\n")); - cont(s->caller_private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - if (response->result != WINBINDD_OK) { - /* Try again using the forest root */ - struct winbindd_domain *root_domain = find_root_domain(); - struct winbindd_request request; - - if ( !root_domain ) { - DEBUG(5,("lookupsid_recv: unable to determine forest root\n")); - cont(s->caller_private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - ZERO_STRUCT(request); - request.cmd = WINBINDD_LOOKUPSID; - sid_to_fstring(request.data.sid, &s->sid); - - do_async_domain(mem_ctx, root_domain, &request, lookupsid_recv2, - (void *)cont, s); - - return; - } - - cont(s->caller_private_data, True, response->data.name.dom_name, - response->data.name.name, - (enum lsa_SidType)response->data.name.type); -} - -void winbindd_lookupsid_async(TALLOC_CTX *mem_ctx, const DOM_SID *sid, - void (*cont)(void *private_data, bool success, - const char *dom_name, - const char *name, - enum lsa_SidType type), - void *private_data) -{ - struct winbindd_domain *domain; - struct winbindd_request request; - struct lookupsid_state *s; - - domain = find_lookup_domain_from_sid(sid); - if (domain == NULL) { - DEBUG(5, ("Could not find domain for sid %s\n", - sid_string_dbg(sid))); - cont(private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - ZERO_STRUCT(request); - request.cmd = WINBINDD_LOOKUPSID; - sid_to_fstring(request.data.sid, sid); - - if ( (s = TALLOC_ZERO_P(mem_ctx, struct lookupsid_state)) == NULL ) { - DEBUG(0, ("winbindd_lookupsid_async: talloc failed\n")); - cont(private_data, False, NULL, NULL, SID_NAME_UNKNOWN); - return; - } - - sid_copy( &s->sid, sid ); - s->caller_private_data = private_data; - - do_async_domain(mem_ctx, domain, &request, lookupsid_recv, - (void *)cont, s); -} - -enum winbindd_result winbindd_dual_lookupsid(struct winbindd_domain *domain, - struct winbindd_cli_state *state) -{ - enum lsa_SidType type; - DOM_SID sid; - char *name; - char *dom_name; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - DEBUG(3, ("[%5lu]: lookupsid %s\n", (unsigned long)state->pid, - state->request->data.sid)); - - /* Lookup sid from PDC using lsa_lookup_sids() */ - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(5, ("%s not a SID\n", state->request->data.sid)); - return WINBINDD_ERROR; - } - - /* Lookup the sid */ - - if (!winbindd_lookup_name_by_sid(state->mem_ctx, domain, &sid, - &dom_name, &name, &type)) - { - TALLOC_FREE(dom_name); - TALLOC_FREE(name); - return WINBINDD_ERROR; - } - - fstrcpy(state->response->data.name.dom_name, dom_name); - fstrcpy(state->response->data.name.name, name); - state->response->data.name.type = type; - - TALLOC_FREE(dom_name); - TALLOC_FREE(name); - return WINBINDD_OK; -} - -/******************************************************************** - This is the second callback after contacting the forest root -********************************************************************/ - -struct lookupname_state { - char *dom_name; - char *name; - void *caller_private_data; -}; - - -static void lookupname_recv2(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ, const DOM_SID *sid, - enum lsa_SidType type) = - (void (*)(void *, bool, const DOM_SID *, enum lsa_SidType))c; - DOM_SID sid; - struct lookupname_state *s = talloc_get_type_abort( private_data, - struct lookupname_state ); - - if (!success) { - DEBUG(5, ("Could not trigger lookup_name\n")); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - if (response->result != WINBINDD_OK) { - DEBUG(5, ("lookup_name returned an error\n")); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - if (!string_to_sid(&sid, response->data.sid.sid)) { - DEBUG(0, ("Could not convert string %s to sid\n", - response->data.sid.sid)); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - cont(s->caller_private_data, True, &sid, - (enum lsa_SidType)response->data.sid.type); -} - -/******************************************************************** - This is the first callback after contacting our own domain -********************************************************************/ - -static void lookupname_recv(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ, const DOM_SID *sid, - enum lsa_SidType type) = - (void (*)(void *, bool, const DOM_SID *, enum lsa_SidType))c; - DOM_SID sid; - struct lookupname_state *s = talloc_get_type_abort( private_data, - struct lookupname_state ); - - if (!success) { - DEBUG(5, ("lookupname_recv: lookup_name() failed!\n")); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - if (response->result != WINBINDD_OK) { - /* Try again using the forest root */ - struct winbindd_domain *root_domain = find_root_domain(); - struct winbindd_request request; - - if ( !root_domain ) { - DEBUG(5,("lookupname_recv: unable to determine forest root\n")); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - ZERO_STRUCT(request); - request.cmd = WINBINDD_LOOKUPNAME; - - fstrcpy( request.data.name.dom_name, s->dom_name ); - fstrcpy( request.data.name.name, s->name ); - - do_async_domain(mem_ctx, root_domain, &request, lookupname_recv2, - (void *)cont, s); - - return; - } - - if (!string_to_sid(&sid, response->data.sid.sid)) { - DEBUG(0, ("Could not convert string %s to sid\n", - response->data.sid.sid)); - cont(s->caller_private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - cont(s->caller_private_data, True, &sid, - (enum lsa_SidType)response->data.sid.type); -} - -/******************************************************************** - The lookup name call first contacts a DC in its own domain - and fallbacks to contact a DC if the forest in our domain doesn't - know the name. -********************************************************************/ - -void winbindd_lookupname_async(TALLOC_CTX *mem_ctx, - const char *dom_name, const char *name, - void (*cont)(void *private_data, bool success, - const DOM_SID *sid, - enum lsa_SidType type), - enum winbindd_cmd orig_cmd, - void *private_data) -{ - struct winbindd_request request; - struct winbindd_domain *domain; - struct lookupname_state *s; - - domain = find_lookup_domain_from_name(dom_name); - if (domain == NULL) { - DEBUG(5, ("Could not find domain for name '%s'\n", dom_name)); - cont(private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - ZERO_STRUCT(request); - request.cmd = WINBINDD_LOOKUPNAME; - request.original_cmd = orig_cmd; - fstrcpy(request.data.name.dom_name, dom_name); - fstrcpy(request.data.name.name, name); - - if ( (s = TALLOC_ZERO_P(mem_ctx, struct lookupname_state)) == NULL ) { - DEBUG(0, ("winbindd_lookupname_async: talloc failed\n")); - cont(private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - s->dom_name = talloc_strdup( s, dom_name ); - s->name = talloc_strdup( s, name ); - if (!s->dom_name || !s->name) { - cont(private_data, False, NULL, SID_NAME_UNKNOWN); - return; - } - - s->caller_private_data = private_data; - - do_async_domain(mem_ctx, domain, &request, lookupname_recv, - (void *)cont, s); -} - -enum winbindd_result winbindd_dual_lookupname(struct winbindd_domain *domain, - struct winbindd_cli_state *state) -{ - enum lsa_SidType type; - char *name_domain, *name_user; - DOM_SID sid; - char *p; - - /* Ensure null termination */ - state->request->data.name.dom_name[sizeof(state->request->data.name.dom_name)-1]='\0'; - - /* Ensure null termination */ - state->request->data.name.name[sizeof(state->request->data.name.name)-1]='\0'; - - /* cope with the name being a fully qualified name */ - p = strstr(state->request->data.name.name, lp_winbind_separator()); - if (p) { - *p = 0; - name_domain = state->request->data.name.name; - name_user = p+1; - } else { - name_domain = state->request->data.name.dom_name; - name_user = state->request->data.name.name; - } - - DEBUG(3, ("[%5lu]: lookupname %s%s%s\n", (unsigned long)state->pid, - name_domain, lp_winbind_separator(), name_user)); - - /* Lookup name from DC using lsa_lookup_names() */ - if (!winbindd_lookup_sid_by_name(state->mem_ctx, state->request->original_cmd, domain, name_domain, - name_user, &sid, &type)) { - return WINBINDD_ERROR; - } - - sid_to_fstring(state->response->data.sid.sid, &sid); - state->response->data.sid.type = type; - - return WINBINDD_OK; -} - bool print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids, size_t num_sids, char **result, ssize_t *len) { @@ -514,127 +86,6 @@ bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, return True; } -static void getsidaliases_recv(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ, - DOM_SID *aliases, size_t num_aliases) = - (void (*)(void *, bool, DOM_SID *, size_t))c; - char *aliases_str; - DOM_SID *sids = NULL; - size_t num_sids = 0; - - if (!success) { - DEBUG(5, ("Could not trigger getsidaliases\n")); - cont(private_data, success, NULL, 0); - return; - } - - if (response->result != WINBINDD_OK) { - DEBUG(5, ("getsidaliases returned an error\n")); - cont(private_data, False, NULL, 0); - return; - } - - aliases_str = (char *)response->extra_data.data; - - if (aliases_str == NULL) { - DEBUG(10, ("getsidaliases return 0 SIDs\n")); - cont(private_data, True, NULL, 0); - return; - } - - if (!parse_sidlist(mem_ctx, aliases_str, &sids, &num_sids)) { - DEBUG(0, ("Could not parse sids\n")); - cont(private_data, False, NULL, 0); - return; - } - - cont(private_data, True, sids, num_sids); -- Samba Shared Repository