From 124e00068f2187e254f76cd82e913809870d799c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 19 Aug 2004 12:36:05 +0000 Subject: r1915: use popt's cmdline_auth_info to fill the net_context and print the user domain when prompting for a new password metze (This used to be commit aedb2e9e1c418a7ac3cc18299707ae9146e4047a) --- source4/utils/net/net.c | 30 ++++++++++++++++++++---------- source4/utils/net/net_password.c | 3 ++- 2 files changed, 22 insertions(+), 11 deletions(-) (limited to 'source4/utils') diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c index 05dbb35f41..89f4e77735 100644 --- a/source4/utils/net/net.c +++ b/source4/utils/net/net.c @@ -156,6 +156,7 @@ static int binary_net(int argc, const char **argv) const char **argv_new; TALLOC_CTX *mem_ctx; struct net_context *ctx; + const char *domain; poptContext pc; struct poptOption long_options[] = { POPT_AUTOHELP @@ -172,16 +173,6 @@ static int binary_net(int argc, const char **argv) setbuffer(stdout, NULL, 0); #endif - mem_ctx = talloc_init("net_context"); - ctx = talloc_p(mem_ctx, struct net_context); - if (!ctx) { - d_printf("talloc_init(net_context) failed\n"); - exit(1); - } - - ZERO_STRUCTP(ctx); - ctx->mem_ctx = mem_ctx; - pc = poptGetContext("net", argc, (const char **) argv, long_options, POPT_CONTEXT_KEEP_FIRST); @@ -213,6 +204,25 @@ static int binary_net(int argc, const char **argv) return 1; } + if (cmdline_auth_info.domain[0]) { + domain = cmdline_auth_info.domain; + } else { + domain = lp_workgroup(); + } + + mem_ctx = talloc_init("net_context"); + ctx = talloc_p(mem_ctx, struct net_context); + if (!ctx) { + d_printf("talloc_init(net_context) failed\n"); + exit(1); + } + + ZERO_STRUCTP(ctx); + ctx->mem_ctx = mem_ctx; + ctx->user.account_name = talloc_strdup(ctx->mem_ctx, cmdline_auth_info.username); + ctx->user.domain_name = talloc_strdup(ctx->mem_ctx, domain); + ctx->user.password = talloc_strdup(ctx->mem_ctx, cmdline_auth_info.password); + rc = net_run_function(ctx, argc_new-1, argv_new+1, net_functable, net_usage); if (rc != 0) { diff --git a/source4/utils/net/net_password.c b/source4/utils/net/net_password.c index 90f26924a6..c9c549fcff 100644 --- a/source4/utils/net/net_password.c +++ b/source4/utils/net/net_password.c @@ -37,7 +37,8 @@ static int net_password_change(struct net_context *ctx, int argc, const char **a if (argc > 0 && argv[0]) { new_password = argv[0]; } else { - password_prompt = talloc_asprintf(ctx->mem_ctx, "Enter new password for %s:", ctx->user.account_name); + password_prompt = talloc_asprintf(ctx->mem_ctx, "Enter new password for account [%s\\%s]:", + ctx->user.domain_name, ctx->user.account_name); new_password = getpass(password_prompt); } -- cgit