From d0537c7506af0f7193fd11a63ccbac04a464485a Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Mon, 12 Jun 2006 14:41:32 +0000
Subject: [PATCH] Make the dbclient password prompt more useful

--HG--
extra : convert_revision : 3bcfb35f7a6065dafbd695d943b95d64efff1c99
---
 auth.h           | 2 +-
 cli-auth.c       | 4 ++--
 cli-authpasswd.c | 7 +++++--
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/auth.h b/auth.h
index c407ad55..661265ac 100644
--- a/auth.h
+++ b/auth.h
@@ -52,7 +52,7 @@ void cli_pubkeyfail();
 void cli_auth_password();
 int cli_auth_pubkey();
 void cli_auth_interactive();
-char* getpass_or_cancel();
+char* getpass_or_cancel(char* prompt);
 
 
 #define MAX_USERNAME_LEN 25 /* arbitrary for the moment */
diff --git a/cli-auth.c b/cli-auth.c
index ba4cf6c1..4c17a212 100644
--- a/cli-auth.c
+++ b/cli-auth.c
@@ -281,11 +281,11 @@ void cli_auth_try() {
 
 /* A helper for getpass() that exits if the user cancels. The returned
  * password is statically allocated by getpass() */
-char* getpass_or_cancel()
+char* getpass_or_cancel(char* prompt)
 {
 	char* password = NULL;
 
-	password = getpass("Password: ");
+	password = getpass(prompt);
 
 	/* 0x03 is a ctrl-c character in the buffer. */
 	if (password == NULL || strchr(password, '\3') != NULL) {
diff --git a/cli-authpasswd.c b/cli-authpasswd.c
index 5dffac4b..2500a25f 100644
--- a/cli-authpasswd.c
+++ b/cli-authpasswd.c
@@ -116,16 +116,19 @@ static char *gui_getpass(const char *prompt) {
 void cli_auth_password() {
 
 	char* password = NULL;
+	char prompt[80];
 
 	TRACE(("enter cli_auth_password"))
 	CHECKCLEARTOWRITE();
 
+	snprintf(prompt, sizeof(prompt), "%s@%s's password: ", 
+				cli_opts.username, cli_opts.remotehost);
 #ifdef ENABLE_CLI_ASKPASS_HELPER
 	if (want_askpass())
-		password = gui_getpass("Password: ");
+		password = gui_getpass(prompt);
 	else
 #endif
-		password = getpass_or_cancel("Password: ");
+		password = getpass_or_cancel(prompt);
 
 	buf_putbyte(ses.writepayload, SSH_MSG_USERAUTH_REQUEST);
 
-- 
GitLab