diff options
author | Volker Lendecke <vl@samba.org> | 2009-08-27 14:16:22 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-08-27 15:04:09 +0200 |
commit | c4a95f900a64649527a0a299eb52c352c51a2ae7 (patch) | |
tree | f7957a00d961325c7e2526ba4a3a68469747ab0c /source3/winbindd/wb_lookupname.c | |
parent | 94948f7a401df781ad64090a804a894cf2976a86 (diff) | |
download | samba-c4a95f900a64649527a0a299eb52c352c51a2ae7.tar.gz samba-c4a95f900a64649527a0a299eb52c352c51a2ae7.tar.bz2 samba-c4a95f900a64649527a0a299eb52c352c51a2ae7.zip |
s3:winbind: Remove the manual caching for the async wb_ functions
The generic NDR-based cache in winbindd_dual_ndr.c replaces this.
Diffstat (limited to 'source3/winbindd/wb_lookupname.c')
-rw-r--r-- | source3/winbindd/wb_lookupname.c | 28 |
1 files changed, 15 insertions, 13 deletions
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); } |