From 8e42ed82201f4c42dcbc0726a2304d8ab69179dc Mon Sep 17 00:00:00 2001 From: Anderson Toshiyuki Sasaki Date: Thu, 27 Jun 2019 19:55:29 +0200 Subject: [PATCH] tests: Added a check for unaccessible global known_hosts Verify that the check process will not fail if the global known_hosts file is not accessible and the local known_hosts file contain the host. Signed-off-by: Anderson Toshiyuki Sasaki Reviewed-by: Andreas Schneider --- tests/unittests/torture_knownhosts_parsing.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/unittests/torture_knownhosts_parsing.c b/tests/unittests/torture_knownhosts_parsing.c index c80bdbca..ac8d7f31 100644 --- a/tests/unittests/torture_knownhosts_parsing.c +++ b/tests/unittests/torture_knownhosts_parsing.c @@ -381,6 +381,7 @@ static void torture_knownhosts_host_exists(void **state) ssh_options_set(session, SSH_OPTIONS_HOST, "localhost"); ssh_options_set(session, SSH_OPTIONS_KNOWNHOSTS, knownhosts_file); + /* This makes sure the system's known_hosts are not used */ ssh_options_set(session, SSH_OPTIONS_GLOBAL_KNOWNHOSTS, "/dev/null"); @@ -388,6 +389,14 @@ static void torture_knownhosts_host_exists(void **state) assert_int_equal(found, SSH_KNOWN_HOSTS_OK); assert_true(found == SSH_KNOWN_HOSTS_OK); + /* This makes sure the check will not fail when the system's known_hosts is + * not accessible*/ + ssh_options_set(session, SSH_OPTIONS_GLOBAL_KNOWNHOSTS, "./unaccessible"); + + found = ssh_session_has_known_hosts_entry(session); + assert_int_equal(found, SSH_KNOWN_HOSTS_OK); + assert_true(found == SSH_KNOWN_HOSTS_OK); + ssh_options_set(session, SSH_OPTIONS_HOST, "wurstbrot"); found = ssh_session_has_known_hosts_entry(session); assert_true(found == SSH_KNOWN_HOSTS_UNKNOWN);