auth/credentials: don't ignore "client use kerberos" and --use-kerberos for machine...
[samba.git] / source3 / winbindd / winbindd_wins_byname.c
index 742aaf2c7d3fd5ba88847d973bcc3399341f1492..ae170b2e0b9e50abf4a34e25ed100d97f05e3905 100644 (file)
@@ -19,7 +19,8 @@
 
 #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"
 
@@ -27,7 +28,7 @@ struct winbindd_wins_byname_state {
        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);
@@ -52,8 +53,11 @@ struct tevent_req *winbindd_wins_byname_send(TALLOC_CTX *mem_ctx,
        /* 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);
@@ -111,7 +115,7 @@ NTSTATUS winbindd_wins_byname_recv(struct tevent_req *req,
                req, struct winbindd_wins_byname_state);
        char *response;
        NTSTATUS status;
-       int i;
+       size_t i;
 
        if (tevent_req_is_nterror(req, &status)) {
                return status;
@@ -122,20 +126,20 @@ NTSTATUS winbindd_wins_byname_recv(struct tevent_req *req,
                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;
        }