aboutsummaryrefslogtreecommitdiff
path: root/libssh/auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/auth.c')
-rw-r--r--libssh/auth.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/libssh/auth.c b/libssh/auth.c
index 6045c12..dfc7b0f 100644
--- a/libssh/auth.c
+++ b/libssh/auth.c
@@ -248,28 +248,38 @@ static int wait_auth_status(ssh_session session) {
return rc;
}
+/**
+ * @brief retrieves available authentication methods for this session
+ * @obsolete
+ * @see ssh_userauth_list
+ */
int ssh_auth_list(ssh_session session) {
+ return ssh_userauth_list(session, NULL);
+}
+
+/**
+ * @brief retrieves available authentication methods for this session
+ * @param[in] session the SSH session
+ * @param[in] username set to NULL
+ * @returns A bitfield of values SSH_AUTH_METHOD_NONE, 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.
+ */
+int ssh_userauth_list(ssh_session session, const char *username) {
if (session == NULL) {
- return -1;
+ return SSH_AUTH_ERROR;
}
+
#ifdef WITH_SSH1
if(session->version==1){
return SSH_AUTH_METHOD_PASSWORD;
}
#endif
- return session->auth_methods;
-}
-
-int ssh_userauth_list(ssh_session session, const char *username) {
- if (session == NULL || username == NULL) {
- return SSH_AUTH_ERROR;
- }
-
if (session->auth_methods == 0) {
ssh_userauth_none(session, username);
}
-
- return ssh_auth_list(session);
+ return session->auth_methods;
}
/* use the "none" authentication question */