struct tevent_req *req, *subreq;
struct winbindd_getsidaliases_state *state;
struct winbindd_domain *domain;
- uint32_t num_sids;
+ uint32_t num_sids, i;
struct dom_sid *sids;
req = tevent_req_create(mem_ctx, &state,
/* Ensure null termination */
request->data.sid[sizeof(request->data.sid)-1]='\0';
- DEBUG(3, ("getsidaliases %s\n", request->data.sid));
-
if (!string_to_sid(&state->sid, request->data.sid)) {
- DEBUG(1, ("Could not get convert sid %s from string\n",
- request->data.sid));
+ D_WARNING("Could not get convert sid %s from string\n",
+ request->data.sid);
tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
return tevent_req_post(req, ev);
}
domain = find_domain_from_sid_noinit(&state->sid);
if (domain == NULL) {
- DEBUG(1,("could not find domain entry for sid %s\n",
- request->data.sid));
+ D_WARNING("could not find domain entry for sid %s\n",
+ request->data.sid);
tevent_req_nterror(req, NT_STATUS_NO_SUCH_DOMAIN);
return tevent_req_post(req, ev);
}
if (request->extra_data.data != NULL) {
if (request->extra_data.data[request->extra_len-1] != '\0') {
- DEBUG(1, ("Got non-NULL terminated sidlist\n"));
+ D_WARNING("Got non-NULL terminated sidlist\n");
tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
return tevent_req_post(req, ev);
}
if (!parse_sidlist(state, request->extra_data.data,
&sids, &num_sids)) {
- DEBUG(1, ("Could not parse SID list: %s\n",
- request->extra_data.data));
+ D_WARNING("Could not parse SID list: %s\n",
+ request->extra_data.data);
tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
return tevent_req_post(req, ev);
}
}
- if (DEBUGLEVEL >= 10) {
- size_t i;
- for (i=0; i<num_sids; i++) {
- fstring sidstr;
- sid_to_fstring(sidstr, &sids[i]);
- DEBUGADD(10, ("%s\n", sidstr));
+ D_NOTICE("[%s (%u)] Winbind external command GETSIDALIASES start.\n"
+ "sid=%s\n",
+ cli->client_name,
+ (unsigned int)cli->pid,
+ request->data.sid);
+ if (CHECK_DEBUGLVL(DBGLVL_DEBUG)) {
+ for (i = 0; i < num_sids; i++) {
+ struct dom_sid_buf sidstr;
+ D_NOTICE("%"PRIu32": %s\n",
+ i, dom_sid_str_buf(&sids[i], &sidstr));
}
}
struct winbindd_getsidaliases_state *state = tevent_req_data(
req, struct winbindd_getsidaliases_state);
NTSTATUS status;
- int i;
+ uint32_t i;
char *sidlist;
if (tevent_req_is_nterror(req, &status)) {
+ D_WARNING("Failed with %s.\n", nt_errstr(status));
return status;
}
sidlist = talloc_strdup(response, "");
- if (sidlist == NULL) {
- return NT_STATUS_NO_MEMORY;
- }
+
+ D_NOTICE("Winbind external command GETSIDALIASES end.\n"
+ "Received %"PRIu32" alias(es).\n",
+ state->num_aliases);
for (i=0; i<state->num_aliases; i++) {
struct dom_sid sid;
- fstring tmp;
+ struct dom_sid_buf tmp;
sid_compose(&sid, &state->sid, state->aliases[i]);
- sidlist = talloc_asprintf_append_buffer(
- sidlist, "%s\n", sid_to_fstring(tmp, &sid));
- if (sidlist == NULL) {
- return NT_STATUS_NO_MEMORY;
- }
+ talloc_asprintf_addbuf(
+ &sidlist, "%s\n", dom_sid_str_buf(&sid, &tmp));
+ D_NOTICE("%"PRIu32": %s\n", i, dom_sid_str_buf(&sid, &tmp));
}
+
+ if (sidlist == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
response->extra_data.data = sidlist;
response->length += talloc_get_size(sidlist);
response->data.num_entries = state->num_aliases;