mirror of
https://github.com/clearml/dropbear
synced 2025-01-31 02:46:58 +00:00
Fix empty password immediate login
This commit is contained in:
parent
2713445e91
commit
6b4105ffe6
@ -179,8 +179,7 @@ much traffic. */
|
||||
|
||||
/* Define this to allow logging in to accounts that have no password specified.
|
||||
* Public key logins are allowed for blank-password accounts regardless of this
|
||||
* setting. PAM is not affected by this setting, it uses the normal pam.d
|
||||
* settings ('nullok' option) */
|
||||
* setting. */
|
||||
/* #define ALLOW_BLANK_PASSWORD */
|
||||
|
||||
#define ENABLE_CLI_PASSWORD_AUTH
|
||||
|
@ -155,9 +155,10 @@ void recv_msg_userauth_request() {
|
||||
AUTH_METHOD_NONE_LEN) == 0) {
|
||||
TRACE(("recv_msg_userauth_request: 'none' request"))
|
||||
#ifdef ALLOW_BLANK_PASSWORD
|
||||
TRACE(("pw_passwd '%s'", ses.authstate.pw_passwd))
|
||||
if (!svr_opts.noauthpass
|
||||
&& !(svr_opts.norootpass && ses.authstate.pw_uid == 0)
|
||||
&& ses.authstate.pw_passwd == '\0')
|
||||
&& ses.authstate.pw_passwd[0] == '\0')
|
||||
{
|
||||
dropbear_log(LOG_NOTICE,
|
||||
"Auth succeeded with blank password for '%s' from %s",
|
||||
|
@ -39,7 +39,6 @@ void svr_auth_password() {
|
||||
char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */
|
||||
char * testcrypt = NULL; /* crypt generated from the user's password sent */
|
||||
unsigned char * password;
|
||||
int success_blank = 0;
|
||||
unsigned int passwordlen;
|
||||
|
||||
unsigned int changepw;
|
||||
@ -68,19 +67,13 @@ void svr_auth_password() {
|
||||
|
||||
/* check for empty password */
|
||||
if (passwdcrypt[0] == '\0') {
|
||||
#ifdef ALLOW_BLANK_PASSWORD
|
||||
if (passwordlen == 0) {
|
||||
success_blank = 1;
|
||||
}
|
||||
#else
|
||||
dropbear_log(LOG_WARNING, "User '%s' has blank password, rejected",
|
||||
ses.authstate.pw_name);
|
||||
send_msg_userauth_failure(0, 1);
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (success_blank || strcmp(testcrypt, passwdcrypt) == 0) {
|
||||
if (strcmp(testcrypt, passwdcrypt) == 0) {
|
||||
/* successful authentication */
|
||||
dropbear_log(LOG_NOTICE,
|
||||
"Password auth succeeded for '%s' from %s",
|
||||
|
Loading…
Reference in New Issue
Block a user