summaryrefslogtreecommitdiff
path: root/source4/utils/net/net.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2008-04-14 12:43:37 -0400
committerSimo Sorce <idra@samba.org>2008-04-14 12:45:51 -0400
commit4f51b0246db3242ee02ee16905cba13a5dc5633a (patch)
treeaf0692f28714db6e2c4ef6d985e501db58e57732 /source4/utils/net/net.c
parent97e09c2f877779ca6d55684d33b1a24b8a280e51 (diff)
downloadsamba-4f51b0246db3242ee02ee16905cba13a5dc5633a.tar.gz
samba-4f51b0246db3242ee02ee16905cba13a5dc5633a.tar.bz2
samba-4f51b0246db3242ee02ee16905cba13a5dc5633a.zip
Fix problems with event context not being the parent.
(This used to be commit 957c4d893acf9e6db06a3fc3a4687ab6bb238635)
Diffstat (limited to 'source4/utils/net/net.c')
-rw-r--r--source4/utils/net/net.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c
index c908ea6279..6086a4ce32 100644
--- a/source4/utils/net/net.c
+++ b/source4/utils/net/net.c
@@ -46,6 +46,8 @@
#include "lib/ldb/include/ldb.h"
#include "librpc/rpc/dcerpc.h"
#include "param/param.h"
+#include "lib/events/events.h"
+#include "auth/credentials/credentials.h"
/*
run a function from a function table. If not found then
@@ -140,7 +142,7 @@ static int binary_net(int argc, const char **argv)
int rc;
int argc_new;
const char **argv_new;
- TALLOC_CTX *mem_ctx;
+ struct event_context *ev;
struct net_context *ctx = NULL;
poptContext pc;
struct poptOption long_options[] = {
@@ -183,17 +185,21 @@ static int binary_net(int argc, const char **argv)
dcerpc_init();
- mem_ctx = talloc_init("net_context");
- ctx = talloc(mem_ctx, struct net_context);
+ ev = event_context_init(NULL);
+ if (!ev) {
+ d_printf("Failed to create an event context\n");
+ exit(1);
+ }
+ ctx = talloc(ev, struct net_context);
if (!ctx) {
- d_printf("talloc_init(net_context) failed\n");
+ d_printf("Failed to talloc a net_context\n");
exit(1);
}
ZERO_STRUCTP(ctx);
- ctx->mem_ctx = mem_ctx;
ctx->lp_ctx = cmdline_lp_ctx;
ctx->credentials = cmdline_credentials;
+ cli_credentials_set_event_context(ctx->credentials, ev);
rc = net_run_function(ctx, argc_new-1, argv_new+1, net_functable, net_usage);
@@ -201,7 +207,7 @@ static int binary_net(int argc, const char **argv)
DEBUG(0,("return code = %d\n", rc));
}
- talloc_free(mem_ctx);
+ talloc_free(ev);
return rc;
}