mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-11-03 22:13:11 +03:00 
			
		
		
		
	Neither libssh2_userauth_password_ex() nor libssh2_userauth_keyboard_interactive_ex() would return a login failure error if the server responded with a SSH_MSG_USERAUTH_FAILURE, instead you would see whatever previous error had occurred, typically LIBSSH2_ERROR_EAGAIN. This patch changes error code -18 to LIBSSH2_ERROR_AUTHENTICATION_FAILED and makes LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED an alias for LIBSSH2_ERROR_AUTHENTICATION_FAILED. In addition, new logic in userauth_password() properly handles SSH_MSG_USERAUTH_FAILURE and both this function and userauth_keyboard_interactive() now properly return LIBSSH2_ERROR_AUTHENTICATION_FAILED.
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Id: libssh2_userauth_password_ex.3,v 1.2 2009/03/17 10:34:27 bagder Exp $
 | 
						|
.\"
 | 
						|
.TH libssh2_userauth_password_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
 | 
						|
.SH NAME
 | 
						|
libssh2_userauth_password_ex - authenticate a session with username and password
 | 
						|
.SH SYNOPSIS
 | 
						|
#include <libssh2.h>
 | 
						|
 | 
						|
int
 | 
						|
libssh2_userauth_password_ex(LIBSSH2_SESSION *session, const char *username, unsigned int username_len, const char *password, unsigned int password_len, LIBSSH2_PASSWD_CHANGEREQ_FUNC((*passwd_change_cb)));
 | 
						|
 | 
						|
int
 | 
						|
libssh2_userauth_password(LIBSSH2_SESSION *session, const char *username, const char *password);
 | 
						|
 | 
						|
.SH DESCRIPTION
 | 
						|
\fIsession\fP - Session instance as returned by 
 | 
						|
.BR libssh2_session_init_ex(3)
 | 
						|
 | 
						|
\fIusername\fP - Name of user to attempt plain password authentication for.
 | 
						|
 | 
						|
\fIusername_len\fP - Length of username parameter.
 | 
						|
 | 
						|
\fIpassword\fP - Password to use for authenticating username.
 | 
						|
 | 
						|
\fIpassword_len\fP - Length of password parameter.
 | 
						|
 | 
						|
\fIpasswd_change_cb\fP - If the host accepts authentication but 
 | 
						|
requests that the password be changed, this callback will be issued. 
 | 
						|
If no callback is defined, but server required password change, 
 | 
						|
authentication will fail.
 | 
						|
 | 
						|
Attempt basic password authentication. Note that many SSH servers 
 | 
						|
which appear to support ordinary password authentication actually have 
 | 
						|
it disabled and use Keyboard Interactive authentication (routed via 
 | 
						|
PAM or another authentication backed) instead.
 | 
						|
 | 
						|
.SH RETURN VALUE
 | 
						|
Return 0 on success or negative on failure.  It returns
 | 
						|
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
 | 
						|
LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.
 | 
						|
 | 
						|
.SH ERRORS
 | 
						|
\fILIBSSH2_ERROR_ALLOC\fP -  An internal memory allocation call failed.
 | 
						|
 | 
						|
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
 | 
						|
 | 
						|
\fILIBSSH2_ERROR_PASSWORD_EXPIRED\fP - 
 | 
						|
 | 
						|
\fLIBSSH2_ERROR_AUTHENTICATION_FAILED\fP -  failed, invalid username/password or public/private key.
 | 
						|
 | 
						|
.SH SEE ALSO
 | 
						|
.BR libssh2_session_init_ex(3)
 |