r26381: Move global_loadparm higher up the call stack.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 10 Dec 2007 17:41:45 +0000 (18:41 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:49:16 +0000 (05:49 +0100)
source/libcli/nbt/libnbt.h
source/libcli/nbt/nameregister.c
source/nbt_server/register.c
source/torture/nbt/register.c
source/torture/nbt/winsbench.c
source/torture/nbt/winsreplication.c

index 88ca0e204bf5ff1419e1257c6ceed92c101580e8..524391917d6e7a7d98d821e17d68a6e4c06c3bc0 100644 (file)
@@ -163,6 +163,7 @@ struct nbt_name_register {
        struct {
                struct nbt_name name;
                const char *dest_addr;
+               uint16_t dest_port;
                const char *address;
                uint16_t nb_flags;
                bool register_demand;
index fd4a94dd44ec2e62537271165ec2dd3e217fd15b..9389981647df57a2b8873f812b30360d506036e2 100644 (file)
@@ -77,7 +77,7 @@ struct nbt_name_request *nbt_name_register_send(struct nbt_name_socket *nbtsock,
        if (packet->additional[0].rdata.netbios.addresses[0].ipaddr == NULL) goto failed;
 
        dest = socket_address_from_strings(packet, 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);
@@ -224,6 +224,7 @@ struct composite_context *nbt_name_register_bcast_send(struct nbt_name_socket *n
 
        state->io->in.name            = io->in.name;
        state->io->in.dest_addr       = io->in.dest_addr;
+       state->io->in.dest_port       = lp_nbt_port(global_loadparm);
        state->io->in.address         = io->in.address;
        state->io->in.nb_flags        = io->in.nb_flags;
        state->io->in.register_demand = false;
@@ -311,6 +312,7 @@ static void name_register_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_register_send(state->nbtsock, state->io);
                if (state->req == NULL) {
@@ -377,6 +379,7 @@ struct composite_context *nbt_name_register_wins_send(struct nbt_name_socket *nb
 
        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;
index c185001e23d8a2c4a38e9bf518a40bf65b41094a..bde9b1e2db8ab503ac70758e5ce8c2c5b686a2a0 100644 (file)
@@ -93,6 +93,7 @@ static void name_refresh_handler(struct event_context *ev, struct timed_event *t
           registration packets */
        io.in.name            = iname->name;
        io.in.dest_addr       = iface->bcast_address;
+       io.in.dest_port       = lp_nbt_port(iface->nbtsrv->task->lp_ctx);
        io.in.address         = iface->ip_address;
        io.in.nb_flags        = iname->nb_flags;
        io.in.ttl             = iname->ttl;
index c7f992cbd60b2ca5acd2808e466e23305291bd91..2c37d9de501f175afbc433e237f94b3f90d2add4 100644 (file)
@@ -67,6 +67,7 @@ static bool nbt_register_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.register_demand = false;
index 82223d9dd7ac5f4c556e708272a687037287ea89..d49b50b9d3a162f4b11cebf276ce823a3b635f13 100644 (file)
@@ -87,6 +87,7 @@ static void generate_register(struct nbt_name_socket *nbtsock, struct wins_state
 
        io.in.name            = generate_name(tmp_ctx, idx);
        io.in.dest_addr       = state->wins_server;
+       io.in.dest_port       = lp_nbt_port(global_loadparm);
        io.in.address         = state->my_ip;
        io.in.nb_flags        = NBT_NODE_H;
        io.in.register_demand = false;
index b427843b80e445aa60e6ca3d7649a09172763b3a..f67b6050f2753f42255d1fdb613b12778336b9c7 100644 (file)
@@ -6530,6 +6530,7 @@ static bool test_conflict_owned_released_vs_replica(struct torture_context *tctx
                 */
                name_register->in.name          = records[i].name;
                name_register->in.dest_addr     = ctx->address;
+               name_register->in.dest_port     = lp_nbt_port(tctx->lp_ctx);
                name_register->in.address       = records[i].wins.ips[0].ip;
                name_register->in.nb_flags      = records[i].wins.nb_flags;
                name_register->in.register_demand= false;
@@ -9218,6 +9219,7 @@ static bool test_conflict_owned_active_vs_replica(struct torture_context *tctx,
 
                        name_register->in.name          = records[i].name;
                        name_register->in.dest_addr     = ctx->address;
+                       name_register->in.dest_port     = lp_nbt_port(tctx->lp_ctx);
                        name_register->in.address       = records[i].wins.ips[j].ip;
                        name_register->in.nb_flags      = records[i].wins.nb_flags;
                        name_register->in.register_demand= false;