From c4a95f900a64649527a0a299eb52c352c51a2ae7 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 27 Aug 2009 14:16:22 +0200 Subject: s3:winbind: Remove the manual caching for the async wb_ functions The generic NDR-based cache in winbindd_dual_ndr.c replaces this. --- source3/winbindd/wb_lookupname.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'source3/winbindd/wb_lookupname.c') diff --git a/source3/winbindd/wb_lookupname.c b/source3/winbindd/wb_lookupname.c index 12e1babcda..6251d030be 100644 --- a/source3/winbindd/wb_lookupname.c +++ b/source3/winbindd/wb_lookupname.c @@ -41,34 +41,36 @@ struct tevent_req *wb_lookupname_send(TALLOC_CTX *mem_ctx, struct tevent_req *req, *subreq; struct wb_lookupname_state *state; struct winbindd_domain *domain; - NTSTATUS status; req = tevent_req_create(mem_ctx, &state, struct wb_lookupname_state); if (req == NULL) { return NULL; } state->ev = ev; - state->dom_name = dom_name; - state->name = name; state->flags = flags; - domain = find_lookup_domain_from_name(dom_name); - if (domain == NULL) { - DEBUG(5, ("Could not find domain for %s\n", dom_name)); - tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); + /* + * Uppercase domain and name so that we become cache-friendly + */ + state->dom_name = talloc_strdup_upper(state, dom_name); + if (tevent_req_nomem(state->dom_name, req)) { + return tevent_req_post(req, ev); + } + state->name = talloc_strdup_upper(state, name); + if (tevent_req_nomem(state->name, req)) { return tevent_req_post(req, ev); } - status = wcache_name_to_sid(domain, dom_name, name, - &state->sid, &state->type); - if (NT_STATUS_IS_OK(status)) { - tevent_req_done(req); + domain = find_lookup_domain_from_name(state->dom_name); + if (domain == NULL) { + DEBUG(5, ("Could not find domain for %s\n", state->dom_name)); + tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); return tevent_req_post(req, ev); } subreq = rpccli_wbint_LookupName_send( - state, ev, domain->child.rpccli, dom_name, name, flags, - &state->type, &state->sid); + state, ev, domain->child.rpccli, state->dom_name, state->name, + flags, &state->type, &state->sid); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } -- cgit