diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-08-19 12:36:05 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:58:11 -0500 |
commit | 124e00068f2187e254f76cd82e913809870d799c (patch) | |
tree | 1a6a7ee1474a51dfc0d8dae52aed0efd39e6bcd8 /source4 | |
parent | 5c9c6b47412e93caab4c55086f679fb12fc9a9af (diff) | |
download | samba-124e00068f2187e254f76cd82e913809870d799c.tar.gz samba-124e00068f2187e254f76cd82e913809870d799c.tar.bz2 samba-124e00068f2187e254f76cd82e913809870d799c.zip |
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)
Diffstat (limited to 'source4')
-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); } |