summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2006-06-12 14:41:32 +0000
committerMatt Johnston <matt@ucc.asn.au>2006-06-12 14:41:32 +0000
commit16be43332cbec7aaa7d9aa5bde9f83ee47ae9269 (patch)
treea07147b04c250a99f5cd7e94cb64852fca001dfa
parentea50c53f6112313a5ebf002f165c71f223ce9d02 (diff)
downloaddropbear-16be43332cbec7aaa7d9aa5bde9f83ee47ae9269.tar.gz
Make the dbclient password prompt more useful
-rw-r--r--auth.h2
-rw-r--r--cli-auth.c4
-rw-r--r--cli-authpasswd.c7
3 files changed, 8 insertions, 5 deletions
diff --git a/auth.h b/auth.h
index c407ad5..661265a 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 ba4cf6c..4c17a21 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 5dffac4..2500a25 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);