geom_gate userland utility improvements
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

38 lines
1019 B

  1. #include "session_fixture.h"
  2. #include <libssh2.h>
  3. #include <stdio.h>
  4. static const char *USERNAME = "libssh2"; /* set in Dockerfile */
  5. static const char *KEY_FILE_PRIVATE = "key_ed25519";
  6. static const char *KEY_FILE_PUBLIC = "key_ed25519.pub"; /* set in Dockerfile */
  7. int test(LIBSSH2_SESSION *session)
  8. {
  9. int rc;
  10. const char *userauth_list = NULL;
  11. userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME));
  12. if(userauth_list == NULL) {
  13. print_last_session_error("libssh2_userauth_list");
  14. return 1;
  15. }
  16. if(strstr(userauth_list, "publickey") == NULL) {
  17. fprintf(stderr, "'publickey' was expected in userauth list: %s\n",
  18. userauth_list);
  19. return 1;
  20. }
  21. rc = libssh2_userauth_publickey_fromfile_ex(
  22. session, USERNAME, strlen(USERNAME), KEY_FILE_PUBLIC, KEY_FILE_PRIVATE,
  23. NULL);
  24. if(rc != 0) {
  25. print_last_session_error("libssh2_userauth_publickey_fromfile_ex");
  26. return 1;
  27. }
  28. return 0;
  29. }