diff --git a/src/internal.c b/src/internal.c index d0cd4623..e1a042e4 100644 --- a/src/internal.c +++ b/src/internal.c @@ -7913,12 +7913,7 @@ static int DoUserAuthSuccess(WOLFSSH* ssh, return ret; } -#ifdef WOLFSSH_KEYBOARD_INTERACTIVE - if (ssh->serverState == SERVER_USERAUTH_ACCEPT_KEYBOARD) - ssh->serverState = SERVER_USERAUTH_ACCEPT_KEYBOARD_DONE; - else -#endif - ssh->serverState = SERVER_USERAUTH_ACCEPT_DONE; + ssh->serverState = SERVER_USERAUTH_ACCEPT_DONE; WLOG(WS_LOG_DEBUG, "Leaving DoUserAuthSuccess(), ret = %d", ret); return ret; @@ -7971,7 +7966,6 @@ static int DoUserAuthInfoRequest(WOLFSSH* ssh, byte* buf, word32 len, if (ssh == NULL || buf == NULL || len == 0 || idx == NULL) ret = WS_BAD_ARGUMENT; - if (ret == WS_SUCCESS) { begin = *idx; ret = GetStringAlloc(ssh->ctx->heap, (char**)&authName, buf, len, @@ -8046,8 +8040,9 @@ static int DoUserAuthInfoRequest(WOLFSSH* ssh, byte* buf, word32 len, WFREE(language, ssh->ctx->heap, DYNTYPE_STRING); } - if (ret == WS_SUCCESS) - ssh->serverState = SERVER_USERAUTH_ACCEPT_KEYBOARD; + if (ret == WS_SUCCESS) { + ret = SendUserAuthKeyboardResponse(ssh); + } WLOG(WS_LOG_DEBUG, "Leaving DoUserAuthInfoRequest(), ret = %d", ret); diff --git a/src/ssh.c b/src/ssh.c index 64207fca..d04d2ab7 100644 --- a/src/ssh.c +++ b/src/ssh.c @@ -890,30 +890,6 @@ int wolfSSH_connect(WOLFSSH* ssh) return WS_FATAL_ERROR; } } - -#ifdef WOLFSSH_KEYBOARD_INTERACTIVE - while (ssh->serverState == SERVER_USERAUTH_ACCEPT_KEYBOARD) { - if ( (ssh->error = SendUserAuthKeyboardResponse(ssh)) < - WS_SUCCESS) { - WLOG(WS_LOG_DEBUG, connectError, "CLIENT_USERAUTH_SENT", - ssh->error); - return WS_FATAL_ERROR; - } - ssh->serverState = SERVER_USERAUTH_ACCEPT_KEYBOARD_NEXT; - while ( - (ssh->serverState < SERVER_USERAUTH_ACCEPT_KEYBOARD_DONE) && - (ssh->serverState != SERVER_USERAUTH_ACCEPT_KEYBOARD) && - (ssh->serverState != SERVER_USERAUTH_ACCEPT_DONE)) { - - if (DoReceive(ssh) < WS_SUCCESS) { - WLOG(WS_LOG_DEBUG, connectError, - "CLIENT_USERAUTH_SENT", ssh->error); - return WS_FATAL_ERROR; - } - } - } -#endif - ssh->connectState = CONNECT_SERVER_USERAUTH_ACCEPT_DONE; WLOG(WS_LOG_DEBUG, connectState, "SERVER_USERAUTH_ACCEPT_DONE"); NO_BREAK; diff --git a/wolfssh/internal.h b/wolfssh/internal.h index cf8516a5..1b60139a 100644 --- a/wolfssh/internal.h +++ b/wolfssh/internal.h @@ -1164,11 +1164,6 @@ enum ServerStates { SERVER_KEXINIT_DONE, SERVER_USERAUTH_REQUEST_DONE, SERVER_USERAUTH_ACCEPT_DONE, -#ifdef WOLFSSH_KEYBOARD_INTERACTIVE - SERVER_USERAUTH_ACCEPT_KEYBOARD, - SERVER_USERAUTH_ACCEPT_KEYBOARD_NEXT, - SERVER_USERAUTH_ACCEPT_KEYBOARD_DONE, -#endif SERVER_CHANNEL_OPEN_DONE, SERVER_DONE };