diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 5376f02c..406d3d9c 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -317,6 +317,7 @@ int buffer_get_len(BUFFER *buffer); /* in auth.c */ +int ssh_auth_list(SSH_SESSION *session); /* these functions returns AUTH_ERROR is some serious error has happened, AUTH_SUCCESS if success, AUTH_PARTIAL if partial success, @@ -331,7 +332,7 @@ int ssh_userauth_kbdint(SSH_SESSION *session, const char *user, const char *subm int ssh_userauth_kbdint_getnprompts(SSH_SESSION *session); char *ssh_userauth_kbdint_getname(SSH_SESSION *session); char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session); -char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, int i, char *echo); +char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, char *echo); void ssh_userauth_kbdint_setanswer(SSH_SESSION *session, unsigned int i, const char *answer); diff --git a/libssh/auth.c b/libssh/auth.c index c2fc29f8..2c072adf 100644 --- a/libssh/auth.c +++ b/libssh/auth.c @@ -54,7 +54,6 @@ static int wait_auth_status(SSH_SESSION *session,int kbdint){ int cont=1; STRING *auth; u8 partial=0; - int todo = 0; char *auth_methods = NULL; enter_function(); while(cont){ @@ -823,9 +822,9 @@ char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session){ * \returns pointer to the prompt. Do not free it */ -char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, int i, +char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, char *echo){ - if(i > session->kbdint->nprompts || i<0) + if(i > session->kbdint->nprompts) return NULL; if(echo) *echo=session->kbdint->echo[i];