1 #include "session_fixture.h"
2 
3 #include <libssh2.h>
4 
5 #include <stdio.h>
6 
7 static const char *USERNAME = "libssh2";          /* set in Dockerfile */
8 static const char *PASSWORD = "my test password"; /* set in Dockerfile */
9 
test(LIBSSH2_SESSION * session)10 int test(LIBSSH2_SESSION *session)
11 {
12     int rc;
13 
14     const char *userauth_list =
15         libssh2_userauth_list(session, USERNAME, strlen(USERNAME));
16     if(userauth_list == NULL) {
17         print_last_session_error("libssh2_userauth_list");
18         return 1;
19     }
20 
21     if(strstr(userauth_list, "password") == NULL) {
22         fprintf(stderr, "'password' was expected in userauth list: %s\n",
23                 userauth_list);
24         return 1;
25     }
26 
27     rc = libssh2_userauth_password_ex(session, USERNAME, strlen(USERNAME),
28                                       PASSWORD, strlen(PASSWORD), NULL);
29     if(rc != 0) {
30         print_last_session_error("libssh2_userauth_password_ex");
31         return 1;
32     }
33 
34     if(libssh2_userauth_authenticated(session) == 0) {
35         fprintf(stderr, "Password auth appeared to succeed but "
36                         "libssh2_userauth_authenticated returned 0\n");
37         return 1;
38     }
39 
40     return 0;
41 }
42