From: Daniel Stenberg Date: Sat, 7 Jan 2023 14:49:03 +0000 (+0100) Subject: setopt: move the SHA256 opt within #ifdef libssh2 X-Git-Tag: curl-7_88_0~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b45b6b618dd0b6a22de864125331370dc912aa9e;p=thirdparty%2Fcurl.git setopt: move the SHA256 opt within #ifdef libssh2 Because only the libssh2 backend not supports it and thus this should return error if this option is used other backends. Reported-by: Harry Sintonen Closes #10255 --- diff --git a/docs/cmdline-opts/hostpubsha256.d b/docs/cmdline-opts/hostpubsha256.d index 22b31e0c9e..ba33318f9c 100644 --- a/docs/cmdline-opts/hostpubsha256.d +++ b/docs/cmdline-opts/hostpubsha256.d @@ -13,3 +13,6 @@ Multi: single Pass a string containing a Base64-encoded SHA256 hash of the remote host's public key. Curl will refuse the connection with the host unless the hashes match. + +This feature requires libcurl to be built with libssh2 and does not work with +other SSH backends. diff --git a/lib/setopt.c b/lib/setopt.c index a9f3c19770..b897af1009 100644 --- a/lib/setopt.c +++ b/lib/setopt.c @@ -2531,6 +2531,14 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param) va_arg(param, char *)); break; + case CURLOPT_SSH_KNOWNHOSTS: + /* + * Store the file name to read known hosts from. + */ + result = Curl_setstropt(&data->set.str[STRING_SSH_KNOWNHOSTS], + va_arg(param, char *)); + break; +#ifdef USE_LIBSSH2 case CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256: /* * Option to allow for the SHA256 of the host public key to be checked @@ -2540,14 +2548,6 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param) va_arg(param, char *)); break; - case CURLOPT_SSH_KNOWNHOSTS: - /* - * Store the file name to read known hosts from. - */ - result = Curl_setstropt(&data->set.str[STRING_SSH_KNOWNHOSTS], - va_arg(param, char *)); - break; -#ifdef USE_LIBSSH2 case CURLOPT_SSH_HOSTKEYFUNCTION: /* the callback to check the hostkey without the knownhost file */ data->set.ssh_hostkeyfunc = va_arg(param, curl_sshhostkeycallback);