mirror of
https://github.com/libssh2/libssh2.git
synced 2025-10-26 02:17:35 +03:00
To render in Git webviews as-is, to make it easier to edit, verify,
and to sync up with curl.
- add options to not build the `.3` man pages:
- autotools: `--disable-docs`
- cmake: `LIBSSH2_BUILD_DOCS=OFF`
- building `.3` man pages requires Perl after this patch.
- drop `mansyntax` and the shell / `grep` / GNU `man` tool requirements with it.
- scripts and most logic were copied from curl.
- add `cd2nroff` from curl, with edits to relax curl-specific checks.
- used `nroff2cd` (from curl) to convert from `.3` to `.md`. Then
manually fixed copyrights, inline function references and a couple
of other things.
Credits-to: Daniel Stenberg
Ref: eefcc1bda4
Ref: https://github.com/curl/curl/pull/12730
Ref: https://github.com/libssh2/www/issues/25#issuecomment-3289431671
Closes #1660
82 lines
2.4 KiB
Markdown
82 lines
2.4 KiB
Markdown
---
|
|
c: Copyright (C) Daniel Stenberg
|
|
SPDX-License-Identifier: BSD-3-Clause
|
|
Title: libssh2_knownhost_add
|
|
Section: 3
|
|
Source: libssh2
|
|
See-also:
|
|
- libssh2_knownhost_addc(3)
|
|
- libssh2_knownhost_check(3)
|
|
- libssh2_knownhost_free(3)
|
|
- libssh2_knownhost_init(3)
|
|
---
|
|
|
|
# NAME
|
|
|
|
libssh2_knownhost_add - add a known host
|
|
|
|
# SYNOPSIS
|
|
|
|
~~~c
|
|
#include <libssh2.h>
|
|
|
|
int
|
|
libssh2_knownhost_add(LIBSSH2_KNOWNHOSTS *hosts,
|
|
char *host, char *salt,
|
|
char *key, size_t keylen,
|
|
int typemask,
|
|
struct libssh2_knownhost **store);
|
|
~~~
|
|
|
|
# DESCRIPTION
|
|
|
|
We discourage use of this function as of libssh2 1.2.5. Instead we strongly
|
|
urge users to use *libssh2_knownhost_addc(3)* instead, which as a more
|
|
complete API. *libssh2_knownhost_add(3)* is subject for removal in a
|
|
future release.
|
|
|
|
Adds a known host to the collection of known hosts identified by the 'hosts'
|
|
handle.
|
|
|
|
*host* is a pointer the host name in plain text or hashed. If hashed, it
|
|
must be provided base64 encoded. The host name can be the IP numerical address
|
|
of the host or the full name.
|
|
|
|
*saltP is a pointer to the salt used for the host hashing, if the host is
|
|
provided hashed. If the host is provided in plain text, salt has no meaning.
|
|
The salt has to be provided base64 encoded with a trailing zero byte.
|
|
|
|
*key* is a pointer to the key for the given host.
|
|
|
|
*keylen* is the total size in bytes of the key pointed to by the *key*
|
|
argument
|
|
|
|
*typemask* is a bitmask that specifies format and info about the data
|
|
passed to this function. Specifically, it details what format the host name is,
|
|
what format the key is and what key type it is.
|
|
|
|
The host name is given as one of the following types:
|
|
LIBSSH2_KNOWNHOST_TYPE_PLAIN, LIBSSH2_KNOWNHOST_TYPE_SHA1 or
|
|
LIBSSH2_KNOWNHOST_TYPE_CUSTOM.
|
|
|
|
The key is encoded using one of the following encodings:
|
|
LIBSSH2_KNOWNHOST_KEYENC_RAW or LIBSSH2_KNOWNHOST_KEYENC_BASE64.
|
|
|
|
The key is using one of these algorithms:
|
|
LIBSSH2_KNOWNHOST_KEY_RSA1, LIBSSH2_KNOWNHOST_KEY_SSHRSA or
|
|
LIBSSH2_KNOWNHOST_KEY_SSHDSS (deprecated).
|
|
|
|
*store* should point to a pointer that gets filled in to point to the
|
|
known host data after the addition. NULL can be passed if you do not care about
|
|
this pointer.
|
|
|
|
# RETURN VALUE
|
|
|
|
Returns a regular libssh2 error code, where negative values are error codes
|
|
and 0 indicates success.
|
|
|
|
# AVAILABILITY
|
|
|
|
Added in libssh2 1.2, deprecated since libssh2 1.2.5. Use
|
|
*libssh2_knownhost_addc(3)* instead!
|