diff options
Diffstat (limited to 'source4/torture')
-rw-r--r-- | source4/torture/libnet/libnet_BecomeDC.c | 25 | ||||
-rw-r--r-- | source4/torture/rpc/spoolss_notify.c | 11 |
2 files changed, 22 insertions, 14 deletions
diff --git a/source4/torture/libnet/libnet_BecomeDC.c b/source4/torture/libnet/libnet_BecomeDC.c index d9645356e8..0ef6a03a6a 100644 --- a/source4/torture/libnet/libnet_BecomeDC.c +++ b/source4/torture/libnet/libnet_BecomeDC.c @@ -90,7 +90,6 @@ static NTSTATUS test_become_dc_check_options(void *private_data, return NT_STATUS_OK; } -#ifndef PROVISION_PYTHON #include "lib/appweb/ejs/ejs.h" #include "lib/appweb/ejs/ejsInternal.h" #include "scripting/ejs/smbcalls.h" @@ -148,14 +147,16 @@ failed: return ejs_error; } -static NTSTATUS test_become_dc_prepare_db(void *private_data, - const struct libnet_BecomeDC_PrepareDB *p) +static NTSTATUS test_become_dc_prepare_db_ejs(void *private_data, + const struct libnet_BecomeDC_PrepareDB *p) { struct test_become_dc_state *s = talloc_get_type(private_data, struct test_become_dc_state); char *ejs; int ret; bool ok; + DEBUG(0,("Provision for Become-DC test using EJS\n")); + DEBUG(0,("New Server[%s] in Site[%s]\n", p->dest_dsa->dns_name, p->dest_dsa->site_name)); @@ -274,18 +275,20 @@ static NTSTATUS test_become_dc_prepare_db(void *private_data, return NT_STATUS_OK; } -#else +#ifdef HAVE_WORKING_PYTHON #include "param/param.h" #include <Python.h> #include "scripting/python/modules.h" -static NTSTATUS test_become_dc_prepare_db(void *private_data, - const struct libnet_BecomeDC_PrepareDB *p) +static NTSTATUS test_become_dc_prepare_db_py(void *private_data, + const struct libnet_BecomeDC_PrepareDB *p) { struct test_become_dc_state *s = talloc_get_type(private_data, struct test_become_dc_state); bool ok; PyObject *provision_fn, *result, *parameters; + DEBUG(0,("Provision for Become-DC test using PYTHON\n")); + py_load_samba_modules(); Py_Initialize(); @@ -378,8 +381,7 @@ static NTSTATUS test_become_dc_prepare_db(void *private_data, return NT_STATUS_OK; } - -#endif +#endif /* HAVE_WORKING_PYTHON */ static NTSTATUS test_apply_schema(struct test_become_dc_state *s, const struct libnet_BecomeDC_StoreChunk *c) @@ -876,7 +878,12 @@ bool torture_net_become_dc(struct torture_context *torture) b.in.callbacks.private_data = s; b.in.callbacks.check_options = test_become_dc_check_options; - b.in.callbacks.prepare_db = test_become_dc_prepare_db; + b.in.callbacks.prepare_db = test_become_dc_prepare_db_ejs; +#ifdef HAVE_WORKING_PYTHON + if (getenv("PROVISION_PYTHON")) { + b.in.callbacks.prepare_db = test_become_dc_prepare_db_py; + } +#endif b.in.callbacks.schema_chunk = test_become_dc_schema_chunk; b.in.callbacks.config_chunk = test_become_dc_store_chunk; b.in.callbacks.domain_chunk = test_become_dc_store_chunk; diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c index 0065101447..96db7d1ec5 100644 --- a/source4/torture/rpc/spoolss_notify.c +++ b/source4/torture/rpc/spoolss_notify.c @@ -69,7 +69,8 @@ static NTSTATUS spoolss__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_ return NT_STATUS_OK; } -/* FIXME: What context does this belong in ? -- JRV20070903 */ +/* Note that received_packets are allocated in talloc_autofree_context(), + * because no other context appears to stay around long enough. */ static struct received_packet { uint16_t opnum; void *r; @@ -82,9 +83,9 @@ static NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_ uint16_t opnum = dce_call->pkt.u.request.opnum; struct received_packet *rp; - rp = talloc_zero(mem_ctx, struct received_packet); + rp = talloc_zero(talloc_autofree_context(), struct received_packet); rp->opnum = opnum; - rp->r = talloc_reference(mem_ctx, r); + rp->r = talloc_reference(rp, r); DLIST_ADD_END(received_packets, rp, struct received_packet *); @@ -195,6 +196,8 @@ static bool test_RFFPCNEx(struct torture_context *tctx, const char *address; struct interface *ifaces; + received_packets = NULL; + ntvfs_init(tctx->lp_ctx); ZERO_STRUCT(q); @@ -239,7 +242,6 @@ static bool test_RFFPCNEx(struct torture_context *tctx, torture_assert_ntstatus_ok(tctx, status, "unable to initialize DCE/RPC server"); - r.in.flags = 0; r.in.str = talloc_asprintf(tctx, "\\\\%s", address); r.in.options = 0; @@ -261,7 +263,6 @@ static bool test_RFFPCNEx(struct torture_context *tctx, r.in.t1 = &t1; r.in.handle = &handle; - status = dcerpc_spoolss_RemoteFindFirstPrinterChangeNotifyEx(p, tctx, &r); torture_assert_ntstatus_ok(tctx, status, "FFPCNEx failed"); |