summaryrefslogtreecommitdiff
path: root/source4/nbt_server/irpc.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-14 01:50:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:46:16 -0500
commitcbb7a47cf269dd741ae43be22cc27bf9035ac59e (patch)
tree484cb102a514128227a4048e89eb4489790f20b3 /source4/nbt_server/irpc.c
parentdf4624870b6edbf6c426ae5bc2807dcee205e69f (diff)
downloadsamba-cbb7a47cf269dd741ae43be22cc27bf9035ac59e.tar.gz
samba-cbb7a47cf269dd741ae43be22cc27bf9035ac59e.tar.bz2
samba-cbb7a47cf269dd741ae43be22cc27bf9035ac59e.zip
r11711: fixed the nbt server to use the right interface for outgoing requests
(This used to be commit d87df5fe8e37d3daa3d9cb575450d756dc3d3c8f)
Diffstat (limited to 'source4/nbt_server/irpc.c')
-rw-r--r--source4/nbt_server/irpc.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/source4/nbt_server/irpc.c b/source4/nbt_server/irpc.c
index 75a950b5c4..0cd65453a4 100644
--- a/source4/nbt_server/irpc.c
+++ b/source4/nbt_server/irpc.c
@@ -115,11 +115,10 @@ static NTSTATUS nbtd_getdcname(struct irpc_message *msg,
{
struct nbtd_server *server =
talloc_get_type(msg->private, struct nbtd_server);
-
+ struct nbtd_interface *iface = nbtd_find_interface(server, req->in.ip_address);
struct getdc_state *s;
struct nbt_ntlogon_packet p;
struct nbt_ntlogon_sam_logon *r;
- struct nbt_dgram_socket *sock;
struct nbt_name src, dst;
struct nbt_peer_socket dest;
struct dgram_mailslot_handler *handler;
@@ -127,15 +126,13 @@ static NTSTATUS nbtd_getdcname(struct irpc_message *msg,
DEBUG(0, ("nbtd_getdcname called\n"));
- sock = server->interfaces[0].dgmsock;
-
s = talloc(msg, struct getdc_state);
NT_STATUS_HAVE_NO_MEMORY(s);
s->msg = msg;
s->req = req;
- handler = dgram_mailslot_temp(sock, NBT_MAILSLOT_GETDC,
+ handler = dgram_mailslot_temp(iface->dgmsock, NBT_MAILSLOT_GETDC,
getdc_recv_ntlogon_reply, s);
NT_STATUS_HAVE_NO_MEMORY(handler);
@@ -157,7 +154,7 @@ static NTSTATUS nbtd_getdcname(struct irpc_message *msg,
dest.addr = req->in.ip_address;
dest.port = 138;
- status = dgram_mailslot_ntlogon_send(sock, DGRAM_DIRECT_GROUP,
+ status = dgram_mailslot_ntlogon_send(iface->dgmsock, DGRAM_DIRECT_GROUP,
&dst, &dest,
&src, &p);
if (!NT_STATUS_IS_OK(status)) {