svn commit: samba r23968 - in branches: SAMBA_3_2/source/utils
SAMBA_3_2_0/source/utils
gd at samba.org
gd at samba.org
Thu Jul 19 13:07:23 GMT 2007
Author: gd
Date: 2007-07-19 13:07:22 +0000 (Thu, 19 Jul 2007)
New Revision: 23968
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23968
Log:
Harmonize net's password prompts.
Guenther
Modified:
branches/SAMBA_3_2/source/utils/net.c
branches/SAMBA_3_2/source/utils/net_ads.c
branches/SAMBA_3_2_0/source/utils/net.c
branches/SAMBA_3_2_0/source/utils/net_ads.c
Changeset:
Modified: branches/SAMBA_3_2/source/utils/net.c
===================================================================
--- branches/SAMBA_3_2/source/utils/net.c 2007-07-19 10:23:36 UTC (rev 23967)
+++ branches/SAMBA_3_2/source/utils/net.c 2007-07-19 13:07:22 UTC (rev 23968)
@@ -168,11 +168,9 @@
{
NTSTATUS nt_status;
- if (!opt_password && !opt_machine_pass) {
- char *pass = getpass("Password:");
- if (pass) {
- opt_password = SMB_STRDUP(pass);
- }
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
+ return NT_STATUS_NO_MEMORY;
}
nt_status = cli_full_connection(c, NULL, server_name,
@@ -180,7 +178,6 @@
service_name, service_type,
opt_user_name, opt_workgroup,
opt_password, 0, Undefined, NULL);
-
if (NT_STATUS_IS_OK(nt_status)) {
return nt_status;
} else {
@@ -267,11 +264,9 @@
NTSTATUS nt_status;
char *user_and_realm = NULL;
- if (!opt_password && !opt_machine_pass) {
- char *pass = getpass("Password:");
- if (pass) {
- opt_password = SMB_STRDUP(pass);
- }
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
+ return NT_STATUS_NO_MEMORY;
}
user_and_realm = get_user_and_realm(opt_user_name);
@@ -834,6 +829,33 @@
return 0;
}
+/****************************************************************************
+****************************************************************************/
+
+const char *net_prompt_pass(const char *user)
+{
+ char *prompt = NULL;
+ const char *pass = NULL;
+
+ if (opt_password) {
+ return opt_password;
+ }
+
+ if (opt_machine_pass) {
+ return NULL;
+ }
+
+ asprintf(&prompt, "Enter %s's password:", user);
+ if (!prompt) {
+ return NULL;
+ }
+
+ pass = getpass(prompt);
+ SAFE_FREE(prompt);
+
+ return pass;
+}
+
/* main function table */
static struct functable net_func[] = {
{"RPC", net_rpc},
Modified: branches/SAMBA_3_2/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_2/source/utils/net_ads.c 2007-07-19 10:23:36 UTC (rev 23967)
+++ branches/SAMBA_3_2/source/utils/net_ads.c 2007-07-19 13:07:22 UTC (rev 23968)
@@ -244,14 +244,11 @@
retry:
if (!opt_password && need_password && !opt_machine_pass) {
- char *prompt = NULL;
- asprintf(&prompt,"%s's password: ", opt_user_name);
- if (!prompt) {
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
ads_destroy(&ads);
return ADS_ERROR(LDAP_NO_MEMORY);
}
- opt_password = getpass(prompt);
- free(prompt);
}
if (opt_password) {
Modified: branches/SAMBA_3_2_0/source/utils/net.c
===================================================================
--- branches/SAMBA_3_2_0/source/utils/net.c 2007-07-19 10:23:36 UTC (rev 23967)
+++ branches/SAMBA_3_2_0/source/utils/net.c 2007-07-19 13:07:22 UTC (rev 23968)
@@ -168,11 +168,9 @@
{
NTSTATUS nt_status;
- if (!opt_password && !opt_machine_pass) {
- char *pass = getpass("Password:");
- if (pass) {
- opt_password = SMB_STRDUP(pass);
- }
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
+ return NT_STATUS_NO_MEMORY;
}
nt_status = cli_full_connection(c, NULL, server_name,
@@ -180,7 +178,6 @@
service_name, service_type,
opt_user_name, opt_workgroup,
opt_password, 0, Undefined, NULL);
-
if (NT_STATUS_IS_OK(nt_status)) {
return nt_status;
} else {
@@ -267,11 +264,9 @@
NTSTATUS nt_status;
char *user_and_realm = NULL;
- if (!opt_password && !opt_machine_pass) {
- char *pass = getpass("Password:");
- if (pass) {
- opt_password = SMB_STRDUP(pass);
- }
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
+ return NT_STATUS_NO_MEMORY;
}
user_and_realm = get_user_and_realm(opt_user_name);
@@ -834,6 +829,33 @@
return 0;
}
+/****************************************************************************
+****************************************************************************/
+
+const char *net_prompt_pass(const char *user)
+{
+ char *prompt = NULL;
+ const char *pass = NULL;
+
+ if (opt_password) {
+ return opt_password;
+ }
+
+ if (opt_machine_pass) {
+ return NULL;
+ }
+
+ asprintf(&prompt, "Enter %s's password:", user);
+ if (!prompt) {
+ return NULL;
+ }
+
+ pass = getpass(prompt);
+ SAFE_FREE(prompt);
+
+ return pass;
+}
+
/* main function table */
static struct functable net_func[] = {
{"RPC", net_rpc},
Modified: branches/SAMBA_3_2_0/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_2_0/source/utils/net_ads.c 2007-07-19 10:23:36 UTC (rev 23967)
+++ branches/SAMBA_3_2_0/source/utils/net_ads.c 2007-07-19 13:07:22 UTC (rev 23968)
@@ -244,14 +244,11 @@
retry:
if (!opt_password && need_password && !opt_machine_pass) {
- char *prompt = NULL;
- asprintf(&prompt,"%s's password: ", opt_user_name);
- if (!prompt) {
+ opt_password = net_prompt_pass(opt_user_name);
+ if (!opt_password) {
ads_destroy(&ads);
return ADS_ERROR(LDAP_NO_MEMORY);
}
- opt_password = getpass(prompt);
- free(prompt);
}
if (opt_password) {
More information about the samba-cvs
mailing list