mirror of
https://github.com/clearml/dropbear
synced 2025-02-12 07:25:30 +00:00
Make the dbclient password prompt more useful
--HG-- extra : convert_revision : 3bcfb35f7a6065dafbd695d943b95d64efff1c99
This commit is contained in:
parent
a0ed2ca71b
commit
d0537c7506
2
auth.h
2
auth.h
@ -52,7 +52,7 @@ void cli_pubkeyfail();
|
|||||||
void cli_auth_password();
|
void cli_auth_password();
|
||||||
int cli_auth_pubkey();
|
int cli_auth_pubkey();
|
||||||
void cli_auth_interactive();
|
void cli_auth_interactive();
|
||||||
char* getpass_or_cancel();
|
char* getpass_or_cancel(char* prompt);
|
||||||
|
|
||||||
|
|
||||||
#define MAX_USERNAME_LEN 25 /* arbitrary for the moment */
|
#define MAX_USERNAME_LEN 25 /* arbitrary for the moment */
|
||||||
|
@ -281,11 +281,11 @@ void cli_auth_try() {
|
|||||||
|
|
||||||
/* A helper for getpass() that exits if the user cancels. The returned
|
/* A helper for getpass() that exits if the user cancels. The returned
|
||||||
* password is statically allocated by getpass() */
|
* password is statically allocated by getpass() */
|
||||||
char* getpass_or_cancel()
|
char* getpass_or_cancel(char* prompt)
|
||||||
{
|
{
|
||||||
char* password = NULL;
|
char* password = NULL;
|
||||||
|
|
||||||
password = getpass("Password: ");
|
password = getpass(prompt);
|
||||||
|
|
||||||
/* 0x03 is a ctrl-c character in the buffer. */
|
/* 0x03 is a ctrl-c character in the buffer. */
|
||||||
if (password == NULL || strchr(password, '\3') != NULL) {
|
if (password == NULL || strchr(password, '\3') != NULL) {
|
||||||
|
@ -116,16 +116,19 @@ static char *gui_getpass(const char *prompt) {
|
|||||||
void cli_auth_password() {
|
void cli_auth_password() {
|
||||||
|
|
||||||
char* password = NULL;
|
char* password = NULL;
|
||||||
|
char prompt[80];
|
||||||
|
|
||||||
TRACE(("enter cli_auth_password"))
|
TRACE(("enter cli_auth_password"))
|
||||||
CHECKCLEARTOWRITE();
|
CHECKCLEARTOWRITE();
|
||||||
|
|
||||||
|
snprintf(prompt, sizeof(prompt), "%s@%s's password: ",
|
||||||
|
cli_opts.username, cli_opts.remotehost);
|
||||||
#ifdef ENABLE_CLI_ASKPASS_HELPER
|
#ifdef ENABLE_CLI_ASKPASS_HELPER
|
||||||
if (want_askpass())
|
if (want_askpass())
|
||||||
password = gui_getpass("Password: ");
|
password = gui_getpass(prompt);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
password = getpass_or_cancel("Password: ");
|
password = getpass_or_cancel(prompt);
|
||||||
|
|
||||||
buf_putbyte(ses.writepayload, SSH_MSG_USERAUTH_REQUEST);
|
buf_putbyte(ses.writepayload, SSH_MSG_USERAUTH_REQUEST);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user