From 43e84e246cc716ac51a276945b5b112b21d802d1 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Fri, 24 Feb 2023 16:47:39 +0000 Subject: tests: validate host and port for ssh tests when non-standard --- tests/libgit2/online/clone.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/libgit2/online/clone.c b/tests/libgit2/online/clone.c index 1a4cdb520..bb704c066 100644 --- a/tests/libgit2/online/clone.c +++ b/tests/libgit2/online/clone.c @@ -787,10 +787,19 @@ static int ssh_certificate_check(git_cert *cert, int valid, const char *host, vo { git_cert_hostkey *key; git_oid expected = GIT_OID_SHA1_ZERO, actual = GIT_OID_SHA1_ZERO; + git_str expected_host = GIT_STR_INIT; + git_net_url parsed_url = GIT_NET_URL_INIT; GIT_UNUSED(valid); GIT_UNUSED(payload); + cl_git_pass(git_net_url_parse_standard_or_scp(&parsed_url, _remote_url)); + cl_git_pass(git_str_printf(&expected_host, "%s%s%s", + parsed_url.host, + git_net_url_is_default_port(&parsed_url) ? "" : ":", + git_net_url_is_default_port(&parsed_url) ? "" : parsed_url.port)); + cl_assert_equal_s(expected_host.ptr, host); + cl_assert(_remote_ssh_fingerprint); cl_git_pass(git_oid__fromstrp(&expected, _remote_ssh_fingerprint, GIT_OID_SHA1)); @@ -812,7 +821,8 @@ static int ssh_certificate_check(git_cert *cert, int valid, const char *host, vo cl_assert(!memcmp(&expected, &actual, 20)); - cl_assert_equal_s("localhost", host); + git_net_url_dispose(&parsed_url); + git_str_dispose(&expected_host); return GIT_EUSER; } -- cgit v1.2.1