summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-10 18:41:41 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:49:13 +0100
commit237059838ccba8daae761f073f354eda536cbc84 (patch)
tree960a3de6efabf45a5f3853efe78ab672787a4076
parent7f0e8252e76b506c8164c14819ca491752bb2526 (diff)
downloadsamba-237059838ccba8daae761f073f354eda536cbc84.tar.gz
samba-237059838ccba8daae761f073f354eda536cbc84.tar.bz2
samba-237059838ccba8daae761f073f354eda536cbc84.zip
r26380: Specify port number higher up the call stack.
(This used to be commit 77273e250cacb1df0e8bd676e0948175ccd2330a)
-rw-r--r--source4/libcli/nbt/libnbt.h1
-rw-r--r--source4/libcli/nbt/namerefresh.c6
-rw-r--r--source4/torture/nbt/register.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/source4/libcli/nbt/libnbt.h b/source4/libcli/nbt/libnbt.h
index f4bb71764a..88ca0e204b 100644
--- a/source4/libcli/nbt/libnbt.h
+++ b/source4/libcli/nbt/libnbt.h
@@ -215,6 +215,7 @@ struct nbt_name_refresh {
struct {
struct nbt_name name;
const char *dest_addr;
+ uint16_t dest_port;
const char *address;
uint16_t nb_flags;
bool broadcast;
diff --git a/source4/libcli/nbt/namerefresh.c b/source4/libcli/nbt/namerefresh.c
index d723eed9f5..3e99854215 100644
--- a/source4/libcli/nbt/namerefresh.c
+++ b/source4/libcli/nbt/namerefresh.c
@@ -69,7 +69,7 @@ struct nbt_name_request *nbt_name_refresh_send(struct nbt_name_socket *nbtsock,
dest = socket_address_from_strings(nbtsock,
nbtsock->sock->backend_name,
- io->in.dest_addr, lp_nbt_port(global_loadparm));
+ io->in.dest_addr, io->in.dest_port);
if (dest == NULL) goto failed;
req = nbt_name_request_send(nbtsock, dest, packet,
io->in.timeout, io->in.retries, false);
@@ -174,6 +174,7 @@ static void name_refresh_wins_handler(struct nbt_name_request *req)
goto done;
}
state->io->in.dest_addr = state->wins_servers[0];
+ state->io->in.dest_port = lp_nbt_port(global_loadparm);
state->io->in.address = state->addresses[0];
state->req = nbt_name_refresh_send(state->nbtsock, state->io);
if (state->req == NULL) {
@@ -212,7 +213,7 @@ done:
}
}
-/*
+/**
the async send call for a multi-server WINS refresh
*/
struct composite_context *nbt_name_refresh_wins_send(struct nbt_name_socket *nbtsock,
@@ -240,6 +241,7 @@ struct composite_context *nbt_name_refresh_wins_send(struct nbt_name_socket *nbt
state->io->in.name = io->in.name;
state->io->in.dest_addr = state->wins_servers[0];
+ state->io->in.dest_port = lp_nbt_port(global_loadparm);
state->io->in.address = io->in.addresses[0];
state->io->in.nb_flags = io->in.nb_flags;
state->io->in.broadcast = false;
diff --git a/source4/torture/nbt/register.c b/source4/torture/nbt/register.c
index cc3a55a787..c7f992cbd6 100644
--- a/source4/torture/nbt/register.c
+++ b/source4/torture/nbt/register.c
@@ -26,6 +26,7 @@
#include "lib/socket/netif.h"
#include "torture/torture.h"
#include "torture/nbt/proto.h"
+#include "param/param.h"
#define CHECK_VALUE(tctx, v, correct) \
torture_assert_int_equal(tctx, v, correct, "Incorrect value")
@@ -132,6 +133,7 @@ static bool nbt_refresh_own(struct torture_context *tctx)
io.in.name = name;
io.in.dest_addr = address;
+ io.in.dest_port = lp_nbt_port(tctx->lp_ctx);
io.in.address = myaddress;
io.in.nb_flags = NBT_NODE_B | NBT_NM_ACTIVE;
io.in.broadcast = false;