auth: Update ssh_userauth_list().

This commit is contained in:
Andreas Schneider
2011-08-23 16:27:03 +02:00
parent 2e577cecb4
commit 5695f92e22

View File

@@ -298,30 +298,40 @@ static int wait_auth_status(ssh_session session) {
} }
/** /**
* @brief retrieves available authentication methods for this session * @brief Get available authentication methods from the server.
* @param[in] session the SSH session *
* @param[in] username Deprecated, set to NULL. * This requires the function ssh_userauth_none() to be called before the
* @returns A bitfield of values SSH_AUTH_METHOD_PASSWORD, * methods are available. The server MAY return a list of methods that may
SSH_AUTH_METHOD_PUBLICKEY, SSH_AUTH_METHOD_HOSTBASED, * continue.
SSH_AUTH_METHOD_INTERACTIVE. *
@warning Other reserved flags may appear in future versions. * @param[in] session The SSH session.
@warning This call will block, even in nonblocking mode, if run for the first *
time before a (complete) call to ssh_userauth_none. * @param[in] username Deprecated, set to NULL.
*
* @returns A bitfield of the fllowing values:
* - SSH_AUTH_METHOD_PASSWORD
* - SSH_AUTH_METHOD_PUBLICKEY
* - SSH_AUTH_METHOD_HOSTBASED
* - SSH_AUTH_METHOD_INTERACTIVE
*
* @warning Other reserved flags may appear in future versions.
* @see ssh_userauth_none()
*/ */
int ssh_userauth_list(ssh_session session, const char *username) { int ssh_userauth_list(ssh_session session, const char *username)
if (session == NULL) { {
return SSH_AUTH_ERROR; (void) username; /* unused */
}
if (session == NULL) {
return 0;
}
#ifdef WITH_SSH1 #ifdef WITH_SSH1
if(session->version==1){ if(session->version == 1) {
return SSH_AUTH_METHOD_PASSWORD; return SSH_AUTH_METHOD_PASSWORD;
} }
#endif #endif
if (session->auth_methods == 0) {
ssh_userauth_none(session, username); return session->auth_methods;
}
return session->auth_methods;
} }
/* use the "none" authentication question */ /* use the "none" authentication question */