CURLOPT_SSH_HOSTKEYDATA/FUNCTION.3: minor polish

This commit is contained in:
Daniel Stenberg 2022-06-02 09:30:52 +02:00
parent 1544513958
commit 665138b2dd
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
2 changed files with 28 additions and 23 deletions

View file

@ -38,10 +38,10 @@ NULL
SCP and SFTP
.SH EXAMPLE
.nf
int sshhostkeycallback(void *clientp,/* custom pointer passed with CURLOPT_SSH_HOSTKEYDATA */
int keytype, /* CURLKHTYPE */
const char * key, /*hostkey to check*/
size_t keylen); /*length of the key*/
int hostkeycb(void *clientp, /* passed with CURLOPT_SSH_HOSTKEYDATA */
int keytype, /* CURLKHTYPE */
const char * key, /*hostkey to check*/
size_t keylen); /*length of the key*/
{
/* 'clientp' points to the callback_data struct */
/* investigate the situation and return the correct value */
@ -49,14 +49,14 @@ int sshhostkeycallback(void *clientp,/* custom pointer passed with CURLOPT_SSH_H
}
{
curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/thisfile.txt");
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYFUNCTION, sshhostkeycallback);
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYFUNCTION, hostkeycb);
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYDATA, &callback_data);
curl_easy_perform(curl);
}
.fi
.SH AVAILABILITY
Added in 7.84.0 , work only with libssh2 backend.
Added in 7.84.0, works only with libssh2 backend.
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"

View file

@ -22,29 +22,33 @@
.\"
.TH CURLOPT_SSH_HOSTKEYFUNCTION 3 "4 Nov 2021" "libcurl 7.84.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_HOSTKEYFUNCTION \- callback to check hostkey (to overwrite the functionality known_host file)
CURLOPT_SSH_HOSTKEYFUNCTION \- callback to check hostkey
.SH SYNOPSIS
.nf
#include <curl/curl.h>
int sshhostkeycallback(void *clientp,/* custom pointer passed with CURLOPT_SSH_HOSTKEYDATA */
int keytype, /* CURLKHTYPE */
const char * key, /*hostkey to check*/
size_t keylen); /*length of the key*/
int keycallback(void *clientp,
int keytype,
const char *key,
size_t keylen);
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_HOSTKEYFUNCTION,
sshhostkeycallback);
keycallback);
.fi
.SH DESCRIPTION
Pass a pointer to your callback function, which should match the prototype
shown above. It overrides CURLOPT_SSH_KNOWNHOSTS.
shown above. It overrides \fICURLOPT_SSH_KNOWNHOSTS(3)\fP.
It gets called when the verification of the hostkey is needed.
This callback gets called when the verification of the SSH hostkey is needed.
This callback function gets passed a custom pointer (set with
\fICURLOPT_SSH_HOSTKEYDATA(3)\fP, the libcurl keytype, the hostkey,
the length of the key.
It MUST return one of the following return codes to tell libcurl how to act:
\fBkey\fP is \fBkeylen\fP bytes long and is the key to check. \fBkeytype\fP
says what type it is, from the \fBCURLKHTYPE_*\fP series in the curl_khtype
enum.
\fBclientp\fP is a custom pointer set with \fICURLOPT_SSH_HOSTKEYDATA(3)\fP.
The callback MUST return one of the following return codes to tell libcurl how
to act:
.IP CURLKHMATCH_OK
The hostkey is accepted, the connexion should continue.
.IP CURLKHMATCH_MISMATCH
@ -55,10 +59,10 @@ NULL
SCP and SFTP
.SH EXAMPLE
.nf
int sshhostkeycallback(void *clientp,/* custom pointer passed with CURLOPT_SSH_HOSTKEYDATA */
int keytype, /* CURLKHTYPE */
const char * key, /*hostkey to check*/
size_t keylen); /*length of the key*/
int hostkeycb(void *clientp, /* passed with CURLOPT_SSH_HOSTKEYDATA */
int keytype, /* CURLKHTYPE */
const char * key, /*hostkey to check*/
size_t keylen); /*length of the key*/
{
/* 'clientp' points to the callback_data struct */
/* investigate the situation and return the correct value */
@ -66,7 +70,7 @@ int sshhostkeycallback(void *clientp,/* custom pointer passed with CURLOPT_SSH_H
}
{
curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/thisfile.txt");
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYFUNCTION, sshhostkeycallback);
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYFUNCTION, hostkeycb);
curl_easy_setopt(curl, CURLOPT_SSH_HOSTKEYDATA, &callback_data);
curl_easy_perform(curl);
@ -78,3 +82,4 @@ Added in 7.84.0 , work only with libssh2 backend.
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
.BR CURLOPT_SSH_HOSTKEYDATA "(3), "
.BR CURLOPT_SSH_KNOWNHOSTS "(3), "