diff options
author | Jakub Jelen <jjelen@redhat.com> | 2020-04-14 14:39:19 +0200 |
---|---|---|
committer | Jakub Jelen <jjelen@redhat.com> | 2020-04-20 14:14:33 +0200 |
commit | bab2c775da62663163c51d0aa21c7ed25345905a (patch) | |
tree | a618e1d3fff92ce1cb22a2d29626fe052b1f6944 | |
parent | 945829a5dd3d6d0a21d76cf67fc2998896af7f99 (diff) | |
download | libssh-bab2c775da62663163c51d0aa21c7ed25345905a.tar.gz libssh-bab2c775da62663163c51d0aa21c7ed25345905a.tar.xz libssh-bab2c775da62663163c51d0aa21c7ed25345905a.zip |
Make the testing ping use all supported algorithms
Previously, it would use only the default set, which makes some tests failing
including the DSA ones and disabled RSA with SHA1.
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
-rw-r--r-- | tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/ssh_ping.c | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b8a1421d..31a16a39 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -181,7 +181,7 @@ if (CLIENT_TESTING OR SERVER_TESTING) # ssh_ping add_executable(ssh_ping ssh_ping.c) target_compile_options(ssh_ping PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(ssh_ping ssh::ssh) + target_link_libraries(ssh_ping ssh::static) # homedir will be used in passwd set(HOMEDIR ${CMAKE_CURRENT_BINARY_DIR}/home) 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; } |