diff options
Diffstat (limited to 'tests/ssh_ping.c')
-rw-r--r-- | tests/ssh_ping.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/ssh_ping.c b/tests/ssh_ping.c index c3fc1f9a..bdb3cea0 100644 --- a/tests/ssh_ping.c +++ b/tests/ssh_ping.c @@ -14,15 +14,19 @@ The goal is to show the API in action. It's not a reference on how terminal clients must be made or how a client should react. */ +#include "config.h" + #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <libssh/libssh.h> +#include <libssh/kex.h> int main(int argc, char **argv) { const char *banner = NULL; ssh_session session = NULL; + const char *hostkeys = NULL; int rc = 1; bool process_config = false; @@ -32,6 +36,8 @@ int main(int argc, char **argv) goto out; } + ssh_init(); + session = ssh_new(); if (session == NULL) { goto out; @@ -54,6 +60,13 @@ int main(int argc, char **argv) goto out; } + /* Enable all supported algorithms (including DSA) */ + hostkeys = ssh_kex_get_supported_method(SSH_HOSTKEYS); + rc = ssh_options_set(session, SSH_OPTIONS_HOSTKEYS, hostkeys); + if (rc < 0) { + goto out; + } + rc = ssh_connect(session); if (rc != SSH_OK) { fprintf(stderr, "Connection failed : %s\n", ssh_get_error(session)); @@ -71,6 +84,7 @@ int main(int argc, char **argv) out: ssh_free(session); + ssh_finalize(); return rc; } |