#include <stdio.h>
#include <libssh/libssh.h>

int main(int argc, char **argv) {
  // usage: gssapitest.exe host username
  char *host = argv[1];
  char *username = argv[2];

  printf("host = %s\n", host);
  printf("username = %s\n", username);

  ssh_session session = ssh_new();
  ssh_options_set(session, SSH_OPTIONS_HOST, host);
  ssh_options_set(session, SSH_OPTIONS_USER, username);
    
  int ssh_result = ssh_connect(session);
  if (ssh_result == SSH_ERROR) {
    fprintf(stderr, "failed to connect\n");
    return 1;
  }

  ssh_set_log_level(SSH_LOG_FUNCTIONS);

  ssh_result = ssh_userauth_gssapi(session);
  if (ssh_result == SSH_ERROR) {
    fprintf(stderr, "gssapi auth failed\n");
    return 1;
  }

  ssh_disconnect(session);
  ssh_free(session);
  return 0;
}
