#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
{"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}
};
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[] = {
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);
DEBUG(0,("return code = %d\n", rc));
}
- talloc_free(mem_ctx);
+ talloc_free(ev);
return rc;
}