summaryrefslogtreecommitdiff
path: root/source4/utils
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-03-21 02:08:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:11:08 -0500
commit02075be0bbc2095073f8898350fded64a7c97c79 (patch)
tree28ea2820f79dfc766b745515848c840bf98b2a88 /source4/utils
parent105660d3f9b537fa47fe6e33c0418a1d8f85e0e9 (diff)
downloadsamba-02075be0bbc2095073f8898350fded64a7c97c79.tar.gz
samba-02075be0bbc2095073f8898350fded64a7c97c79.tar.bz2
samba-02075be0bbc2095073f8898350fded64a7c97c79.zip
r5917: First step in using the new cli_credentials structure. This patch
puts support for it into popt_common, adds a few utility functions (in lib/credentials.c) and the callback functions for the command-line (lib/cmdline/credentials.c). Comments are welcome :-) (This used to be commit 1d49b57c50fe8c2683ea23e9df41ce8ad774db98)
Diffstat (limited to 'source4/utils')
-rw-r--r--source4/utils/net/net.c4
-rw-r--r--source4/utils/net/net.h6
-rw-r--r--source4/utils/net/net_join.c6
-rw-r--r--source4/utils/net/net_password.c23
-rw-r--r--source4/utils/net/net_time.c6
-rw-r--r--source4/utils/net/net_user.c6
6 files changed, 23 insertions, 28 deletions
diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c
index fb87a5a6d9..96ae23c7e4 100644
--- a/source4/utils/net/net.c
+++ b/source4/utils/net/net.c
@@ -200,9 +200,7 @@ static int binary_net(int argc, const char **argv)
ZERO_STRUCTP(ctx);
ctx->mem_ctx = mem_ctx;
- ctx->user.account_name = talloc_strdup(ctx->mem_ctx, cmdline_get_username());
- ctx->user.domain_name = talloc_strdup(ctx->mem_ctx, cmdline_get_userdomain());
- ctx->user.password = talloc_strdup(ctx->mem_ctx, cmdline_get_userpassword());
+ ctx->credentials = cmdline_credentials;
rc = net_run_function(ctx, argc_new-1, argv_new+1, net_functable, net_usage);
diff --git a/source4/utils/net/net.h b/source4/utils/net/net.h
index 2967063bde..6f3aa1086b 100644
--- a/source4/utils/net/net.h
+++ b/source4/utils/net/net.h
@@ -24,11 +24,7 @@
struct net_context {
TALLOC_CTX *mem_ctx;
- struct {
- const char *account_name;
- const char *domain_name;
- const char *password;
- } user;
+ struct cli_credentials *credentials;
};
struct net_functable {
diff --git a/source4/utils/net/net_join.c b/source4/utils/net/net_join.c
index 6183da87b5..3a0a52cab5 100644
--- a/source4/utils/net/net_join.c
+++ b/source4/utils/net/net_join.c
@@ -61,9 +61,9 @@ int net_join(struct net_context *ctx, int argc, const char **argv)
if (!libnetctx) {
return -1;
}
- libnetctx->user.account_name = ctx->user.account_name;
- libnetctx->user.domain_name = ctx->user.domain_name;
- libnetctx->user.password = ctx->user.password;
+ libnetctx->user.account_name= cli_credentials_get_username(ctx->credentials);
+ libnetctx->user.domain_name = cli_credentials_get_domain(ctx->credentials);
+ libnetctx->user.password = cli_credentials_get_password(ctx->credentials);
/* prepare password change */
r.generic.level = LIBNET_JOIN_GENERIC;
diff --git a/source4/utils/net/net_password.c b/source4/utils/net/net_password.c
index ee0376989d..a68c0b1c6a 100644
--- a/source4/utils/net/net_password.c
+++ b/source4/utils/net/net_password.c
@@ -48,7 +48,8 @@ static int net_password_change(struct net_context *ctx, int argc, const char **a
new_password = argv[0];
} else {
password_prompt = talloc_asprintf(ctx->mem_ctx, "Enter new password for account [%s\\%s]:",
- ctx->user.domain_name, ctx->user.account_name);
+ cli_credentials_get_domain(ctx->credentials),
+ cli_credentials_get_username(ctx->credentials));
new_password = getpass(password_prompt);
}
@@ -56,15 +57,15 @@ static int net_password_change(struct net_context *ctx, int argc, const char **a
if (!libnetctx) {
return -1;
}
- libnetctx->user.account_name = ctx->user.account_name;
- libnetctx->user.domain_name = ctx->user.domain_name;
- libnetctx->user.password = ctx->user.password;
+ libnetctx->user.account_name= cli_credentials_get_username(ctx->credentials);
+ libnetctx->user.domain_name = cli_credentials_get_domain(ctx->credentials);
+ libnetctx->user.password = cli_credentials_get_password(ctx->credentials);
/* prepare password change */
r.generic.level = LIBNET_CHANGE_PASSWORD_GENERIC;
- r.generic.in.account_name = ctx->user.account_name;
- r.generic.in.domain_name = ctx->user.domain_name;
- r.generic.in.oldpassword = ctx->user.password;
+ r.generic.in.account_name = cli_credentials_get_username(ctx->credentials);
+ r.generic.in.domain_name = cli_credentials_get_domain(ctx->credentials);
+ r.generic.in.oldpassword = cli_credentials_get_password(ctx->credentials);
r.generic.in.newpassword = new_password;
/* do password change */
@@ -120,7 +121,7 @@ static int net_password_set(struct net_context *ctx, int argc, const char **argv
account_name = talloc_strdup(ctx->mem_ctx, p+1);
} else {
account_name = tmp;
- domain_name = ctx->user.domain_name;
+ domain_name = cli_credentials_get_domain(ctx->credentials);
}
if (!new_password) {
@@ -133,9 +134,9 @@ static int net_password_set(struct net_context *ctx, int argc, const char **argv
if (!libnetctx) {
return -1;
}
- libnetctx->user.account_name = ctx->user.account_name;
- libnetctx->user.domain_name = ctx->user.domain_name;
- libnetctx->user.password = ctx->user.password;
+ libnetctx->user.account_name= cli_credentials_get_username(ctx->credentials);
+ libnetctx->user.domain_name = cli_credentials_get_domain(ctx->credentials);
+ libnetctx->user.password = cli_credentials_get_password(ctx->credentials);
/* prepare password change */
r.generic.level = LIBNET_SET_PASSWORD_GENERIC;
diff --git a/source4/utils/net/net_time.c b/source4/utils/net/net_time.c
index 5f318ac4ea..df3b52a4ab 100644
--- a/source4/utils/net/net_time.c
+++ b/source4/utils/net/net_time.c
@@ -47,9 +47,9 @@ int net_time(struct net_context *ctx, int argc, const char **argv)
if (!libnetctx) {
return -1;
}
- libnetctx->user.account_name = ctx->user.account_name;
- libnetctx->user.domain_name = ctx->user.domain_name;
- libnetctx->user.password = ctx->user.password;
+ libnetctx->user.account_name= cli_credentials_get_username(ctx->credentials);
+ libnetctx->user.domain_name = cli_credentials_get_domain(ctx->credentials);
+ libnetctx->user.password = cli_credentials_get_password(ctx->credentials);
/* prepare to get the time */
r.generic.level = LIBNET_REMOTE_TOD_GENERIC;
diff --git a/source4/utils/net/net_user.c b/source4/utils/net/net_user.c
index 4a472e6997..82f80b9e60 100644
--- a/source4/utils/net/net_user.c
+++ b/source4/utils/net/net_user.c
@@ -47,9 +47,9 @@ static int net_user_add(struct net_context *ctx, int argc, const char **argv)
lnet_ctx = libnet_context_init();
if (!lnet_ctx) return -1;
- lnet_ctx->user.domain_name = ctx->user.domain_name;
- lnet_ctx->user.account_name = ctx->user.account_name;
- lnet_ctx->user.password = ctx->user.password;
+ lnet_ctx->user.domain_name = cli_credentials_get_domain(ctx->credentials);
+ lnet_ctx->user.account_name = cli_credentials_get_username(ctx->credentials);
+ lnet_ctx->user.password = cli_credentials_get_password(ctx->credentials);
/* calling CreateUser function */
r.generic.level = LIBNET_CREATE_USER_GENERIC;