#include "includes.h"
#include "winbindd.h"
-#include "librpc/gen_ndr/ndr_wbint_c.h"
+#include "libsmb/namequery.h"
+#include "librpc/gen_ndr/ndr_winbind_c.h"
#include "libsmb/nmblib.h"
#include "lib/util/string_wrappers.h"
struct tevent_context *ev;
struct winbindd_request *request;
struct sockaddr_storage *addrs;
- int num_addrs;
+ size_t num_addrs;
};
static void winbindd_wins_byname_wins_done(struct tevent_req *subreq);
/* Ensure null termination */
request->data.winsreq[sizeof(request->data.winsreq)-1]='\0';
- DEBUG(3, ("[%5lu]: wins_byname %s\n", (unsigned long)cli->pid,
- request->data.winsreq));
+ D_NOTICE("[%s (%u)] Winbind external command WINS_BYNAME start.\n"
+ "Resolving wins byname for '%s'.\n",
+ cli->client_name,
+ (unsigned int)cli->pid,
+ request->data.winsreq);
subreq = resolve_wins_send(state, ev, state->request->data.winsreq,
0x20);
req, struct winbindd_wins_byname_state);
char *response;
NTSTATUS status;
- int i;
+ size_t i;
if (tevent_req_is_nterror(req, &status)) {
return status;
return NT_STATUS_NO_MEMORY;
}
+ D_NOTICE("Winbind external command WINS_BYNAME end.\n"
+ "Received %zu address(es).\n",
+ state->num_addrs);
for (i=0; i<state->num_addrs; i++) {
char addr[INET6_ADDRSTRLEN];
print_sockaddr(addr, sizeof(addr), &state->addrs[i]);
-
- response = talloc_asprintf_append_buffer(
- response, "%s%s", addr,
+ D_NOTICE("%zu: %s\n", i, addr);
+ talloc_asprintf_addbuf(
+ &response, "%s%s", addr,
i < (state->num_addrs-1) ? " " : "");
- if (response == NULL) {
- return NT_STATUS_NO_MEMORY;
- }
}
- response = talloc_asprintf_append_buffer(
- response, "\t%s\n", state->request->data.winsreq);
+ talloc_asprintf_addbuf(
+ &response, "\t%s\n", state->request->data.winsreq);
if (response == NULL) {
return NT_STATUS_NO_MEMORY;
}