diff options
Diffstat (limited to 'source4/utils/net')
-rw-r--r-- | source4/utils/net/net.c | 30 | ||||
-rw-r--r-- | source4/utils/net/net_password.c | 3 |
2 files changed, 22 insertions, 11 deletions
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); } |