libssh2: use non-deprecated libssh2_knownhost_addc()

Supported since libssh2 v1.2.5. Replacing `libssh2_knownhost_add()`,
which was deprecated in that same version.

The new API supports a comment field.

Ref: https://github.com/libssh2/libssh2/pull/1977

Closes #21866
This commit is contained in:
Viktor Szakats 2026-06-05 02:35:58 +02:00
parent 56eca2afb4
commit 3c7d136225
No known key found for this signature in database

View file

@ -427,12 +427,13 @@ static CURLcode ssh_knownhost(struct Curl_easy *data,
if(keycheck != LIBSSH2_KNOWNHOST_CHECK_MATCH) {
/* the found host+key did not match but has been told to be fine
anyway so we add it in memory */
int addrc = libssh2_knownhost_add(sshc->kh,
conn->origin->hostname, NULL,
remotekey, keylen,
LIBSSH2_KNOWNHOST_TYPE_PLAIN|
LIBSSH2_KNOWNHOST_KEYENC_RAW|
keybit, NULL);
int addrc = libssh2_knownhost_addc(sshc->kh,
conn->origin->hostname, NULL,
remotekey, keylen,
NULL, 0,
LIBSSH2_KNOWNHOST_TYPE_PLAIN |
LIBSSH2_KNOWNHOST_KEYENC_RAW |
keybit, NULL);
if(addrc)
infof(data, "WARNING: adding the known host %s failed",
conn->origin->hostname);