s4:lib/tevent: rename structs
[gd/samba-autobuild/.git] / source4 / utils / net / net.c
index e0865c441662a2b328a1d8c83edf5bc7ea1f26ac..ba5296fd97d9ed46a9dc0b5c60a952fea5d6adf1 100644 (file)
@@ -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
@@ -102,8 +104,11 @@ static const struct net_functable net_functable[] = {
        {"time", "get remote server's time\n", net_time, net_time_usage},
        {"join", "join a domain\n", net_join, net_join_usage},
        {"samdump", "dump the sam of a domain\n", net_samdump, net_samdump_usage},
-       {"samsync", "synchronise into the local ldb the sam of a domain\n", net_samsync_ldb, net_samsync_ldb_usage},
+       {"vampire", "join and syncronise an AD domain onto the local server\n", net_vampire, net_vampire_usage},
+       {"samsync", "synchronise into the local ldb the sam of an NT4 domain\n", net_samsync_ldb, net_samsync_ldb_usage},
        {"user", "manage user accounts\n", net_user, net_user_usage},
+       {"machinepw", "Get a machine password out of our SAM", net_machinepw,
+        net_machinepw_usage},
        {NULL, NULL, NULL, NULL}
 };
 
@@ -139,7 +144,7 @@ static int binary_net(int argc, const char **argv)
        int rc;
        int argc_new;
        const char **argv_new;
-       TALLOC_CTX *mem_ctx;
+       struct tevent_context *ev;
        struct net_context *ctx = NULL;
        poptContext pc;
        struct poptOption long_options[] = {
@@ -180,19 +185,23 @@ static int binary_net(int argc, const char **argv)
                return net_usage(ctx, argc, argv);
        }
 
-       dcerpc_init();
+       dcerpc_init(cmdline_lp_ctx);
 
-       mem_ctx = talloc_init("net_context");
-       ctx = talloc(mem_ctx, struct net_context);
+       ev = s4_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;
+       ctx->event_ctx = ev;
 
        rc = net_run_function(ctx, argc_new-1, argv_new+1, net_functable, net_usage);
 
@@ -200,7 +209,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;
 }