r12804: This patch reworks the Samba4 sockets layer to use a socket_address
[samba.git] / source / libcli / nbt / namerefresh.c
index e6464885f77094c376a946f32f2bc315da210c3f..8940fbb95e00a840c73dfe16dc839cd043c19e71 100644 (file)
@@ -23,6 +23,7 @@
 #include "includes.h"
 #include "libcli/nbt/libnbt.h"
 #include "libcli/composite/composite.h"
+#include "lib/socket/socket.h"
 
 /*
   send a nbt name refresh request
@@ -32,7 +33,7 @@ struct nbt_name_request *nbt_name_refresh_send(struct nbt_name_socket *nbtsock,
 {
        struct nbt_name_request *req;
        struct nbt_name_packet *packet;
-       struct nbt_peer_socket dest;
+       struct socket_address *dest;
 
        packet = talloc_zero(nbtsock, struct nbt_name_packet);
        if (packet == NULL) return NULL;
@@ -66,9 +67,10 @@ struct nbt_name_request *nbt_name_refresh_send(struct nbt_name_socket *nbtsock,
        packet->additional[0].rdata.netbios.addresses[0].ipaddr = 
                talloc_strdup(packet->additional, io->in.address);
 
-       dest.port = lp_nbt_port();
-       dest.addr = io->in.dest_addr;
-       req = nbt_name_request_send(nbtsock, &dest, packet,
+       dest = socket_address_from_strings(nbtsock, nbtsock->sock->backend_name, 
+                                          io->in.dest_addr, lp_nbt_port());
+       if (dest == NULL) goto failed;
+       req = nbt_name_request_send(nbtsock, dest, packet,
                                    io->in.timeout, io->in.retries, False);
        if (req == NULL) goto failed;
 
@@ -97,7 +99,7 @@ NTSTATUS nbt_name_refresh_recv(struct nbt_name_request *req,
        }
        
        packet = req->replies[0].packet;
-       io->out.reply_from = talloc_steal(mem_ctx, req->replies[0].dest.addr);
+       io->out.reply_from = talloc_steal(mem_ctx, req->replies[0].dest->addr);
 
        if (packet->ancount != 1 ||
            packet->answers[0].rr_type != NBT_QTYPE_NETBIOS ||