[PATCH 02/16] wbinfo: Use new samba_getpass() function.

Andreas Schneider asn at samba.org
Tue Nov 27 04:23:42 MST 2012


Signed-off-by: Andreas Schneider <asn at samba.org>
---
 nsswitch/wbinfo.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c
index aee4004..0e102dc 100644
--- a/nsswitch/wbinfo.c
+++ b/nsswitch/wbinfo.c
@@ -1435,7 +1435,8 @@ static char *wbinfo_prompt_pass(TALLOC_CTX *mem_ctx,
 				const char *username)
 {
 	char *prompt;
-	const char *ret = NULL;
+	char buf[1024] = {0};
+	int rc;
 
 	prompt = talloc_asprintf(mem_ctx, "Enter %s's ", username);
 	if (!prompt) {
@@ -1452,10 +1453,13 @@ static char *wbinfo_prompt_pass(TALLOC_CTX *mem_ctx,
 		return NULL;
 	}
 
-	ret = getpass(prompt);
+	rc = samba_getpass(prompt, buf, sizeof(buf), false, false);
 	TALLOC_FREE(prompt);
+	if (rc < 0) {
+		return NULL;
+	}
 
-	return talloc_strdup(mem_ctx, ret);
+	return talloc_strdup(mem_ctx, buf);
 }
 
 /* Authenticate a user with a plaintext password */
@@ -1860,7 +1864,10 @@ static bool wbinfo_klog(char *username)
 		*p = '%';
 	} else {
 		fstrcpy(request.data.auth.user, username);
-		fstrcpy(request.data.auth.pass, getpass("Password: "));
+		(void) samba_getpass("Password: ",
+				     request.data.auth.pass,
+				     sizeof(request.data.auth.pass),
+				     false, false);
 	}
 
 	request.flags |= WBFLAG_PAM_AFS_TOKEN;
-- 
1.8.0




More information about the samba-technical mailing list