mirror of
https://github.com/clearml/dropbear
synced 2025-01-31 02:46:58 +00:00
e1491b8ec6
fix password auth for the server --HG-- extra : convert_revision : 234eb604aabaef9ed0dd496ff8db8ecc212ca18c
38 lines
868 B
C
38 lines
868 B
C
#include "includes.h"
|
|
#include "buffer.h"
|
|
#include "dbutil.h"
|
|
#include "session.h"
|
|
#include "ssh.h"
|
|
#include "runopts.h"
|
|
|
|
int cli_auth_password() {
|
|
|
|
char* password = NULL;
|
|
TRACE(("enter cli_auth_password"));
|
|
|
|
CHECKCLEARTOWRITE();
|
|
password = getpass("Password: ");
|
|
|
|
buf_putbyte(ses.writepayload, SSH_MSG_USERAUTH_REQUEST);
|
|
|
|
buf_putstring(ses.writepayload, cli_opts.username,
|
|
strlen(cli_opts.username));
|
|
|
|
buf_putstring(ses.writepayload, SSH_SERVICE_CONNECTION,
|
|
SSH_SERVICE_CONNECTION_LEN);
|
|
|
|
buf_putstring(ses.writepayload, AUTH_METHOD_PASSWORD,
|
|
AUTH_METHOD_PASSWORD_LEN);
|
|
|
|
buf_putbyte(ses.writepayload, 0); /* FALSE - so says the spec */
|
|
|
|
buf_putstring(ses.writepayload, password, strlen(password));
|
|
|
|
encrypt_packet();
|
|
m_burn(password, strlen(password));
|
|
|
|
TRACE(("leave cli_auth_password"));
|
|
return 1; /* Password auth can always be tried */
|
|
|
|
}
|