From 0a19617c9785425e3328f82d022930d3fa91e7b3 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 16 Nov 2010 16:11:14 +0100 Subject: [PATCH] s3: Move parse_sidlist to the only calling file --- source3/winbindd/winbindd_async.c | 39 --------------------- source3/winbindd/winbindd_getsidaliases.c | 42 +++++++++++++++++++++++ source3/winbindd/winbindd_proto.h | 5 --- 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/source3/winbindd/winbindd_async.c b/source3/winbindd/winbindd_async.c index 9a565bffd02..75dfa0e54e3 100644 --- a/source3/winbindd/winbindd_async.c +++ b/source3/winbindd/winbindd_async.c @@ -27,45 +27,6 @@ #undef DBGC_CLASS #define DBGC_CLASS DBGC_WINBIND -bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, - struct dom_sid **sids, uint32_t *num_sids) -{ - const char *p, *q; - - p = sidstr; - if (p == NULL) - return False; - - while (p[0] != '\0') { - fstring tmp; - size_t sidlen; - struct dom_sid sid; - q = strchr(p, '\n'); - if (q == NULL) { - DEBUG(0, ("Got invalid sidstr: %s\n", p)); - return False; - } - sidlen = PTR_DIFF(q, p); - if (sidlen >= sizeof(tmp)-1) { - return false; - } - memcpy(tmp, p, sidlen); - tmp[sidlen] = '\0'; - q += 1; - if (!string_to_sid(&sid, tmp)) { - DEBUG(0, ("Could not parse sid %s\n", p)); - return False; - } - if (!NT_STATUS_IS_OK(add_sid_to_array(mem_ctx, &sid, sids, - num_sids))) - { - return False; - } - p = q; - } - return True; -} - enum winbindd_result winbindd_dual_ping(struct winbindd_domain *domain, struct winbindd_cli_state *state) { diff --git a/source3/winbindd/winbindd_getsidaliases.c b/source3/winbindd/winbindd_getsidaliases.c index f01dac9c4ce..ebaaf4d2df7 100644 --- a/source3/winbindd/winbindd_getsidaliases.c +++ b/source3/winbindd/winbindd_getsidaliases.c @@ -27,6 +27,9 @@ struct winbindd_getsidaliases_state { uint32_t *aliases; }; +static bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, + struct dom_sid **sids, uint32_t *num_sids); + static void winbindd_getsidaliases_done(struct tevent_req *subreq); struct tevent_req *winbindd_getsidaliases_send(TALLOC_CTX *mem_ctx, @@ -152,3 +155,42 @@ NTSTATUS winbindd_getsidaliases_recv(struct tevent_req *req, response->data.num_entries = state->num_aliases; return NT_STATUS_OK; } + +static bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, + struct dom_sid **sids, uint32_t *num_sids) +{ + const char *p, *q; + + p = sidstr; + if (p == NULL) + return False; + + while (p[0] != '\0') { + fstring tmp; + size_t sidlen; + struct dom_sid sid; + q = strchr(p, '\n'); + if (q == NULL) { + DEBUG(0, ("Got invalid sidstr: %s\n", p)); + return False; + } + sidlen = PTR_DIFF(q, p); + if (sidlen >= sizeof(tmp)-1) { + return false; + } + memcpy(tmp, p, sidlen); + tmp[sidlen] = '\0'; + q += 1; + if (!string_to_sid(&sid, tmp)) { + DEBUG(0, ("Could not parse sid %s\n", p)); + return False; + } + if (!NT_STATUS_IS_OK(add_sid_to_array(mem_ctx, &sid, sids, + num_sids))) + { + return False; + } + p = q; + } + return True; +} diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index dbe723bead4..dc56a72152e 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -55,11 +55,6 @@ NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, struct dom_sid **sids, enum lsa_SidType **types); -/* The following definitions come from winbindd/winbindd_async.c */ - -bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, - struct dom_sid **sids, uint32_t *num_sids); - /* The following definitions come from winbindd/winbindd_cache.c */ struct cache_entry *centry_start(struct winbindd_domain *domain, NTSTATUS status); -- 2.34.1