summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/ldb/tools/ad2oLschema.c3
-rw-r--r--source4/libcli/resolve/nbtlist.c11
-rw-r--r--source4/nbt_server/wins/winswack.c2
-rw-r--r--source4/torture/nbt/winsbench.c2
-rw-r--r--source4/torture/rpc/spoolss_notify.c3
-rw-r--r--source4/torture/rpc/spoolss_win.c3
6 files changed, 14 insertions, 10 deletions
diff --git a/source4/lib/ldb/tools/ad2oLschema.c b/source4/lib/ldb/tools/ad2oLschema.c
index 5fcf752578..c8974d7e7d 100644
--- a/source4/lib/ldb/tools/ad2oLschema.c
+++ b/source4/lib/ldb/tools/ad2oLschema.c
@@ -37,6 +37,7 @@
#include "tools/cmdline.h"
#include "tools/convert.h"
#include "param/param.h"
+#include "lib/cmdline/popt_common.h"
struct schema_conv {
int count;
@@ -677,7 +678,7 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum convert_
}
}
- target_str = lp_parm_string(global_loadparm, NULL, "convert", "target");
+ target_str = lp_parm_string(cmdline_lp_ctx, NULL, "convert", "target");
if (!target_str || strcasecmp(target_str, "openldap") == 0) {
target = TARGET_OPENLDAP;
diff --git a/source4/libcli/resolve/nbtlist.c b/source4/libcli/resolve/nbtlist.c
index 595743e693..21792a665a 100644
--- a/source4/libcli/resolve/nbtlist.c
+++ b/source4/libcli/resolve/nbtlist.c
@@ -38,6 +38,7 @@ struct nbtlist_state {
struct nbt_name_request **queries;
struct nbt_name_query *io_queries;
const char *reply_addr;
+ struct interface *ifaces;
};
/*
@@ -49,7 +50,6 @@ static void nbtlist_handler(struct nbt_name_request *req)
struct composite_context);
struct nbtlist_state *state = talloc_get_type(c->private_data, struct nbtlist_state);
struct nbt_name_query *q;
- struct interface *ifaces;
int i;
for (i=0;i<state->num_queries;i++) {
@@ -76,16 +76,14 @@ static void nbtlist_handler(struct nbt_name_request *req)
}
/* favor a local address if possible */
- load_interfaces(NULL, lp_interfaces(global_loadparm), &ifaces);
state->reply_addr = NULL;
for (i=0;i<q->out.num_addrs;i++) {
- if (iface_is_local(ifaces, q->out.reply_addrs[i])) {
+ if (iface_is_local(state->ifaces, q->out.reply_addrs[i])) {
state->reply_addr = talloc_steal(state,
q->out.reply_addrs[i]);
break;
}
}
- talloc_free(ifaces);
if (state->reply_addr == NULL) {
state->reply_addr = talloc_steal(state,
@@ -129,6 +127,8 @@ struct composite_context *resolve_name_nbtlist_send(TALLOC_CTX *mem_ctx,
if (composite_nomem(state->name.scope, c)) return c;
}
+ load_interfaces(state, lp_interfaces(global_loadparm), &state->ifaces);
+
/*
* we can't push long names on the wire,
* so bail out here to give a useful error message
@@ -200,7 +200,8 @@ NTSTATUS resolve_name_nbtlist(struct nbt_name *name,
bool broadcast, bool wins_lookup,
const char **reply_addr)
{
- struct composite_context *c = resolve_name_nbtlist_send(mem_ctx, NULL, name, address_list,
+ struct composite_context *c = resolve_name_nbtlist_send(mem_ctx, NULL,
+ name, address_list,
broadcast, wins_lookup);
return resolve_name_nbtlist_recv(c, mem_ctx, reply_addr);
}
diff --git a/source4/nbt_server/wins/winswack.c b/source4/nbt_server/wins/winswack.c
index 3ffa2df79c..929155c842 100644
--- a/source4/nbt_server/wins/winswack.c
+++ b/source4/nbt_server/wins/winswack.c
@@ -223,7 +223,7 @@ static struct composite_context *wins_release_demand_send(TALLOC_CTX *mem_ctx, s
* with 2 retries
*/
state->release.in.name = *state->io->in.name;
- state->release.in.dest_port = lp_nbt_port(global_loadparm);
+ state->release.in.dest_port = lp_nbt_port(state->io->in.nbtd_server->task->lp_ctx);
state->release.in.dest_addr = state->io->in.addresses[state->current_address];
state->release.in.address = state->release.in.dest_addr;
state->release.in.broadcast = false;
diff --git a/source4/torture/nbt/winsbench.c b/source4/torture/nbt/winsbench.c
index 5d7dbaf93e..1488c17757 100644
--- a/source4/torture/nbt/winsbench.c
+++ b/source4/torture/nbt/winsbench.c
@@ -139,7 +139,7 @@ static void generate_release(struct nbt_name_socket *nbtsock, struct wins_state
istate->state = state;
io.in.name = generate_name(tmp_ctx, idx);
- io.in.dest_port = lp_nbt_port(global_loadparm);
+ io.in.dest_port = state->wins_port;
io.in.dest_addr = state->wins_server;
io.in.address = state->my_ip;
io.in.nb_flags = NBT_NODE_H;
diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c
index 559c50df45..0065101447 100644
--- a/source4/torture/rpc/spoolss_notify.c
+++ b/source4/torture/rpc/spoolss_notify.c
@@ -195,6 +195,8 @@ static bool test_RFFPCNEx(struct torture_context *tctx,
const char *address;
struct interface *ifaces;
+ ntvfs_init(tctx->lp_ctx);
+
ZERO_STRUCT(q);
q.in.printername = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
@@ -291,7 +293,6 @@ struct torture_suite *torture_rpc_spoolss_notify(TALLOC_CTX *mem_ctx)
struct torture_rpc_tcase *tcase = torture_suite_add_rpc_iface_tcase(suite,
"notify", &ndr_table_spoolss);
- ntvfs_init(global_loadparm);
torture_rpc_tcase_add_test(tcase, "testRFFPCNEx", test_RFFPCNEx);
return suite;
diff --git a/source4/torture/rpc/spoolss_win.c b/source4/torture/rpc/spoolss_win.c
index 8f70284ed3..1bc8aeb074 100644
--- a/source4/torture/rpc/spoolss_win.c
+++ b/source4/torture/rpc/spoolss_win.c
@@ -420,6 +420,8 @@ static bool test_WinXP(struct torture_context *tctx, struct dcerpc_pipe *p)
char *server_name;
char *key_pointer;
+ ntvfs_init(tctx->lp_ctx);
+
ctx = talloc_zero(tctx, struct test_spoolss_win_context);
tmp_ctx = talloc_zero(tctx, struct test_spoolss_win_context);
@@ -570,7 +572,6 @@ struct torture_suite *torture_rpc_spoolss_win(TALLOC_CTX *mem_ctx)
struct torture_rpc_tcase *tcase = torture_suite_add_rpc_iface_tcase(suite,
"win", &ndr_table_spoolss);
- ntvfs_init(global_loadparm);
torture_rpc_tcase_add_test(tcase, "testWinXP", test_WinXP);
return suite;