初始提交:terminalX 可运行态(M0/M1/M1.5 已真机验证)
- M0: libghostty SSH 终端(渲染/输入/连接)+ 白屏修复(OutputGate) + 会话状态机/自动重连 - M1: tsnet 用户态组网 + SSH-over-tsnet(fd 桥),shell 级真机验证;R5(Go+gvisor+C+++Swift 同进程) retire - M1.5: tmux -CC 原生 tab(MVP) - 结构: packages/(TXCore·TXTransport), apps/TerminalX, vendor/(libghostty-spm/libssh2/mbedtls/tsnet-bridge), artifacts/ - 文档: CLAUDE.md + docs/HANDOFF.md(新会话入口) - 环境: 认证代理→依赖 vendor 本地化;Go 在 ~/.local/go;仅模拟器/未签名 - 待续: M2 mosh, tmux 多 pane, M4 安全(host key/SE) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
4
vendor/libssh2/docs/.gitignore
vendored
Normal file
4
vendor/libssh2/docs/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
Makefile.am.cmake
|
||||
coverage
|
||||
80
vendor/libssh2/docs/AUTHORS
vendored
Normal file
80
vendor/libssh2/docs/AUTHORS
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
libssh2 is the result of many friendly people. This list is an attempt to
|
||||
mention all contributors. If we have missed anyone, tell us!
|
||||
|
||||
This list of names is a-z sorted.
|
||||
|
||||
Adam Gobiowski
|
||||
Alexander Holyapin
|
||||
Alexander Lamaison
|
||||
Alfred Gebert
|
||||
Ben Kibbey
|
||||
Bjorn Stenborg
|
||||
Carlo Bramini
|
||||
Cristian Rodríguez
|
||||
Daiki Ueno
|
||||
Dan Casey
|
||||
Dan Fandrich
|
||||
Daniel Stenberg
|
||||
Dave Hayden
|
||||
Dave McCaldon
|
||||
David J Sullivan
|
||||
David Robins
|
||||
Dmitry Smirnov
|
||||
Douglas Masterson
|
||||
Edink Kadribasic
|
||||
Erik Brossler
|
||||
Francois Dupoux
|
||||
Gellule Xg
|
||||
Grubsky Grigory
|
||||
Guenter Knauf
|
||||
Heiner Steven
|
||||
Henrik Nordstrom
|
||||
James Housleys
|
||||
Jasmeet Bagga
|
||||
Jean-Louis Charton
|
||||
Jernej Kovacic
|
||||
Joey Degges
|
||||
John Little
|
||||
Jose Baars
|
||||
Jussi Mononen
|
||||
Kamil Dudka
|
||||
Lars Nordin
|
||||
Mark McPherson
|
||||
Mark Smith
|
||||
Markus Moeller
|
||||
Matt Lilley
|
||||
Matthew Booth
|
||||
Maxime Larocque
|
||||
Mike Protts
|
||||
Mikhail Gusarov
|
||||
Neil Gierman
|
||||
Olivier Hervieu
|
||||
Paul Howarth
|
||||
Paul Querna
|
||||
Paul Veldkamp
|
||||
Peter Krempa
|
||||
Peter O'Gorman
|
||||
Peter Stuge
|
||||
Pierre Joye
|
||||
Rafael Kitover
|
||||
Romain Bondue
|
||||
Sara Golemon
|
||||
Satish Mittal
|
||||
Sean Peterson
|
||||
Selcuk Gueney
|
||||
Simon Hart
|
||||
Simon Josefsson
|
||||
Sofian Brabez
|
||||
Steven Ayre
|
||||
Steven Dake
|
||||
Steven Van Ingelgem
|
||||
TJ Saunders
|
||||
Tommy Lindgren
|
||||
Tor Arntsen
|
||||
Viktor Szakats
|
||||
Vincent Jaulin
|
||||
Vincent Torri
|
||||
Vlad Grachov
|
||||
Wez Furlong
|
||||
Yang Tse
|
||||
Zl Liu
|
||||
25
vendor/libssh2/docs/BINDINGS.md
vendored
Normal file
25
vendor/libssh2/docs/BINDINGS.md
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
libssh2 bindings
|
||||
================
|
||||
|
||||
Creative people have written bindings or interfaces for various environments
|
||||
and programming languages. Using one of these bindings allows you to take
|
||||
advantage of libssh2 directly from within your favourite language.
|
||||
|
||||
The bindings listed below are not part of the libssh2 distribution archives,
|
||||
but must be downloaded and installed separately.
|
||||
|
||||
<!-- markdown-link-check-disable -->
|
||||
|
||||
[Cocoa/Objective-C](https://github.com/karelia/libssh2_sftp-Cocoa-wrapper)
|
||||
|
||||
[Haskell FFI bindings](https://hackage.haskell.org/package/libssh2)
|
||||
|
||||
[Perl Net::SSH2](https://metacpan.org/pod/Net::SSH2)
|
||||
|
||||
[PHP ssh2](https://pecl.php.net/package/ssh2)
|
||||
|
||||
[Python pylibssh2](https://pypi.python.org/pypi/pylibssh2)
|
||||
|
||||
[Python-ctypes PySsh2](https://github.com/gellule/PySsh2)
|
||||
|
||||
[Ruby libssh2-ruby](https://github.com/mitchellh/libssh2-ruby)
|
||||
44
vendor/libssh2/docs/CMakeLists.txt
vendored
Normal file
44
vendor/libssh2/docs/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
# Copyright (C) Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||
# Copyright (C) Viktor Szakats
|
||||
#
|
||||
# Redistribution and use in source and binary forms,
|
||||
# with or without modification, are permitted provided
|
||||
# that the following conditions are met:
|
||||
#
|
||||
# Redistributions of source code must retain the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials
|
||||
# provided with the distribution.
|
||||
#
|
||||
# Neither the name of the copyright holder nor the names
|
||||
# of any other contributors may be used to endorse or
|
||||
# promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
# OF SUCH DAMAGE.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
transform_makefile_inc("Makefile.am" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.am.cmake")
|
||||
# Get 'dist_man_MANS' variable
|
||||
include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.am.cmake")
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(FILES ${dist_man_MANS} DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
|
||||
989
vendor/libssh2/docs/HACKING-CRYPTO
vendored
Normal file
989
vendor/libssh2/docs/HACKING-CRYPTO
vendored
Normal file
@@ -0,0 +1,989 @@
|
||||
Definitions needed to implement a specific crypto library
|
||||
|
||||
This document offers some hints about implementing a new crypto library
|
||||
interface.
|
||||
|
||||
A crypto library interface consists of at least a header file, defining
|
||||
entities referenced from the libssh2 core modules.
|
||||
Real code implementation (if needed), is left at the implementor's choice.
|
||||
|
||||
This document lists the entities that must/may be defined in the header file.
|
||||
|
||||
Procedures listed as "void" may indeed have a result type: the void indication
|
||||
indicates the libssh2 core modules never use the function result.
|
||||
|
||||
|
||||
0) Build system.
|
||||
|
||||
Adding a crypto backend to the autotools build system (./configure) is easy:
|
||||
|
||||
0.1) Add one new line in configure.ac
|
||||
|
||||
m4_set_add([crypto_backends], [newname])
|
||||
|
||||
This automatically creates a --with-crypto=newname option.
|
||||
|
||||
0.2) Add an m4_case stanza to LIBSSH2_CRYPTO_CHECK in acinclude.m4
|
||||
|
||||
This must check for all required libraries, and if found set and AC_SUBST a
|
||||
variable with the library linking flags. The recommended method is to use
|
||||
LIBSSH2_LIB_HAVE_LINKFLAGS from LIBSSH2_CRYPTO_CHECK, which automatically
|
||||
creates and handles a --with-$newname-prefix option and sets an
|
||||
LTLIBNEWNAME variable on success.
|
||||
|
||||
0.3) Add new header to src/Makefile.inc
|
||||
|
||||
0.4) Include new source in src/crypto.c
|
||||
|
||||
0.5) Add a new block in configure.ac
|
||||
|
||||
```
|
||||
elif test "$found_crypto" = "newname"; then
|
||||
LIBS="${LIBS} ${LTLIBNEWNAME}"
|
||||
```
|
||||
|
||||
0.6) Add CMake detection logic to CMakeLists.txt
|
||||
|
||||
1) Crypto library initialization/termination.
|
||||
|
||||
void libssh2_crypto_init(void);
|
||||
Initializes the crypto library. May be an empty macro if not needed.
|
||||
|
||||
void libssh2_crypto_exit(void);
|
||||
Terminates the crypto library use. May be an empty macro if not needed.
|
||||
|
||||
1.1) Crypto runtime detection
|
||||
|
||||
The libssh2_crypto_engine_t enum must include the new engine, and
|
||||
libssh2_crypto_engine() must return it when it is built in.
|
||||
|
||||
2) HMAC
|
||||
|
||||
libssh2_hmac_ctx
|
||||
Type of an HMAC computation context. Generally a struct.
|
||||
Used for all hash algorithms.
|
||||
|
||||
int _libssh2_hmac_ctx_init(libssh2_hmac_ctx *ctx);
|
||||
Initializes the HMAC computation context ctx.
|
||||
Called before setting-up the hash algorithm.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int _libssh2_hmac_update(libssh2_hmac_ctx *ctx,
|
||||
const void *data, int datalen);
|
||||
Continue computation of an HMAC on datalen bytes at data using context ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int _libssh2_hmac_final(libssh2_hmac_ctx *ctx,
|
||||
void output[]);
|
||||
Get the computed HMAC from context ctx into the output buffer. The
|
||||
minimum data buffer size depends on the HMAC hash algorithm.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
void _libssh2_hmac_cleanup(libssh2_hmac_ctx *ctx);
|
||||
Releases the HMAC computation context at ctx.
|
||||
|
||||
|
||||
3) Hash algorithms.
|
||||
|
||||
3.1) SHA-1
|
||||
Must always be implemented.
|
||||
|
||||
SHA_DIGEST_LENGTH
|
||||
#define to 20, the SHA-1 digest length.
|
||||
|
||||
libssh2_sha1_ctx
|
||||
Type of an SHA-1 computation context. Generally a struct.
|
||||
|
||||
int libssh2_sha1_init(libssh2_sha1_ctx *x);
|
||||
Initializes the SHA-1 computation context at x.
|
||||
Returns 1 for success and 0 for failure
|
||||
|
||||
int libssh2_sha1_update(libssh2_sha1_ctx ctx,
|
||||
const unsigned char *data,
|
||||
size_t len);
|
||||
Continue computation of SHA-1 on len bytes at data using context ctx.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha1_final(libssh2_sha1_ctx ctx,
|
||||
unsigned char output[SHA_DIGEST_LEN]);
|
||||
Get the computed SHA-1 signature from context ctx and store it into the
|
||||
output buffer.
|
||||
Release the context.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_hmac_sha1_init(libssh2_hmac_ctx *ctx,
|
||||
const void *key,
|
||||
int keylen);
|
||||
Setup the HMAC computation context ctx for an HMAC-SHA-1 computation using the
|
||||
keylen-byte key. Is invoked just after libssh2_hmac_ctx_init().
|
||||
Returns 1 for success and 0 for failure.
|
||||
|
||||
3.2) SHA-256
|
||||
Must always be implemented.
|
||||
|
||||
SHA256_DIGEST_LENGTH
|
||||
#define to 32, the SHA-256 digest length.
|
||||
|
||||
libssh2_sha256_ctx
|
||||
Type of an SHA-256 computation context. Generally a struct.
|
||||
|
||||
int libssh2_sha256_init(libssh2_sha256_ctx *x);
|
||||
Initializes the SHA-256 computation context at x.
|
||||
Returns 1 for success and 0 for failure
|
||||
|
||||
int libssh2_sha256_update(libssh2_sha256_ctx ctx,
|
||||
const unsigned char *data,
|
||||
size_t len);
|
||||
Continue computation of SHA-256 on len bytes at data using context ctx.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha256_final(libssh2_sha256_ctx ctx,
|
||||
unsigned char output[SHA256_DIGEST_LENGTH]);
|
||||
Gets the computed SHA-256 signature from context ctx into the output buffer.
|
||||
Release the context.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha256(const unsigned char *message,
|
||||
size_t len,
|
||||
unsigned char output[SHA256_DIGEST_LENGTH]);
|
||||
Computes the SHA-256 signature over the given message of length len and
|
||||
store the result into the output buffer.
|
||||
Return 1 if error, else 0.
|
||||
Note: Seems unused in current code, but defined in each crypto library backend.
|
||||
|
||||
LIBSSH2_HMAC_SHA256
|
||||
#define as 1 if the crypto library supports HMAC-SHA-256, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
int libssh2_hmac_sha256_init(libssh2_hmac_ctx *ctx,
|
||||
const void *key,
|
||||
int keylen);
|
||||
Setup the HMAC computation context ctx for an HMAC-256 computation using the
|
||||
keylen-byte key. Is invoked just after libssh2_hmac_ctx_init().
|
||||
Returns 1 for success and 0 for failure.
|
||||
|
||||
3.3) SHA-384
|
||||
Mandatory if ECDSA is implemented. Can be omitted otherwise.
|
||||
|
||||
SHA384_DIGEST_LENGTH
|
||||
#define to 48, the SHA-384 digest length.
|
||||
|
||||
libssh2_sha384_ctx
|
||||
Type of an SHA-384 computation context. Generally a struct.
|
||||
|
||||
int libssh2_sha384_init(libssh2_sha384_ctx *x);
|
||||
Initializes the SHA-384 computation context at x.
|
||||
Returns 1 for success and 0 for failure
|
||||
|
||||
int libssh2_sha384_update(libssh2_sha384_ctx ctx,
|
||||
const unsigned char *data,
|
||||
size_t len);
|
||||
Continue computation of SHA-384 on len bytes at data using context ctx.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha384_final(libssh2_sha384_ctx ctx,
|
||||
unsigned char output[SHA384_DIGEST_LENGTH]);
|
||||
Gets the computed SHA-384 signature from context ctx into the output buffer.
|
||||
Release the context.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha384(const unsigned char *message,
|
||||
size_t len,
|
||||
unsigned char output[SHA384_DIGEST_LENGTH]);
|
||||
Computes the SHA-384 signature over the given message of length len and
|
||||
store the result into the output buffer.
|
||||
Return 1 if error, else 0.
|
||||
|
||||
3.4) SHA-512
|
||||
Must always be implemented.
|
||||
|
||||
SHA512_DIGEST_LENGTH
|
||||
#define to 64, the SHA-512 digest length.
|
||||
|
||||
libssh2_sha512_ctx
|
||||
Type of an SHA-512 computation context. Generally a struct.
|
||||
|
||||
int libssh2_sha512_init(libssh2_sha512_ctx *x);
|
||||
Initializes the SHA-512 computation context at x.
|
||||
Returns 1 for success and 0 for failure
|
||||
|
||||
int libssh2_sha512_update(libssh2_sha512_ctx ctx,
|
||||
const unsigned char *data,
|
||||
size_t len);
|
||||
Continue computation of SHA-512 on len bytes at data using context ctx.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha512_final(libssh2_sha512_ctx ctx,
|
||||
unsigned char output[SHA512_DIGEST_LENGTH]);
|
||||
Gets the computed SHA-512 signature from context ctx into the output buffer.
|
||||
Release the context.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_sha512(const unsigned char *message,
|
||||
size_t len,
|
||||
unsigned char output[SHA512_DIGEST_LENGTH]);
|
||||
Computes the SHA-512 signature over the given message of length len and
|
||||
store the result into the output buffer.
|
||||
Return 1 if error, else 0.
|
||||
Note: Seems unused in current code, but defined in each crypto library backend.
|
||||
|
||||
LIBSSH2_HMAC_SHA512
|
||||
#define as 1 if the crypto library supports HMAC-SHA-512, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
int libssh2_hmac_sha512_init(libssh2_hmac_ctx *ctx,
|
||||
const void *key,
|
||||
int keylen);
|
||||
Setup the HMAC computation context ctx for an HMAC-512 computation using the
|
||||
keylen-byte key. Is invoked just after libssh2_hmac_ctx_init().
|
||||
Returns 1 for success and 0 for failure.
|
||||
|
||||
3.5) MD5
|
||||
LIBSSH2_MD5
|
||||
#define to 1 if the crypto library supports MD5, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
MD5_DIGEST_LENGTH
|
||||
#define to 16, the MD5 digest length.
|
||||
|
||||
libssh2_md5_ctx
|
||||
Type of an MD5 computation context. Generally a struct.
|
||||
|
||||
int libssh2_md5_init(libssh2_md5_ctx *x);
|
||||
Initializes the MD5 computation context at x.
|
||||
Returns 1 for success and 0 for failure
|
||||
|
||||
int libssh2_md5_update(libssh2_md5_ctx ctx,
|
||||
const unsigned char *data,
|
||||
size_t len);
|
||||
Continues computation of MD5 on len bytes at data using context ctx.
|
||||
Returns 1 for success and 0 for failure.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_md5_final(libssh2_md5_ctx ctx,
|
||||
unsigned char output[MD5_DIGEST_LENGTH]);
|
||||
Gets the computed MD5 signature from context ctx into the output buffer.
|
||||
Release the context.
|
||||
Note: if the ctx parameter is modified by the underlying code,
|
||||
this procedure must be implemented as a macro to map ctx --> &ctx.
|
||||
Must return 1 for success and 0 for failure.
|
||||
|
||||
int libssh2_hmac_md5_init(libssh2_hmac_ctx *ctx,
|
||||
const void *key,
|
||||
int keylen);
|
||||
Setup the HMAC computation context ctx for an HMAC-MD5 computation using the
|
||||
keylen-byte key. Is invoked just after libssh2_hmac_ctx_init().
|
||||
Returns 1 for success and 0 for failure.
|
||||
|
||||
3.6) RIPEMD-160
|
||||
LIBSSH2_HMAC_RIPEMD
|
||||
#define as 1 if the crypto library supports HMAC-RIPEMD-160, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
int libssh2_hmac_ripemd160_init(libssh2_hmac_ctx *ctx,
|
||||
const void *key,
|
||||
int keylen);
|
||||
Setup the HMAC computation context ctx for an HMAC-RIPEMD-160 computation using
|
||||
the keylen-byte key. Is invoked just after libssh2_hmac_ctx_init().
|
||||
Returns 1 for success and 0 for failure.
|
||||
|
||||
|
||||
4) Bidirectional key ciphers.
|
||||
|
||||
_libssh2_cipher_ctx
|
||||
Type of a cipher computation context.
|
||||
|
||||
_libssh2_cipher_type(name);
|
||||
Macro defining name as storage identifying a cipher algorithm for
|
||||
the crypto library interface. No trailing semicolon.
|
||||
|
||||
int _libssh2_cipher_init(_libssh2_cipher_ctx *h,
|
||||
_libssh2_cipher_type(algo),
|
||||
unsigned char *iv,
|
||||
unsigned char *secret,
|
||||
int encrypt);
|
||||
Creates a cipher context for the given algorithm with the initialization vector
|
||||
iv and the secret key secret. Prepare for encryption or decryption depending on
|
||||
encrypt.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_cipher_crypt(_libssh2_cipher_ctx *ctx,
|
||||
_libssh2_cipher_type(algo),
|
||||
int encrypt,
|
||||
unsigned char *block,
|
||||
size_t blocksize,
|
||||
int firstlast);
|
||||
Encrypt or decrypt in-place data at (block, blocksize) using the given
|
||||
context and/or algorithm.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
void _libssh2_cipher_dtor(_libssh2_cipher_ctx *ctx);
|
||||
Release cipher context at ctx.
|
||||
|
||||
4.1) AES
|
||||
4.1.1) AES in CBC block mode.
|
||||
LIBSSH2_AES
|
||||
#define as 1 if the crypto library supports AES in CBC mode, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_aes128
|
||||
AES-128-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
_libssh2_cipher_aes192
|
||||
AES-192-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
_libssh2_cipher_aes256
|
||||
AES-256-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
4.1.2) AES in CTR block mode.
|
||||
LIBSSH2_AES_CTR
|
||||
#define as 1 if the crypto library supports AES in CTR mode, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_aes128ctr
|
||||
AES-128-CTR algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
_libssh2_cipher_aes192ctr
|
||||
AES-192-CTR algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
_libssh2_cipher_aes256ctr
|
||||
AES-256-CTR algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
4.2) Blowfish in CBC block mode.
|
||||
LIBSSH2_BLOWFISH
|
||||
#define as 1 if the crypto library supports blowfish in CBC mode, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_blowfish
|
||||
Blowfish-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
4.3) RC4.
|
||||
LIBSSH2_RC4
|
||||
#define as 1 if the crypto library supports RC4 (arcfour), else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_arcfour
|
||||
RC4 algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
4.4) CAST5 in CBC block mode.
|
||||
LIBSSH2_CAST
|
||||
#define 1 if the crypto library supports cast, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_cast5
|
||||
CAST5-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
4.5) Triple DES in CBC block mode.
|
||||
LIBSSH2_3DES
|
||||
#define as 1 if the crypto library supports TripleDES in CBC mode, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
_libssh2_cipher_3des
|
||||
TripleDES-CBC algorithm identifier initializer.
|
||||
#define with constant value of type _libssh2_cipher_type().
|
||||
|
||||
|
||||
5) Diffie-Hellman support.
|
||||
|
||||
LIBSSH2_DH_GEX_MINGROUP
|
||||
The minimum Diffie-Hellman group length in bits supported by the backend.
|
||||
Usually defined as 2048.
|
||||
|
||||
LIBSSH2_DH_GEX_OPTGROUP
|
||||
The preferred Diffie-Hellman group length in bits. Usually defined as 4096.
|
||||
|
||||
LIBSSH2_DH_GEX_MAXGROUP
|
||||
The maximum Diffie-Hellman group length in bits supported by the backend.
|
||||
Usually defined as 8192.
|
||||
|
||||
LIBSSH2_DH_MAX_MODULUS_BITS
|
||||
The maximum Diffie-Hellman modulus bit count accepted from the server. This
|
||||
value must be supported by the backend. Usually 16384.
|
||||
|
||||
5.1) Diffie-Hellman context.
|
||||
_libssh2_dh_ctx
|
||||
Type of a Diffie-Hellman computation context.
|
||||
Must always be defined.
|
||||
|
||||
5.2) Diffie-Hellman computation procedures.
|
||||
void libssh2_dh_init(_libssh2_dh_ctx *dhctx);
|
||||
Initializes the Diffie-Hellman context at `dhctx'. No effective context
|
||||
creation needed here.
|
||||
|
||||
int libssh2_dh_key_pair(_libssh2_dh_ctx *dhctx, _libssh2_bn *public,
|
||||
_libssh2_bn *g, _libssh2_bn *p, int group_order,
|
||||
_libssh2_bn_ctx *bnctx);
|
||||
Generates a Diffie-Hellman key pair using base `g', prime `p' and the given
|
||||
`group_order'. Can use the given big number context `bnctx' if needed.
|
||||
The private key is stored as opaque in the Diffie-Hellman context `*dhctx' and
|
||||
the public key is returned in `public'.
|
||||
0 is returned upon success, else -1.
|
||||
|
||||
int libssh2_dh_secret(_libssh2_dh_ctx *dhctx, _libssh2_bn *secret,
|
||||
_libssh2_bn *f, _libssh2_bn *p, _libssh2_bn_ctx * bnctx)
|
||||
Computes the Diffie-Hellman secret from the previously created context `*dhctx',
|
||||
the public key `f' from the other party and the same prime `p' used at
|
||||
context creation. The result is stored in `secret'.
|
||||
0 is returned upon success, else -1.
|
||||
|
||||
void libssh2_dh_dtor(_libssh2_dh_ctx *dhctx)
|
||||
Destroys Diffie-Hellman context at `dhctx' and resets its storage.
|
||||
|
||||
|
||||
6) Big numbers.
|
||||
Positive multi-byte integers support is sufficient.
|
||||
|
||||
6.1) Computation contexts.
|
||||
This has a real meaning if the big numbers computations need some context
|
||||
storage. If not, use a dummy type and functions (macros).
|
||||
|
||||
_libssh2_bn_ctx
|
||||
Type of multiple precision computation context. May not be empty. if not used,
|
||||
#define as char, for example.
|
||||
|
||||
_libssh2_bn_ctx _libssh2_bn_ctx_new(void);
|
||||
Returns a new multiple precision computation context.
|
||||
|
||||
void _libssh2_bn_ctx_free(_libssh2_bn_ctx ctx);
|
||||
Releases a multiple precision computation context.
|
||||
|
||||
6.2) Computation support.
|
||||
_libssh2_bn
|
||||
Type of multiple precision numbers (aka bignumbers or huge integers) for the
|
||||
crypto library.
|
||||
|
||||
_libssh2_bn * _libssh2_bn_init(void);
|
||||
Creates a multiple precision number (preset to zero).
|
||||
|
||||
_libssh2_bn * _libssh2_bn_init_from_bin(void);
|
||||
Create a multiple precision number intended to be set by the
|
||||
_libssh2_bn_from_bin() function (see below). Unlike _libssh2_bn_init(), this
|
||||
code may be a dummy initializer if the _libssh2_bn_from_bin() actually
|
||||
allocates the number. Returns a value of type _libssh2_bn *.
|
||||
|
||||
void _libssh2_bn_free(_libssh2_bn *bn);
|
||||
Destroys the multiple precision number at bn.
|
||||
|
||||
unsigned long _libssh2_bn_bytes(_libssh2_bn *bn);
|
||||
Get the number of bytes needed to store the bits of the multiple precision
|
||||
number at bn.
|
||||
|
||||
unsigned long _libssh2_bn_bits(_libssh2_bn *bn);
|
||||
Returns the number of bits of multiple precision number at bn.
|
||||
|
||||
int _libssh2_bn_set_word(_libssh2_bn *bn, unsigned long val);
|
||||
Sets the value of bn to val.
|
||||
Returns 1 on success, 0 otherwise.
|
||||
|
||||
_libssh2_bn * _libssh2_bn_from_bin(_libssh2_bn *bn, int len,
|
||||
const unsigned char *val);
|
||||
Converts the positive integer in big-endian form of length len at val
|
||||
into a _libssh2_bn and place it in bn. If bn is NULL, a new _libssh2_bn is
|
||||
created.
|
||||
Returns a pointer to target _libssh2_bn or NULL if error.
|
||||
|
||||
int _libssh2_bn_to_bin(_libssh2_bn *bn, unsigned char *val);
|
||||
Converts the absolute value of bn into big-endian form and store it at
|
||||
val. val must point to _libssh2_bn_bytes(bn) bytes of memory.
|
||||
Returns the length of the big-endian number.
|
||||
|
||||
|
||||
7) Private key algorithms.
|
||||
Format of an RSA public key:
|
||||
a) "ssh-rsa".
|
||||
b) RSA exponent, MSB first, with high order bit = 0.
|
||||
c) RSA modulus, MSB first, with high order bit = 0.
|
||||
Each item is preceded by its 32-bit byte length, MSB first.
|
||||
|
||||
Format of a DSA public key:
|
||||
a) "ssh-dss".
|
||||
b) p, MSB first, with high order bit = 0.
|
||||
c) q, MSB first, with high order bit = 0.
|
||||
d) g, MSB first, with high order bit = 0.
|
||||
e) pub_key, MSB first, with high order bit = 0.
|
||||
Each item is preceded by its 32-bit byte length, MSB first.
|
||||
|
||||
Format of an ECDSA public key:
|
||||
a) "ecdsa-sha2-nistp256" or "ecdsa-sha2-nistp384" or "ecdsa-sha2-nistp521".
|
||||
b) domain: "nistp256", "nistp384" or "nistp521" matching a).
|
||||
c) raw public key ("octal").
|
||||
Each item is preceded by its 32-bit byte length, MSB first.
|
||||
|
||||
Format of an ED25519 public key:
|
||||
a) "ssh-ed25519".
|
||||
b) raw key (32 bytes).
|
||||
Each item is preceded by its 32-bit byte length, MSB first.
|
||||
|
||||
int _libssh2_pub_priv_keyfile(LIBSSH2_SESSION *session,
|
||||
unsigned char **method,
|
||||
size_t *method_len,
|
||||
unsigned char **pubkeydata,
|
||||
size_t *pubkeydata_len,
|
||||
const char *privatekey,
|
||||
const char *passphrase);
|
||||
Reads a private key from file privatekey and extract the public key -->
|
||||
(pubkeydata, pubkeydata_len). Store the associated method (ssh-rsa or ssh-dss)
|
||||
into (method, method_len).
|
||||
Both buffers have to be allocated using LIBSSH2_ALLOC().
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_pub_priv_keyfilememory(LIBSSH2_SESSION *session,
|
||||
unsigned char **method,
|
||||
size_t *method_len,
|
||||
unsigned char **pubkeydata,
|
||||
size_t *pubkeydata_len,
|
||||
const char *privatekeydata,
|
||||
size_t privatekeydata_len,
|
||||
const char *passphrase);
|
||||
Gets a private key from bytes at (privatekeydata, privatekeydata_len) and
|
||||
extract the public key --> (pubkeydata, pubkeydata_len). Store the associated
|
||||
method (ssh-rsa or ssh-dss) into (method, method_len).
|
||||
Both buffers have to be allocated using LIBSSH2_ALLOC().
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
|
||||
7.1) RSA
|
||||
LIBSSH2_RSA
|
||||
#define as 1 if the crypto library supports RSA, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
libssh2_rsa_ctx
|
||||
Type of an RSA computation context. Generally a struct.
|
||||
|
||||
int _libssh2_rsa_new(libssh2_rsa_ctx **rsa,
|
||||
const unsigned char *edata,
|
||||
unsigned long elen,
|
||||
const unsigned char *ndata,
|
||||
unsigned long nlen,
|
||||
const unsigned char *ddata,
|
||||
unsigned long dlen,
|
||||
const unsigned char *pdata,
|
||||
unsigned long plen,
|
||||
const unsigned char *qdata,
|
||||
unsigned long qlen,
|
||||
const unsigned char *e1data,
|
||||
unsigned long e1len,
|
||||
const unsigned char *e2data,
|
||||
unsigned long e2len,
|
||||
const unsigned char *coeffdata, unsigned long coefflen);
|
||||
Creates a new context for RSA computations from key source values:
|
||||
pdata, plen Prime number p. Only used if private key known (ddata).
|
||||
qdata, qlen Prime number q. Only used if private key known (ddata).
|
||||
ndata, nlen Modulus n.
|
||||
edata, elen Exponent e.
|
||||
ddata, dlen e^-1 % phi(n) = private key. May be NULL if unknown.
|
||||
e1data, e1len dp = d % (p-1). Only used if private key known (dtata).
|
||||
e2data, e2len dq = d % (q-1). Only used if private key known (dtata).
|
||||
coeffdata, coefflen q^-1 % p. Only used if private key known.
|
||||
Returns 0 if OK.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
Note: the current generic code only calls this function with e and n (public
|
||||
key parameters): unless used internally by the backend, it is not needed to
|
||||
support the private key and the other parameters here.
|
||||
|
||||
int _libssh2_rsa_new_private(libssh2_rsa_ctx **rsa,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *filename,
|
||||
unsigned const char *passphrase);
|
||||
Reads an RSA private key from file filename into a new RSA context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_rsa_new_private_frommemory(libssh2_rsa_ctx **rsa,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *data,
|
||||
size_t data_len,
|
||||
unsigned const char *passphrase);
|
||||
Gets an RSA private key from data into a new RSA context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_rsa_sha1_verify(libssh2_rsa_ctx *rsa,
|
||||
const unsigned char *sig,
|
||||
size_t sig_len,
|
||||
const unsigned char *m, size_t m_len);
|
||||
Verify (sig, sig_len) signature of (m, m_len) using an SHA-1 hash and the
|
||||
RSA context.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_rsa_sha1_signv(LIBSSH2_SESSION *session,
|
||||
unsigned char **sig, size_t *siglen,
|
||||
int count, const struct iovec vector[],
|
||||
libssh2_rsa_ctx *ctx);
|
||||
RSA signs the SHA-1 hash computed over the count data chunks in vector.
|
||||
Signature is stored at (sig, siglen).
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
Note: this procedure is optional: if provided, it MUST be defined as a macro.
|
||||
|
||||
int _libssh2_rsa_sha1_sign(LIBSSH2_SESSION *session,
|
||||
libssh2_rsa_ctx *rsactx,
|
||||
const unsigned char *hash,
|
||||
size_t hash_len,
|
||||
unsigned char **signature,
|
||||
size_t *signature_len);
|
||||
RSA signs the (hash, hashlen) SHA-1 hash bytes and stores the allocated
|
||||
signature at (signature, signature_len).
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
Note: this procedure is not used if macro _libssh2_rsa_sha1_signv() is defined.
|
||||
|
||||
void _libssh2_rsa_free(libssh2_rsa_ctx *rsactx);
|
||||
Releases the RSA computation context at rsactx.
|
||||
|
||||
LIBSSH2_RSA_SHA2
|
||||
#define as 1 if the crypto library supports RSA SHA2 256/512, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
int _libssh2_rsa_sha2_sign(LIBSSH2_SESSION * session,
|
||||
libssh2_rsa_ctx * rsactx,
|
||||
const unsigned char *hash,
|
||||
size_t hash_len,
|
||||
unsigned char **signature,
|
||||
size_t *signature_len);
|
||||
RSA signs the (hash, hashlen) SHA-2 hash bytes based on hash length and stores
|
||||
the allocated signature at (signature, signature_len).
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
Note: this procedure is not used if both macros _libssh2_rsa_sha2_256_signv()
|
||||
and _libssh2_rsa_sha2_512_signv are defined.
|
||||
|
||||
int _libssh2_rsa_sha2_256_signv(LIBSSH2_SESSION *session,
|
||||
unsigned char **sig, size_t *siglen,
|
||||
int count, const struct iovec vector[],
|
||||
libssh2_rsa_ctx *ctx);
|
||||
RSA signs the SHA-256 hash computed over the count data chunks in vector.
|
||||
Signature is stored at (sig, siglen).
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
Note: this procedure is optional: if provided, it MUST be defined as a macro.
|
||||
|
||||
int _libssh2_rsa_sha2_512_signv(LIBSSH2_SESSION *session,
|
||||
unsigned char **sig, size_t *siglen,
|
||||
int count, const struct iovec vector[],
|
||||
libssh2_rsa_ctx *ctx);
|
||||
RSA signs the SHA-512 hash computed over the count data chunks in vector.
|
||||
Signature is stored at (sig, siglen).
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
Note: this procedure is optional: if provided, it MUST be defined as a macro.
|
||||
|
||||
int _libssh2_rsa_sha2_verify(libssh2_rsa_ctx * rsa,
|
||||
size_t hash_len,
|
||||
const unsigned char *sig,
|
||||
size_t sig_len,
|
||||
const unsigned char *m, size_t m_len);
|
||||
Verify (sig, sig_len) signature of (m, m_len) using an SHA-2 hash based on
|
||||
hash length and the RSA context.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
7.2) DSA
|
||||
LIBSSH2_DSA
|
||||
#define as 1 if the crypto library supports DSA, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
|
||||
libssh2_dsa_ctx
|
||||
Type of a DSA computation context. Generally a struct.
|
||||
|
||||
int _libssh2_dsa_new(libssh2_dsa_ctx **dsa,
|
||||
const unsigned char *pdata,
|
||||
unsigned long plen,
|
||||
const unsigned char *qdata,
|
||||
unsigned long qlen,
|
||||
const unsigned char *gdata,
|
||||
unsigned long glen,
|
||||
const unsigned char *ydata,
|
||||
unsigned long ylen,
|
||||
const unsigned char *x, unsigned long x_len);
|
||||
Creates a new context for DSA computations from source key values:
|
||||
pdata, plen Prime number p. Only used if private key known (ddata).
|
||||
qdata, qlen Prime number q. Only used if private key known (ddata).
|
||||
gdata, glen G number.
|
||||
ydata, ylen Public key.
|
||||
xdata, xlen Private key. Only taken if xlen non-zero.
|
||||
Returns 0 if OK.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_dsa_new_private(libssh2_dsa_ctx **dsa,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *filename,
|
||||
unsigned const char *passphrase);
|
||||
Gets a DSA private key from file filename into a new DSA context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_dsa_new_private_frommemory(libssh2_dsa_ctx **dsa,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *data,
|
||||
size_t data_len,
|
||||
unsigned const char *passphrase);
|
||||
Gets a DSA private key from the data_len-bytes data into a new DSA context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_dsa_sha1_verify(libssh2_dsa_ctx *dsactx,
|
||||
const unsigned char *sig,
|
||||
const unsigned char *m, size_t m_len);
|
||||
Verify (sig, siglen) signature of (m, m_len) using an SHA-1 hash and the
|
||||
DSA context.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_dsa_sha1_sign(libssh2_dsa_ctx *dsactx,
|
||||
const unsigned char *hash,
|
||||
size_t hash_len, unsigned char *sig);
|
||||
DSA signs the (hash, hash_len) data using SHA-1 and store the signature at sig.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
void _libssh2_dsa_free(libssh2_dsa_ctx *dsactx);
|
||||
Releases the DSA computation context at dsactx.
|
||||
|
||||
|
||||
7.3) ECDSA
|
||||
LIBSSH2_ECDSA
|
||||
#define as 1 if the crypto library supports ECDSA, else 0.
|
||||
If defined as 0, _libssh2_ec_key should be defined as void and the rest of
|
||||
this section can be omitted.
|
||||
|
||||
EC_MAX_POINT_LEN
|
||||
Maximum point length. Usually defined as ((528 * 2 / 8) + 1) (= 133).
|
||||
|
||||
libssh2_ecdsa_ctx
|
||||
Type of an ECDSA computation context. Generally a struct.
|
||||
|
||||
_libssh2_ec_key
|
||||
Type of an elliptic curve key.
|
||||
|
||||
libssh2_curve_type
|
||||
An enum type defining curve types. Current supported identifiers are:
|
||||
LIBSSH2_EC_CURVE_NISTP256
|
||||
LIBSSH2_EC_CURVE_NISTP384
|
||||
LIBSSH2_EC_CURVE_NISTP521
|
||||
|
||||
int _libssh2_ecdsa_create_key(_libssh2_ec_key **out_private_key,
|
||||
unsigned char **out_public_key_octal,
|
||||
size_t *out_public_key_octal_len,
|
||||
libssh2_curve_type curve_type);
|
||||
Create a new ECDSA private key of type curve_type and return it at
|
||||
out_private_key. If out_public_key_octal is not NULL, store an allocated
|
||||
pointer to the associated public key in "octal" form in it and its length
|
||||
at out_public_key_octal_len.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_new_private(libssh2_ecdsa_ctx **ec_ctx,
|
||||
LIBSSH2_SESSION * session,
|
||||
const char *filename,
|
||||
unsigned const char *passphrase);
|
||||
Reads an ECDSA private key from PEM file filename into a new ECDSA context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_new_private_frommemory(libssh2_ecdsa_ctx ** ec_ctx,
|
||||
LIBSSH2_SESSION * session,
|
||||
const char *filedata,
|
||||
size_t filedata_len,
|
||||
unsigned const char *passphrase);
|
||||
Builds an ECDSA private key from PEM data at filedata of length filedata_len
|
||||
into a new ECDSA context stored at ec_ctx.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_curve_name_with_octal_new(libssh2_ecdsa_ctx **ecdsactx,
|
||||
const unsigned char *k,
|
||||
size_t k_len,
|
||||
libssh2_curve_type type);
|
||||
Stores at ecdsactx a new ECDSA context associated with the given curve type
|
||||
and with "octal" form public key (k, k_len).
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_new_openssh_private(libssh2_ecdsa_ctx **ec_ctx,
|
||||
LIBSSH2_SESSION * session,
|
||||
const char *filename,
|
||||
unsigned const char *passphrase);
|
||||
Reads a PEM-encoded ECDSA private key from file filename encrypted with
|
||||
passphrase and stores at ec_ctx a new ECDSA context for it.
|
||||
Return 0 if OK, else -1.
|
||||
Currently used only from openssl backend (ought to be private).
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_sign(LIBSSH2_SESSION *session, libssh2_ecdsa_ctx *ec_ctx,
|
||||
const unsigned char *hash, unsigned long hash_len,
|
||||
unsigned char **signature, size_t *signature_len);
|
||||
ECDSA signs the (hash, hashlen) hash bytes and stores the allocated
|
||||
signature at (signature, signature_len). Hash algorithm used should be
|
||||
SHA-256, SHA-384 or SHA-512 depending on type stored in ECDSA context at ec_ctx.
|
||||
Signature buffer must be allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_verify(libssh2_ecdsa_ctx *ctx,
|
||||
const unsigned char *r, size_t r_len,
|
||||
const unsigned char *s, size_t s_len,
|
||||
const unsigned char *m, size_t m_len);
|
||||
Verify the ECDSA signature made of (r, r_len) and (s, s_len) of (m, m_len)
|
||||
using the hash algorithm configured in the ECDSA context ctx.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
libssh2_curve_type _libssh2_ecdsa_get_curve_type(libssh2_ecdsa_ctx *ecdsactx);
|
||||
Returns the curve type associated with given context.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ecdsa_curve_type_from_name(const char *name,
|
||||
libssh2_curve_type *out_type);
|
||||
Stores in out_type the curve type matching string name of the form
|
||||
"ecdsa-sha2-nistpxxx".
|
||||
Return 0 if OK, else -1.
|
||||
Currently used only from openssl backend (ought to be private).
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
void _libssh2_ecdsa_free(libssh2_ecdsa_ctx *ecdsactx);
|
||||
Releases the ECDSA computation context at ecdsactx.
|
||||
|
||||
|
||||
7.4) ED25519
|
||||
LIBSSH2_ED25519
|
||||
#define as 1 if the crypto library supports ED25519, else 0.
|
||||
If defined as 0, the rest of this section can be omitted.
|
||||
|
||||
|
||||
libssh2_ed25519_ctx
|
||||
Type of an ED25519 computation context. Generally a struct.
|
||||
|
||||
int _libssh2_curve25519_new(LIBSSH2_SESSION *session, libssh2_ed25519_ctx **ctx,
|
||||
uint8_t **out_public_key,
|
||||
uint8_t **out_private_key);
|
||||
Generates an ED25519 key pair, stores a pointer to them at out_private_key
|
||||
and out_public_key respectively and stores at ctx a new ED25519 context for
|
||||
this key.
|
||||
Argument ctx, out_private_key and out_public key may be NULL to disable storing
|
||||
the corresponding value.
|
||||
Length of each key is LIBSSH2_ED25519_KEY_LEN (32 bytes).
|
||||
Key buffers are allocated and should be released by caller after use.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ed25519_new_private(libssh2_ed25519_ctx **ed_ctx,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *filename,
|
||||
const uint8_t *passphrase);
|
||||
Reads an ED25519 private key from PEM file filename into a new ED25519 context.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ed25519_new_public(libssh2_ed25519_ctx **ed_ctx,
|
||||
LIBSSH2_SESSION *session,
|
||||
const unsigned char *raw_pub_key,
|
||||
const size_t key_len);
|
||||
Stores at ed_ctx a new ED25519 key context for raw public key (raw_pub_key,
|
||||
key_len).
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ed25519_new_private_frommemory(libssh2_ed25519_ctx **ed_ctx,
|
||||
LIBSSH2_SESSION *session,
|
||||
const char *filedata,
|
||||
size_t filedata_len,
|
||||
unsigned const char *passphrase);
|
||||
Builds an ED25519 private key from PEM data at filedata of length filedata_len
|
||||
into a new ED25519 context stored at ed_ctx.
|
||||
Must call _libssh2_init_if_needed().
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ed25519_sign(libssh2_ed25519_ctx *ctx, LIBSSH2_SESSION *session,
|
||||
uint8_t **out_sig, size_t *out_sig_len,
|
||||
const uint8_t *message, size_t message_len);
|
||||
ED25519 signs the (message, message_len) bytes and stores the allocated
|
||||
signature at (sig, sig_len).
|
||||
Signature buffer is allocated from the given session.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_ed25519_verify(libssh2_ed25519_ctx *ctx, const uint8_t *s,
|
||||
size_t s_len, const uint8_t *m, size_t m_len);
|
||||
Verify (s, s_len) signature of (m, m_len) using the given ED25519 context.
|
||||
Return 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
int _libssh2_curve25519_gen_k(_libssh2_bn **k,
|
||||
uint8_t private_key[LIBSSH2_ED25519_KEY_LEN],
|
||||
uint8_t srvr_public_key[LIBSSH2_ED25519_KEY_LEN]);
|
||||
Computes a shared ED25519 secret key from the given raw server public key and
|
||||
raw client public key and stores it as a big number in *k. Big number should
|
||||
have been initialized before calling this function.
|
||||
Returns 0 if OK, else -1.
|
||||
This procedure is already prototyped in crypto.h.
|
||||
|
||||
void _libssh2_ed25519_free(libssh2_ed25519_ctx *ed25519ctx);
|
||||
Releases the ED25519 computation context at ed25519ctx.
|
||||
|
||||
|
||||
8) Miscellaneous
|
||||
|
||||
void libssh2_prepare_iovec(struct iovec *vector, unsigned int len);
|
||||
Prepare len consecutive iovec slots before using them.
|
||||
In example, this is needed to preset unused structure slacks on platforms
|
||||
requiring it.
|
||||
If this is not needed, it should be defined as an empty macro.
|
||||
|
||||
int _libssh2_random(unsigned char *buf, size_t len);
|
||||
Store len random bytes at buf.
|
||||
Returns 0 if OK, else -1.
|
||||
|
||||
const char * _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session,
|
||||
unsigned char *key_method,
|
||||
size_t key_method_len);
|
||||
|
||||
This function is for implementing key hash upgrading as defined in RFC 8332.
|
||||
|
||||
Based on the incoming key_method value, this function will return a
|
||||
list of supported algorithms that can upgrade the original key method algorithm
|
||||
as a comma separated list, if there is no upgrade option this function should
|
||||
return NULL.
|
||||
14
vendor/libssh2/docs/HACKING.md
vendored
Normal file
14
vendor/libssh2/docs/HACKING.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# libssh2 source code style guide
|
||||
|
||||
- 4 level indent
|
||||
- spaces-only (no tabs)
|
||||
- open braces on the if/for line:
|
||||
|
||||
```
|
||||
if (banana) {
|
||||
go_nuts();
|
||||
}
|
||||
```
|
||||
|
||||
- keep source lines shorter than 80 columns
|
||||
- See `libssh2-style.el` for how to achieve this within Emacs
|
||||
316
vendor/libssh2/docs/INSTALL_AUTOTOOLS
vendored
Normal file
316
vendor/libssh2/docs/INSTALL_AUTOTOOLS
vendored
Normal file
@@ -0,0 +1,316 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
|
||||
Software Foundation, Inc.
|
||||
|
||||
This file is free documentation; the Free Software Foundation gives
|
||||
unlimited permission to copy, distribute and modify it.
|
||||
|
||||
SPDX-License-Identifier: FSFULLR
|
||||
|
||||
When Building directly from Master
|
||||
==================================
|
||||
|
||||
If you want to build directly from the git repository, you must first
|
||||
generate the configure script and Makefile using autotools. Make
|
||||
sure that autoconf, automake and libtool are installed on your system,
|
||||
then execute:
|
||||
|
||||
autoreconf -fi
|
||||
|
||||
After executing this script, you can build the project as usual:
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or shortly `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. (Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you do not want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You only need
|
||||
`configure.ac' if you want to change it or regenerate `configure' using
|
||||
a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you are
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that the
|
||||
`configure' script does not know about. Run `./configure --help' for
|
||||
details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not support the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a
|
||||
time in the source code directory. After you have installed the
|
||||
package for one architecture, use `make distclean' before reconfiguring
|
||||
for another architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it does not,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out automatically,
|
||||
but needs to determine by the type of machine the package will run on.
|
||||
Usually, assuming the package is built to be run on the _same_
|
||||
architectures, `configure' can figure that out, but if it prints a
|
||||
message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' is not included in this package, then this package does not
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share, you
|
||||
can create a site shell script called `config.site' that gives default
|
||||
values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||
overridden in the site shell script). Here is a another example:
|
||||
|
||||
/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||
|
||||
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
|
||||
configuration-related scripts to be executed by `/bin/bash'.
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
||||
More configure options
|
||||
======================
|
||||
|
||||
Some ./configure options deserve additional comments:
|
||||
|
||||
* --with-libgcrypt
|
||||
* --without-libgcrypt
|
||||
* --with-libgcrypt-prefix=DIR
|
||||
|
||||
libssh2 can use the Libgcrypt library
|
||||
(https://www.gnupg.org/) for cryptographic operations.
|
||||
One of the cryptographic libraries is required.
|
||||
|
||||
Configure will attempt to locate Libgcrypt
|
||||
automatically.
|
||||
|
||||
If your installation of Libgcrypt is in another
|
||||
location, specify it using --with-libgcrypt-prefix.
|
||||
|
||||
* --with-openssl
|
||||
* --without-openssl
|
||||
* --with-libssl-prefix=[DIR]
|
||||
|
||||
libssh2 can use the OpenSSL library
|
||||
(https://www.openssl-library.org/) for cryptographic operations.
|
||||
One of the cryptographic libraries is required.
|
||||
|
||||
Configure will attempt to locate OpenSSL in the
|
||||
default location.
|
||||
|
||||
If your installation of OpenSSL is in another
|
||||
location, specify it using --with-libssl-prefix.
|
||||
|
||||
* --with-mbedtls
|
||||
* --without-mbedtls
|
||||
* --with-libmbedcrypto-prefix=[DIR]
|
||||
|
||||
libssh2 can use the mbedTLS library
|
||||
(https://tls.mbed.org) for cryptographic operations.
|
||||
One of the cryptographic libraries is required.
|
||||
|
||||
Configure will attempt to locate mbedTLS in the
|
||||
default location.
|
||||
|
||||
If your installation of mbedTLS is in another
|
||||
location, specify it using --with-libmbedcrypto-prefix.
|
||||
|
||||
* --with-libz
|
||||
* --without-libz
|
||||
* --with-libz-prefix=[DIR]
|
||||
|
||||
If present, libssh2 will attempt to use the zlib
|
||||
(https://zlib.net/) for payload compression, however
|
||||
zlib is not required.
|
||||
|
||||
If your installation of Libz is in another location,
|
||||
specify it using --with-libz-prefix.
|
||||
|
||||
* --enable-debug
|
||||
|
||||
Will make the build use more pedantic and strict compiler
|
||||
options as well as enable the libssh2_trace() function (for
|
||||
showing debug traces).
|
||||
173
vendor/libssh2/docs/INSTALL_CMAKE.md
vendored
Normal file
173
vendor/libssh2/docs/INSTALL_CMAKE.md
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
License: see COPYING
|
||||
|
||||
Source code: https://github.com/libssh2/libssh2
|
||||
|
||||
Web site source code: https://github.com/libssh2/www
|
||||
|
||||
Installation instructions are in docs/INSTALL
|
||||
=======
|
||||
To build libssh2 you will need CMake v3.7 or later [1] and one of the
|
||||
following cryptography libraries:
|
||||
|
||||
* OpenSSL
|
||||
* wolfSSL
|
||||
* Libgcrypt
|
||||
* WinCNG
|
||||
* mbedTLS
|
||||
|
||||
Getting started
|
||||
---------------
|
||||
|
||||
If you are happy with the default options, make a new build directory,
|
||||
change to it, configure the build environment and build the project:
|
||||
|
||||
```
|
||||
cmake -B bld
|
||||
cmake --build bld
|
||||
```
|
||||
|
||||
Use this with CMake 3.12.x or older:
|
||||
```
|
||||
mkdir bld
|
||||
cd bld
|
||||
cmake ..
|
||||
cmake --build .
|
||||
```
|
||||
|
||||
libssh2 will be built as a static library and will use any
|
||||
cryptography library available. The library binary will be put in
|
||||
`bin/src`, with the examples in `bin/example` and the tests in
|
||||
`bin/tests`.
|
||||
|
||||
Customising the build
|
||||
---------------------
|
||||
|
||||
You might want to customise the build options. You can pass the options
|
||||
to CMake on the command line:
|
||||
|
||||
cmake -D<option>=<value> ..
|
||||
|
||||
The following options are available:
|
||||
|
||||
* `LINT=ON`
|
||||
|
||||
Enables running the source code linter when building.
|
||||
Can be `ON` or `OFF`. Default: `OFF`
|
||||
|
||||
* `BUILD_STATIC_LIBS=OFF`
|
||||
|
||||
Determines whether to build a libssh2 static library.
|
||||
Can be `ON` or `OFF`. Default: `ON`
|
||||
|
||||
* `BUILD_SHARED_LIBS=OFF`
|
||||
|
||||
Determines whether to build a libssh2 shared library (.dll/.so).
|
||||
Can be `ON` or `OFF`. Default: `ON`
|
||||
|
||||
* `CRYPTO_BACKEND=`
|
||||
|
||||
Chooses a specific cryptography library to use for cryptographic
|
||||
operations. Can be `OpenSSL` (https://www.openssl-library.org/),
|
||||
`Libgcrypt` (https://www.gnupg.org/), `WinCNG` (Windows Vista+),
|
||||
`mbedTLS` (https://www.trustedfirmware.org/projects/mbed-tls/) or
|
||||
blank to use any library available.
|
||||
|
||||
CMake will attempt to locate the libraries automatically. See [2]
|
||||
for more information.
|
||||
|
||||
* `ENABLE_ZLIB_COMPRESSION=ON`
|
||||
|
||||
Use zlib (https://zlib.net/) for payload compression.
|
||||
Can be `ON` or `OFF`. Default: `OFF`
|
||||
|
||||
* `ENABLE_DEBUG_LOGGING=ON`
|
||||
|
||||
Enable the libssh2_trace() function for showing debug traces.
|
||||
Can be `ON` or `OFF`. Default: `OFF` in Release, `ON` in `Debug`
|
||||
|
||||
* `CLEAR_MEMORY=OFF`
|
||||
|
||||
Disable secure zero memory before freeing it (not recommended).
|
||||
Can be `ON` or `OFF`. Default: `ON`
|
||||
|
||||
Build tools
|
||||
-----------
|
||||
|
||||
The previous examples used CMake to start the build using:
|
||||
|
||||
cmake --build .
|
||||
|
||||
Alternatively, once CMake has configured your project, you can use
|
||||
your own build tool, e.g GNU make, Visual Studio, etc., from that
|
||||
point onwards.
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
To test the build, run the appropriate test target for your build
|
||||
system. For example:
|
||||
|
||||
```
|
||||
cmake --build . --target test
|
||||
```
|
||||
or
|
||||
```
|
||||
cmake --build . --target RUN_TESTS
|
||||
```
|
||||
|
||||
How do I use libssh2 in my project if my project does not use CMake?
|
||||
-------------------------------------------------------------------
|
||||
|
||||
If you are not using CMake for your own project, install libssh2
|
||||
```
|
||||
cmake <libssh2 source location>
|
||||
cmake --build .
|
||||
cmake --build . --target install
|
||||
```
|
||||
or
|
||||
```
|
||||
cmake --build . --target INSTALL
|
||||
```
|
||||
|
||||
and then specify the install location to your project in the normal
|
||||
way for your build environment. If you do not like the default install
|
||||
location, add `-DCMAKE_INSTALL_PREFIX=<chosen prefix>` when initially
|
||||
configuring the project.
|
||||
|
||||
How can I use libssh2 in my project if it also uses CMake?
|
||||
----------------------------------------------------------
|
||||
|
||||
If your own project also uses CMake, you do not need to worry about
|
||||
setting it up with libssh2's location. Add the following lines and
|
||||
CMake will find libssh2 on your system, set up the necessary paths and
|
||||
link the library with your binary.
|
||||
|
||||
find_package(libssh2 REQUIRED CONFIG)
|
||||
target_link_libraries(my_project_target libssh2::libssh2)
|
||||
|
||||
You still have to make libssh2 available on your system first. You can
|
||||
install it in the traditional way shown above, but you do not have to.
|
||||
Instead you can build it, which will export its location to the user
|
||||
package registry [3] where `find_package` will find it.
|
||||
|
||||
You can even combine the two steps using a so-called 'superbuild'
|
||||
project [4] that downloads, builds and exports libssh2, and then
|
||||
builds your project:
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(
|
||||
libssh2
|
||||
URL <libssh2 download location>
|
||||
URL_HASH SHA256=<libssh2 archive SHA256>
|
||||
INSTALL_COMMAND "")
|
||||
|
||||
ExternalProject_Add(
|
||||
MyProject DEPENDS libssh2
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
INSTALL_COMMAND "")
|
||||
|
||||
[1] https://www.cmake.org/cmake/resources/software.html
|
||||
[2] https://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html
|
||||
[3] https://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html#package-registry
|
||||
[4] https://blog.kitware.com/wp-content/uploads/2016/01/kitware_quarterly1009.pdf
|
||||
190
vendor/libssh2/docs/Makefile.am
vendored
Normal file
190
vendor/libssh2/docs/Makefile.am
vendored
Normal file
@@ -0,0 +1,190 @@
|
||||
EXTRA_DIST = template.3 AUTHORS BINDINGS.md HACKING.md HACKING-CRYPTO \
|
||||
INSTALL_AUTOTOOLS INSTALL_CMAKE.md SECURITY.md TODO CMakeLists.txt
|
||||
|
||||
dist_man_MANS = \
|
||||
libssh2_agent_connect.3 \
|
||||
libssh2_agent_disconnect.3 \
|
||||
libssh2_agent_free.3 \
|
||||
libssh2_agent_get_identity.3 \
|
||||
libssh2_agent_get_identity_path.3 \
|
||||
libssh2_agent_init.3 \
|
||||
libssh2_agent_list_identities.3 \
|
||||
libssh2_agent_set_identity_path.3 \
|
||||
libssh2_agent_sign.3 \
|
||||
libssh2_agent_userauth.3 \
|
||||
libssh2_banner_set.3 \
|
||||
libssh2_base64_decode.3 \
|
||||
libssh2_channel_close.3 \
|
||||
libssh2_channel_direct_streamlocal_ex.3 \
|
||||
libssh2_channel_direct_tcpip.3 \
|
||||
libssh2_channel_direct_tcpip_ex.3 \
|
||||
libssh2_channel_eof.3 \
|
||||
libssh2_channel_exec.3 \
|
||||
libssh2_channel_flush.3 \
|
||||
libssh2_channel_flush_ex.3 \
|
||||
libssh2_channel_flush_stderr.3 \
|
||||
libssh2_channel_forward_accept.3 \
|
||||
libssh2_channel_forward_cancel.3 \
|
||||
libssh2_channel_forward_listen.3 \
|
||||
libssh2_channel_forward_listen_ex.3 \
|
||||
libssh2_channel_free.3 \
|
||||
libssh2_channel_get_exit_signal.3 \
|
||||
libssh2_channel_get_exit_status.3 \
|
||||
libssh2_channel_handle_extended_data.3 \
|
||||
libssh2_channel_handle_extended_data2.3 \
|
||||
libssh2_channel_ignore_extended_data.3 \
|
||||
libssh2_channel_open_ex.3 \
|
||||
libssh2_channel_open_session.3 \
|
||||
libssh2_channel_process_startup.3 \
|
||||
libssh2_channel_read.3 \
|
||||
libssh2_channel_read_ex.3 \
|
||||
libssh2_channel_read_stderr.3 \
|
||||
libssh2_channel_receive_window_adjust.3 \
|
||||
libssh2_channel_receive_window_adjust2.3 \
|
||||
libssh2_channel_request_auth_agent.3 \
|
||||
libssh2_channel_request_pty.3 \
|
||||
libssh2_channel_request_pty_ex.3 \
|
||||
libssh2_channel_request_pty_size.3 \
|
||||
libssh2_channel_request_pty_size_ex.3 \
|
||||
libssh2_channel_send_eof.3 \
|
||||
libssh2_channel_set_blocking.3 \
|
||||
libssh2_channel_setenv.3 \
|
||||
libssh2_channel_setenv_ex.3 \
|
||||
libssh2_channel_shell.3 \
|
||||
libssh2_channel_signal_ex.3 \
|
||||
libssh2_channel_subsystem.3 \
|
||||
libssh2_channel_wait_closed.3 \
|
||||
libssh2_channel_wait_eof.3 \
|
||||
libssh2_channel_window_read.3 \
|
||||
libssh2_channel_window_read_ex.3 \
|
||||
libssh2_channel_window_write.3 \
|
||||
libssh2_channel_window_write_ex.3 \
|
||||
libssh2_channel_write.3 \
|
||||
libssh2_channel_write_ex.3 \
|
||||
libssh2_channel_write_stderr.3 \
|
||||
libssh2_channel_x11_req.3 \
|
||||
libssh2_channel_x11_req_ex.3 \
|
||||
libssh2_crypto_engine.3 \
|
||||
libssh2_exit.3 \
|
||||
libssh2_free.3 \
|
||||
libssh2_hostkey_hash.3 \
|
||||
libssh2_init.3 \
|
||||
libssh2_keepalive_config.3 \
|
||||
libssh2_keepalive_send.3 \
|
||||
libssh2_knownhost_add.3 \
|
||||
libssh2_knownhost_addc.3 \
|
||||
libssh2_knownhost_check.3 \
|
||||
libssh2_knownhost_checkp.3 \
|
||||
libssh2_knownhost_del.3 \
|
||||
libssh2_knownhost_free.3 \
|
||||
libssh2_knownhost_get.3 \
|
||||
libssh2_knownhost_init.3 \
|
||||
libssh2_knownhost_readfile.3 \
|
||||
libssh2_knownhost_readline.3 \
|
||||
libssh2_knownhost_writefile.3 \
|
||||
libssh2_knownhost_writeline.3 \
|
||||
libssh2_poll.3 \
|
||||
libssh2_poll_channel_read.3 \
|
||||
libssh2_publickey_add.3 \
|
||||
libssh2_publickey_add_ex.3 \
|
||||
libssh2_publickey_init.3 \
|
||||
libssh2_publickey_list_fetch.3 \
|
||||
libssh2_publickey_list_free.3 \
|
||||
libssh2_publickey_remove.3 \
|
||||
libssh2_publickey_remove_ex.3 \
|
||||
libssh2_publickey_shutdown.3 \
|
||||
libssh2_scp_recv.3 \
|
||||
libssh2_scp_recv2.3 \
|
||||
libssh2_scp_send.3 \
|
||||
libssh2_scp_send64.3 \
|
||||
libssh2_scp_send_ex.3 \
|
||||
libssh2_session_abstract.3 \
|
||||
libssh2_session_banner_get.3 \
|
||||
libssh2_session_banner_set.3 \
|
||||
libssh2_session_block_directions.3 \
|
||||
libssh2_session_callback_set.3 \
|
||||
libssh2_session_callback_set2.3 \
|
||||
libssh2_session_disconnect.3 \
|
||||
libssh2_session_disconnect_ex.3 \
|
||||
libssh2_session_flag.3 \
|
||||
libssh2_session_free.3 \
|
||||
libssh2_session_get_blocking.3 \
|
||||
libssh2_session_get_read_timeout.3 \
|
||||
libssh2_session_get_timeout.3 \
|
||||
libssh2_session_handshake.3 \
|
||||
libssh2_session_hostkey.3 \
|
||||
libssh2_session_init.3 \
|
||||
libssh2_session_init_ex.3 \
|
||||
libssh2_session_last_errno.3 \
|
||||
libssh2_session_last_error.3 \
|
||||
libssh2_session_method_pref.3 \
|
||||
libssh2_session_methods.3 \
|
||||
libssh2_session_set_blocking.3 \
|
||||
libssh2_session_set_last_error.3 \
|
||||
libssh2_session_set_read_timeout.3 \
|
||||
libssh2_session_set_timeout.3 \
|
||||
libssh2_session_startup.3 \
|
||||
libssh2_session_supported_algs.3 \
|
||||
libssh2_sftp_close.3 \
|
||||
libssh2_sftp_close_handle.3 \
|
||||
libssh2_sftp_closedir.3 \
|
||||
libssh2_sftp_fsetstat.3 \
|
||||
libssh2_sftp_fstat.3 \
|
||||
libssh2_sftp_fstat_ex.3 \
|
||||
libssh2_sftp_fstatvfs.3 \
|
||||
libssh2_sftp_fsync.3 \
|
||||
libssh2_sftp_get_channel.3 \
|
||||
libssh2_sftp_init.3 \
|
||||
libssh2_sftp_last_error.3 \
|
||||
libssh2_sftp_lstat.3 \
|
||||
libssh2_sftp_mkdir.3 \
|
||||
libssh2_sftp_mkdir_ex.3 \
|
||||
libssh2_sftp_open.3 \
|
||||
libssh2_sftp_open_ex.3 \
|
||||
libssh2_sftp_open_ex_r.3 \
|
||||
libssh2_sftp_open_r.3 \
|
||||
libssh2_sftp_opendir.3 \
|
||||
libssh2_sftp_posix_rename.3 \
|
||||
libssh2_sftp_posix_rename_ex.3 \
|
||||
libssh2_sftp_read.3 \
|
||||
libssh2_sftp_readdir.3 \
|
||||
libssh2_sftp_readdir_ex.3 \
|
||||
libssh2_sftp_readlink.3 \
|
||||
libssh2_sftp_realpath.3 \
|
||||
libssh2_sftp_rename.3 \
|
||||
libssh2_sftp_rename_ex.3 \
|
||||
libssh2_sftp_rewind.3 \
|
||||
libssh2_sftp_rmdir.3 \
|
||||
libssh2_sftp_rmdir_ex.3 \
|
||||
libssh2_sftp_seek.3 \
|
||||
libssh2_sftp_seek64.3 \
|
||||
libssh2_sftp_setstat.3 \
|
||||
libssh2_sftp_shutdown.3 \
|
||||
libssh2_sftp_stat.3 \
|
||||
libssh2_sftp_stat_ex.3 \
|
||||
libssh2_sftp_statvfs.3 \
|
||||
libssh2_sftp_symlink.3 \
|
||||
libssh2_sftp_symlink_ex.3 \
|
||||
libssh2_sftp_tell.3 \
|
||||
libssh2_sftp_tell64.3 \
|
||||
libssh2_sftp_unlink.3 \
|
||||
libssh2_sftp_unlink_ex.3 \
|
||||
libssh2_sftp_write.3 \
|
||||
libssh2_sign_sk.3 \
|
||||
libssh2_trace.3 \
|
||||
libssh2_trace_sethandler.3 \
|
||||
libssh2_userauth_authenticated.3 \
|
||||
libssh2_userauth_banner.3 \
|
||||
libssh2_userauth_hostbased_fromfile.3 \
|
||||
libssh2_userauth_hostbased_fromfile_ex.3 \
|
||||
libssh2_userauth_keyboard_interactive.3 \
|
||||
libssh2_userauth_keyboard_interactive_ex.3 \
|
||||
libssh2_userauth_list.3 \
|
||||
libssh2_userauth_password.3 \
|
||||
libssh2_userauth_password_ex.3 \
|
||||
libssh2_userauth_publickey.3 \
|
||||
libssh2_userauth_publickey_fromfile.3 \
|
||||
libssh2_userauth_publickey_fromfile_ex.3 \
|
||||
libssh2_userauth_publickey_frommemory.3 \
|
||||
libssh2_userauth_publickey_sk.3 \
|
||||
libssh2_version.3
|
||||
100
vendor/libssh2/docs/SECURITY.md
vendored
Normal file
100
vendor/libssh2/docs/SECURITY.md
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
libssh2 security
|
||||
================
|
||||
|
||||
This document is intended to provide guidance on how security vulnerabilities
|
||||
should be handled in the libssh2 project.
|
||||
|
||||
Publishing Information
|
||||
----------------------
|
||||
|
||||
All known and public libssh2 vulnerabilities will be listed on [the libssh2
|
||||
web site](https://libssh2.org/).
|
||||
|
||||
Security vulnerabilities should not be entered in the project's public bug
|
||||
tracker unless the necessary configuration is in place to limit access to the
|
||||
issue to only the reporter and the project's security team.
|
||||
|
||||
Vulnerability Handling
|
||||
----------------------
|
||||
|
||||
The typical process for handling a new security vulnerability is as follows.
|
||||
|
||||
No information should be made public about a vulnerability until it is
|
||||
formally announced at the end of this process. That means, for example that a
|
||||
bug tracker entry must NOT be created to track the issue since that will make
|
||||
the issue public and it should not be discussed on the project's public
|
||||
mailing list. Also messages associated with any commits should not make any
|
||||
reference to the security nature of the commit if done prior to the public
|
||||
announcement.
|
||||
|
||||
- The person discovering the issue, the reporter, reports the vulnerability
|
||||
privately to `libssh2-security@haxx.se`. That is an email alias that reaches
|
||||
a handful of selected and trusted people.
|
||||
|
||||
- Messages that do not relate to the reporting or managing of an undisclosed
|
||||
security vulnerability in libssh2 are ignored and no further action is
|
||||
required.
|
||||
|
||||
- A person in the security team sends an e-mail to the original reporter to
|
||||
acknowledge the report.
|
||||
|
||||
- The security team investigates the report and either rejects it or accepts
|
||||
it.
|
||||
|
||||
- If the report is rejected, the team writes to the reporter to explain why.
|
||||
|
||||
- If the report is accepted, the team writes to the reporter to let him/her
|
||||
know it is accepted and that they are working on a fix.
|
||||
|
||||
- The security team discusses the problem, works out a fix, considers the
|
||||
impact of the problem and suggests a release schedule. This discussion
|
||||
should involve the reporter as much as possible.
|
||||
|
||||
- The release of the information should be "as soon as possible" and is most
|
||||
often synced with an upcoming release that contains the fix. If the
|
||||
reporter, or anyone else, thinks the next planned release is too far away
|
||||
then a separate earlier release for security reasons should be considered.
|
||||
|
||||
- Write a security advisory draft about the problem that explains what the
|
||||
problem is, its impact, which versions it affects, solutions or
|
||||
workarounds, when the release is out and make sure to credit all
|
||||
contributors properly.
|
||||
|
||||
- Request a CVE number from
|
||||
[distros@openwall](https://oss-security.openwall.org/wiki/mailing-lists/distros)
|
||||
when also informing and preparing them for the upcoming public security
|
||||
vulnerability announcement - attach the advisory draft for information. Note
|
||||
that 'distros' will not accept an embargo longer than 14 days.
|
||||
|
||||
- Update the "security advisory" with the CVE number.
|
||||
|
||||
- The security team commits the fix in a private branch. The commit message
|
||||
should ideally contain the CVE number. This fix is usually also distributed
|
||||
to the 'distros' mailing list to allow them to use the fix prior to the
|
||||
public announcement.
|
||||
|
||||
- At the day of the next release, the private branch is merged into the master
|
||||
branch and pushed. Once pushed, the information is accessible to the public
|
||||
and the actual release should follow suit immediately afterwards.
|
||||
|
||||
- The project team creates a release that includes the fix.
|
||||
|
||||
- The project team announces the release and the vulnerability to the world in
|
||||
the same manner we always announce releases. It gets sent to the libssh2
|
||||
mailing list and the oss-security mailing list.
|
||||
|
||||
- The security web page on the web site should get the new vulnerability
|
||||
mentioned.
|
||||
|
||||
LIBSSH2-SECURITY (at haxx dot se)
|
||||
--------------------------------
|
||||
|
||||
Who is on this list? There are a couple of criteria you must meet, and then we
|
||||
might ask you to join the list or you can ask to join it. It really is not very
|
||||
formal. We basically only require that you have a long-term presence in the
|
||||
libssh2 project and you have shown an understanding for the project and its way
|
||||
of working. You must have been around for a good while and you should have no
|
||||
plans in vanishing in the near future.
|
||||
|
||||
We do not make the list of participants public mostly because it tends to vary
|
||||
somewhat over time and a list somewhere will only risk getting outdated.
|
||||
180
vendor/libssh2/docs/TODO
vendored
Normal file
180
vendor/libssh2/docs/TODO
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
Things TODO
|
||||
===========
|
||||
|
||||
* Fix -Wsign-conversion warnings in src
|
||||
|
||||
* Fix the numerous malloc+copy operations for sending data, see "Buffering
|
||||
Improvements" below for details
|
||||
|
||||
* make sure the windowing code adapts better to slow situations so that it
|
||||
does not then use as much memory as today. Possibly by an app-controllable
|
||||
"Window mode"?
|
||||
|
||||
* Decrease the number of mallocs. Everywhere. Will get easier once the
|
||||
buffering improvements have been done.
|
||||
|
||||
* Use SO_NOSIGPIPE for Mac OS/BSD systems where MSG_NOSIGNAL does not
|
||||
exist/work
|
||||
|
||||
* Extend the test suite to actually test lots of aspects of libssh2
|
||||
|
||||
* Update public API to drop casts added to fix compiler warnings
|
||||
|
||||
* Expose error messages sent by the server
|
||||
|
||||
* select() is troublesome with libssh2 when using multiple channels over
|
||||
the same session. See "New Transport API" below for more details.
|
||||
|
||||
* for obsolete/weak/insecure algorithms: either stop enabling them by default
|
||||
at build-time, or delete support for them completely.
|
||||
|
||||
At next SONAME bump
|
||||
===================
|
||||
|
||||
* stop using #defined macros as part of the official API. The macros should
|
||||
either be turned into real functions or discarded from the API.
|
||||
|
||||
* delete or deprecate libssh2_session_callback_set()
|
||||
|
||||
* bump length arguments in callback functions to size_t/ssize_t
|
||||
|
||||
* remove the following functions from the API/ABI
|
||||
|
||||
libssh2_base64_decode()
|
||||
libssh2_session_flag()
|
||||
libssh2_channel_handle_extended_data()
|
||||
libssh2_channel_receive_window_adjust()
|
||||
libssh2_poll()
|
||||
libssh2_poll_channel_read()
|
||||
libssh2_session_startup() (libssh2_session_handshake() is the replacement)
|
||||
libssh2_banner_set() (libssh2_session_banner_set() is the replacement)
|
||||
|
||||
* Rename a few function:
|
||||
|
||||
libssh2_hostkey_hash => libssh2_session_hostkey_hash
|
||||
libssh2_banner_set => libssh2_session_banner_set
|
||||
|
||||
* change 'int' to 'libssh2_socket_t' in the public API for sockets.
|
||||
|
||||
* Use 'size_t' for string lengths in all functions.
|
||||
|
||||
* Add a comment field to struct libssh2_knownhost.
|
||||
|
||||
* remove the existing libssh2_knownhost_add() function and rename
|
||||
libssh2_knownhost_addc to become the new libssh2_knownhost_add instead
|
||||
|
||||
* remove the existing libssh2_scp_send_ex() function and rename
|
||||
libssh2_scp_send64 to become the new libssh2_scp_send instead.
|
||||
|
||||
* remove the existing libssh2_knownhost_check() function and rename
|
||||
libssh2_knownhost_checkp() to become the new libssh2_knownhost_check instead
|
||||
|
||||
Buffering Improvements
|
||||
======================
|
||||
|
||||
transport_write
|
||||
|
||||
- If this function gets called with a total packet size that is larger than
|
||||
32K, it should create more than one SSH packet so that it keeps the largest
|
||||
one below 32K
|
||||
|
||||
sftp_write
|
||||
|
||||
- should not copy/allocate anything for the data, only create a header chunk
|
||||
and pass on the payload data to channel_write "pointed to"
|
||||
|
||||
New Transport API
|
||||
=================
|
||||
|
||||
THE PROBLEM
|
||||
|
||||
The problem in a nutshell is that when an application opens up multiple
|
||||
channels over a single session, those are all using the same socket. If the
|
||||
application is then using select() to wait for traffic (like any sensible app
|
||||
does) and wants to act on the data when select() tells there is something to
|
||||
for example read, what does an application do?
|
||||
|
||||
With our current API, you have to loop over all the channels and read from
|
||||
them to see if they have data. This effectively makes blocking reads
|
||||
impossible. If the app has many channels in a setup like this, it even becomes
|
||||
slow. (The original API had the libssh2_poll_channel_read() and libssh2_poll()
|
||||
to somewhat overcome this hurdle, but they too have pretty much the same
|
||||
problems plus a few others.)
|
||||
|
||||
Traffic in the other direction is similarly limited: the app has to try
|
||||
sending to all channels, even though some of them may very well not accept any
|
||||
data at that point.
|
||||
|
||||
A SOLUTION
|
||||
|
||||
I suggest we introduce two new helper functions:
|
||||
|
||||
libssh2_transport_read()
|
||||
|
||||
- Read "a bunch" of data from the given socket and returns information to the
|
||||
app about what channels that are now readable (ie they will not block when
|
||||
read from). The function can be called over and over and it will repeatedly
|
||||
return info about what channels that are readable at that moment.
|
||||
|
||||
libssh2_transport_write()
|
||||
|
||||
- Returns information about what channels that are writable, in the sense
|
||||
that they have windows set from the remote side that allows data to get
|
||||
sent. Writing to one of those channels will not block. Of course, the
|
||||
underlying socket may only accept a certain amount of data, so at the first
|
||||
short return, nothing more should be attempted to get sent until select()
|
||||
(or equivalent) has been used on the master socket again.
|
||||
|
||||
I have not yet figured out a sensible API for how these functions should return
|
||||
that info, but if we agree on the general principles I guess we can work that
|
||||
out.
|
||||
|
||||
VOLUNTARY
|
||||
|
||||
I wanted to mention that these two helper functions would not be mandatory
|
||||
in any way. They would just be there for those who want them, and existing
|
||||
programs can remain using the old functions only if they prefer to.
|
||||
|
||||
New SFTP API
|
||||
============
|
||||
|
||||
PURPOSE
|
||||
|
||||
Provide API functions that explicitly tells at once that a (full) SFTP file
|
||||
transfer is wanted, to allow libssh2 to leverage on that knowledge to speed
|
||||
up things internally. It can for example do read ahead, buffer writes (merge
|
||||
small writes into larger chunks), better tune the SSH window and more. This
|
||||
sort of API is already provided for SCP transfers.
|
||||
|
||||
API
|
||||
|
||||
New functions:
|
||||
|
||||
LIBSSH2_SFTP_HANDLE *libssh2_sftp_send(SFTP_SESSION *sftp,
|
||||
libssh2_uint64_t filesize,
|
||||
char *remote_path,
|
||||
size_t remote_path_len,
|
||||
long mode);
|
||||
|
||||
Tell libssh2 that a local file with a given size is about to get sent to
|
||||
the SFTP server.
|
||||
|
||||
LIBSSH2_SFTP_HANDLE *libssh2_sftp_recv();
|
||||
|
||||
Tell libssh2 that a remote file is requested to get downloaded from the SFTP
|
||||
server.
|
||||
|
||||
Only the setup of the file transfer is different from an application's point
|
||||
of view. Depending on direction of the transfer(s), the following already
|
||||
existing functions should then be used until the transfer is complete:
|
||||
|
||||
libssh2_sftp_read()
|
||||
libssh2_sftp_write()
|
||||
|
||||
HOW TO USE
|
||||
|
||||
1. Setup the transfer using one of the two new functions.
|
||||
|
||||
2. Loop through the reading or writing of data.
|
||||
|
||||
3. Cleanup the transfer
|
||||
24
vendor/libssh2/docs/libssh2_agent_connect.3
vendored
Normal file
24
vendor/libssh2/docs/libssh2_agent_connect.3
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_connect 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_connect - connect to an ssh-agent
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_connect(LIBSSH2_AGENT *agent);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Connect to an ssh-agent running on the system.
|
||||
|
||||
Call \fBlibssh2_agent_disconnect(3)\fP to close the connection after
|
||||
you are doing using it.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_disconnect(3)
|
||||
22
vendor/libssh2/docs/libssh2_agent_disconnect.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_agent_disconnect.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_disconnect 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_disconnect - close a connection to an ssh-agent
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_disconnect(LIBSSH2_AGENT *agent);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Close a connection to an ssh-agent.
|
||||
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_connect(3)
|
||||
.BR libssh2_agent_free(3)
|
||||
22
vendor/libssh2/docs/libssh2_agent_free.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_agent_free.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_free 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_free - free an ssh-agent handle
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_agent_free(LIBSSH2_AGENT *agent);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Free an ssh-agent handle. This function also frees the internal
|
||||
collection of public keys.
|
||||
.SH RETURN VALUE
|
||||
None.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_disconnect(3)
|
||||
36
vendor/libssh2/docs/libssh2_agent_get_identity.3
vendored
Normal file
36
vendor/libssh2/docs/libssh2_agent_get_identity.3
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_get_identity 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_get_identity - get a public key off the collection of public keys managed by ssh-agent
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_get_identity(LIBSSH2_AGENT *agent,
|
||||
struct libssh2_agent_publickey **store,
|
||||
struct libssh2_agent_publickey *prev);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIlibssh2_agent_get_identity(3)\fP allows an application to iterate
|
||||
over all public keys in the collection managed by ssh-agent.
|
||||
|
||||
\fIstore\fP should point to a pointer that gets filled in to point to the
|
||||
public key data.
|
||||
|
||||
\fIprev\fP is a pointer to a previous 'struct libssh2_agent_publickey'
|
||||
as returned by a previous invoke of this function, or NULL to get the
|
||||
first entry in the internal collection.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if everything is fine and information about a host was stored in
|
||||
the \fIstore\fP struct.
|
||||
|
||||
Returns 1 if it reached the end of public keys.
|
||||
|
||||
Returns negative values for error
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_list_identities(3)
|
||||
.BR libssh2_agent_userauth(3)
|
||||
22
vendor/libssh2/docs/libssh2_agent_get_identity_path.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_agent_get_identity_path.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) Will Cosgrove
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_get_identity_path 3 "6 Mar 2019" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_get_identity_path - gets the custom ssh-agent socket path
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
const char *
|
||||
libssh2_agent_get_identity_path(LIBSSH2_AGENT *agent);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Returns the custom agent identity socket path if set using libssh2_agent_set_identity_path()
|
||||
|
||||
.SH RETURN VALUE
|
||||
Returns the socket path on disk.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.9
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_set_identity_path(3)
|
||||
28
vendor/libssh2/docs/libssh2_agent_init.3
vendored
Normal file
28
vendor/libssh2/docs/libssh2_agent_init.3
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_init 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_init - init an ssh-agent handle
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_AGENT *
|
||||
libssh2_agent_init(LIBSSH2_SESSION *session);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Init an ssh-agent handle. Returns the handle to an internal
|
||||
representation of an ssh-agent connection. After the successful
|
||||
initialization, an application can call \fBlibssh2_agent_connect(3)\fP
|
||||
to connect to a running ssh-agent.
|
||||
|
||||
Call \fBlibssh2_agent_free(3)\fP to free the handle again after you are
|
||||
doing using it.
|
||||
.SH RETURN VALUE
|
||||
Returns a handle pointer or NULL if something went wrong. The returned handle
|
||||
is used as input to all other ssh-agent related functions libssh2 provides.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_connect(3)
|
||||
.BR libssh2_agent_free(3)
|
||||
25
vendor/libssh2/docs/libssh2_agent_list_identities.3
vendored
Normal file
25
vendor/libssh2/docs/libssh2_agent_list_identities.3
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_list_identities 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_list_identities - request an ssh-agent to list of public keys.
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_list_identities(LIBSSH2_AGENT *agent);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Request an ssh-agent to list of public keys, and stores them in the
|
||||
internal collection of the handle. Call
|
||||
\fIlibssh2_agent_get_identity(3)\fP to get a public key off the
|
||||
collection.
|
||||
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_connect(3)
|
||||
.BR libssh2_agent_get_identity(3)
|
||||
22
vendor/libssh2/docs/libssh2_agent_set_identity_path.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_agent_set_identity_path.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) Will Cosgrove
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_set_identity_path 3 "6 Mar 2019" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_set_identity_path - set an ssh-agent socket path on disk
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_agent_set_identity_path(LIBSSH2_AGENT *agent, const char *path);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Allows a custom agent identity socket path instead of the default SSH_AUTH_SOCK env value
|
||||
|
||||
.SH RETURN VALUE
|
||||
Returns void
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.9
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_get_identity_path(3)
|
||||
54
vendor/libssh2/docs/libssh2_agent_sign.3
vendored
Normal file
54
vendor/libssh2/docs/libssh2_agent_sign.3
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_sign 3 "1 Oct 2022" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_sign - sign data, with the help of ssh-agent
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_sign(LIBSSH2_AGENT *agent,
|
||||
struct libssh2_agent_publickey *identity,
|
||||
unsigned char **sig,
|
||||
size_t *s_len,
|
||||
const unsigned char *data,
|
||||
size_t d_len,
|
||||
const char *method,
|
||||
unsigned int method_len);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIagent\fP - ssh-agent handle as returned by
|
||||
.BR libssh2_agent_init(3)
|
||||
|
||||
\fIidentity\fP - Public key to authenticate with, as returned by
|
||||
.BR libssh2_agent_get_identity(3)
|
||||
|
||||
\fIsig\fP - A pointer to a buffer in which to place the signature. The caller
|
||||
is responsible for freeing the signature with LIBSSH2_FREE.
|
||||
|
||||
\fIs_len\fP - A pointer to the length of the sig parameter.
|
||||
|
||||
\fIdata\fP - The data to sign.
|
||||
|
||||
\fId_len\fP - The length of the data parameter.
|
||||
|
||||
\fImethod\fP - A buffer indicating the signing method. This should match the
|
||||
string at the start of identity->blob.
|
||||
|
||||
\fImethod_len\fP - The length of the method parameter.
|
||||
|
||||
Sign data using an ssh-agent. This function can be used in a callback
|
||||
registered with libssh2_session_callback_set2(3) using
|
||||
LIBSSH2_CALLBACK_AUTHAGENT_SIGN to sign an authentication challenge from a
|
||||
server. However, the client is responsible for implementing the code that calls
|
||||
this callback in response to a SSH2_AGENTC_SIGN_REQUEST message.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.11.0
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_get_identity(3)
|
||||
.BR libssh2_agent_userauth(3)
|
||||
.BR libssh2_session_callback_set2(3)
|
||||
32
vendor/libssh2/docs/libssh2_agent_userauth.3
vendored
Normal file
32
vendor/libssh2/docs/libssh2_agent_userauth.3
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.\" Copyright (C) Daiki Ueno
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_agent_userauth 3 "23 Dec 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_agent_userauth - authenticate a session with a public key, with the help of ssh-agent
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_agent_userauth(LIBSSH2_AGENT *agent,
|
||||
const char *username,
|
||||
struct libssh2_agent_publickey *identity);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIagent\fP - ssh-agent handle as returned by
|
||||
.BR libssh2_agent_init(3)
|
||||
|
||||
\fIusername\fP - Remote user name to authenticate as.
|
||||
|
||||
\fIidentity\fP - Public key to authenticate with, as returned by
|
||||
.BR libssh2_agent_get_identity(3)
|
||||
|
||||
Attempt public key authentication with the help of ssh-agent.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_agent_init(3)
|
||||
.BR libssh2_agent_get_identity(3)
|
||||
.BR libssh2_agent_sign(3)
|
||||
36
vendor/libssh2/docs/libssh2_banner_set.3
vendored
Normal file
36
vendor/libssh2/docs/libssh2_banner_set.3
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_banner_set 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_banner_set - set the SSH protocol banner for the local client
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_banner_set(LIBSSH2_SESSION *session, const char *banner);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is \fBDEPRECATED\fP in 1.4.0. Use the
|
||||
\fIlibssh2_session_banner_set(3)\fP function instead!
|
||||
|
||||
\fIsession\fP - Session instance as returned by
|
||||
.BR libssh2_session_init_ex(3)
|
||||
|
||||
\fIbanner\fP - A pointer to a user defined banner
|
||||
|
||||
Set the banner that will be sent to the remote host when the SSH session is
|
||||
started with
|
||||
.BR libssh2_session_handshake(3)
|
||||
This is optional; a banner corresponding to the protocol and libssh2 version
|
||||
will be sent by default.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH AVAILABILITY
|
||||
Marked as deprecated since 1.4.0
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_handshake(3)
|
||||
30
vendor/libssh2/docs/libssh2_base64_decode.3
vendored
Normal file
30
vendor/libssh2/docs/libssh2_base64_decode.3
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_base64_decode 3 "23 Dec 2008" "libssh2 1.0" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_base64_decode - decode a base64 encoded string
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_base64_decode(LIBSSH2_SESSION *session, char **dest,
|
||||
unsigned int *dest_len, const char *src,
|
||||
unsigned int src_len);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is deemed DEPRECATED and will be removed from libssh2 in a
|
||||
future version. Do not use it!
|
||||
|
||||
Decode a base64 chunk and store it into a newly allocated buffer. 'dest_len'
|
||||
will be set to hold the length of the returned buffer that '*dest' will point
|
||||
to.
|
||||
|
||||
The returned buffer is allocated by this function, but it is not clear how to
|
||||
free that memory!
|
||||
.SH BUGS
|
||||
The memory that *dest points to is allocated by the malloc function libssh2
|
||||
uses, but there is no way for an application to free this data in a safe and
|
||||
reliable way!
|
||||
.SH RETURN VALUE
|
||||
0 if successful, \-1 if any error occurred.
|
||||
29
vendor/libssh2/docs/libssh2_channel_close.3
vendored
Normal file
29
vendor/libssh2/docs/libssh2_channel_close.3
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_close 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_close - close a channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_close(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - active channel stream to set closed status on.
|
||||
|
||||
Close an active data channel. In practice this means sending an SSH_MSG_CLOSE
|
||||
packet to the remote host which serves as instruction that no further data
|
||||
will be sent to it. The remote host may still send data back until it sends
|
||||
its own close message in response. To wait for the remote end to close its
|
||||
connection as well, follow this command with
|
||||
.BR libssh2_channel_wait_closed(3)
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
34
vendor/libssh2/docs/libssh2_channel_direct_streamlocal_ex.3
vendored
Normal file
34
vendor/libssh2/docs/libssh2_channel_direct_streamlocal_ex.3
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_direct_streamlocal_ex 3 "10 Apr 2023" "libssh2 1.11.0" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_direct_streamlocal_ex - Tunnel a UNIX socket connection through an SSH session
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_direct_streamlocal_ex(LIBSSH2_SESSION *session,
|
||||
const char *socket_path,
|
||||
const char *shost, int sport);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIsession\fP - Session instance as returned by
|
||||
.BR libssh2_session_init_ex(3)
|
||||
|
||||
\fIsocket_path\fP - UNIX socket to connect to using the SSH host as a proxy.
|
||||
|
||||
\fIshost\fP - Host to tell the SSH server the connection originated on.
|
||||
|
||||
\fIsport\fP - Port to tell the SSH server the connection originated from.
|
||||
|
||||
Tunnel a UNIX socket connection through the SSH transport via the remote host to
|
||||
a third party. Communication from the client to the SSH server remains
|
||||
encrypted, communication from the server to the 3rd party host travels
|
||||
in cleartext.
|
||||
.SH RETURN VALUE
|
||||
Pointer to a newly allocated LIBSSH2_CHANNEL instance, or NULL on errors.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_init_ex(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_direct_tcpip.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_direct_tcpip.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_direct_tcpip 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_direct_tcpip - convenience macro for \fIlibssh2_channel_direct_tcpip_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_direct_tcpip(LIBSSH2_SESSION *session,
|
||||
const char *host, int port);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_direct_tcpip_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_direct_tcpip_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_direct_tcpip_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_direct_tcpip_ex(3)
|
||||
40
vendor/libssh2/docs/libssh2_channel_direct_tcpip_ex.3
vendored
Normal file
40
vendor/libssh2/docs/libssh2_channel_direct_tcpip_ex.3
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_direct_tcpip_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_direct_tcpip_ex - Tunnel a TCP connection through an SSH session
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_direct_tcpip_ex(LIBSSH2_SESSION *session,
|
||||
const char *host, int port,
|
||||
const char *shost, int sport);
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_direct_tcpip(LIBSSH2_SESSION *session,
|
||||
const char *host, int port);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIsession\fP - Session instance as returned by
|
||||
.BR libssh2_session_init_ex(3)
|
||||
|
||||
\fIhost\fP - Third party host to connect to using the SSH host as a proxy.
|
||||
|
||||
\fIport\fP - Port on third party host to connect to.
|
||||
|
||||
\fIshost\fP - Host to tell the SSH server the connection originated on.
|
||||
|
||||
\fIsport\fP - Port to tell the SSH server the connection originated from.
|
||||
|
||||
Tunnel a TCP/IP connection through the SSH transport via the remote host to
|
||||
a third party. Communication from the client to the SSH server remains
|
||||
encrypted, communication from the server to the 3rd party host travels
|
||||
in cleartext.
|
||||
.SH RETURN VALUE
|
||||
Pointer to a newly allocated LIBSSH2_CHANNEL instance, or NULL on errors.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_init_ex(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_eof.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_eof.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_eof - check a channel's EOF status
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_eof(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - active channel stream to set closed status on.
|
||||
|
||||
Check if the remote host has sent an EOF status for the selected stream.
|
||||
.SH RETURN VALUE
|
||||
Returns 1 if the remote host has sent EOF, otherwise 0. Negative on
|
||||
failure.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_close(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_exec.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_exec.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_exec 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_exec - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_exec(LIBSSH2_CHANNEL *channel, const char *command);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_process_startup(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_process_startup(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_flush.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_flush.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_flush 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_flush - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_flush(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_flush_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_flush_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_flush_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_flush_ex(3)
|
||||
34
vendor/libssh2/docs/libssh2_channel_flush_ex.3
vendored
Normal file
34
vendor/libssh2/docs/libssh2_channel_flush_ex.3
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_flush_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_flush_ex - flush a channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_flush_ex(LIBSSH2_CHANNEL *channel, int streamid);
|
||||
|
||||
int
|
||||
libssh2_channel_flush(LIBSSH2_CHANNEL *channel);
|
||||
|
||||
int
|
||||
libssh2_channel_flush_stderr(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Active channel stream to flush.
|
||||
|
||||
\fIstreamid\fP - Specific substream number to flush. Groups of substreams may
|
||||
be flushed by passing on of the following Constants.
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA\fP: Flush all extended data substreams
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_FLUSH_ALL\fP: Flush all substreams
|
||||
|
||||
Flush the read buffer for a given channel instance. Individual substreams may
|
||||
be flushed by number or using one of the provided macros.
|
||||
.SH RETURN VALUE
|
||||
Return the number of bytes flushed or negative on failure.
|
||||
It returns LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
21
vendor/libssh2/docs/libssh2_channel_flush_stderr.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_flush_stderr.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_flush_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_flush_stderr - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_flush_stderr(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_flush_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_flush_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_flush_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_flush_ex(3)
|
||||
23
vendor/libssh2/docs/libssh2_channel_forward_accept.3
vendored
Normal file
23
vendor/libssh2/docs/libssh2_channel_forward_accept.3
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_forward_accept 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_forward_accept - accept a queued connection
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_forward_accept(LIBSSH2_LISTENER *listener);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIlistener\fP is a forwarding listener instance as returned by
|
||||
\fBlibssh2_channel_forward_listen_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
A newly allocated channel instance or NULL on failure.
|
||||
.SH ERRORS
|
||||
When this function returns NULL use \fIlibssh2_session_last_errno(3)\fP to
|
||||
extract the error code. If that code is \fILIBSSH2_ERROR_EAGAIN\fP, the
|
||||
session is set to do non-blocking I/O but the call would block.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_forward_listen_ex(3)
|
||||
28
vendor/libssh2/docs/libssh2_channel_forward_cancel.3
vendored
Normal file
28
vendor/libssh2/docs/libssh2_channel_forward_cancel.3
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_forward_cancel 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_forward_cancel - cancel a forwarded TCP port
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_forward_cancel(LIBSSH2_LISTENER *listener);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIlistener\fP - Forwarding listener instance as returned by
|
||||
.BR libssh2_channel_forward_listen_ex(3)
|
||||
|
||||
Instruct the remote host to stop listening for new connections on a previously
|
||||
requested host/port.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_forward_listen_ex(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_forward_listen.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_forward_listen.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_forward_listen 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_forward_listen - convenience macro for \fIlibssh2_channel_forward_listen_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_forward_listen(LIBSSH2_SESSION *session, int port);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_forward_listen_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_forward_listen_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_forward_listen_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_forward_listen_ex(3)
|
||||
51
vendor/libssh2/docs/libssh2_channel_forward_listen_ex.3
vendored
Normal file
51
vendor/libssh2/docs/libssh2_channel_forward_listen_ex.3
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_forward_listen_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_forward_listen_ex - listen to inbound connections
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_LISTENER *
|
||||
libssh2_channel_forward_listen_ex(LIBSSH2_SESSION *session,
|
||||
char *host, int port,
|
||||
int *bound_port, int queue_maxsize);
|
||||
|
||||
LIBSSH2_LISTENER *
|
||||
libssh2_channel_forward_listen(LIBSSH2_SESSION *session, int port);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Instruct the remote SSH server to begin listening for inbound TCP/IP
|
||||
connections. New connections will be queued by the library until accepted by
|
||||
\fIlibssh2_channel_forward_accept(3)\fP.
|
||||
|
||||
\fIsession\fP - instance as returned by libssh2_session_init().
|
||||
|
||||
\fIhost\fP - specific address to bind to on the remote host. Binding to
|
||||
0.0.0.0 (default when NULL is passed) will bind to all available addresses.
|
||||
|
||||
\fIport\fP - port to bind to on the remote host. When 0 is passed, the remote
|
||||
host will select the first available dynamic port.
|
||||
|
||||
\fIbound_port\fP - Populated with the actual port bound on the remote
|
||||
host. Useful when requesting dynamic port numbers.
|
||||
|
||||
\fIqueue_maxsize\fP - Maximum number of pending connections to queue before
|
||||
rejecting further attempts.
|
||||
|
||||
\fIlibssh2_channel_forward_listen(3)\fP is a macro.
|
||||
.SH RETURN VALUE
|
||||
A newly allocated LIBSSH2_LISTENER instance or NULL on failure.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_PROTO\fP - An invalid SSH protocol response was received on the socket.
|
||||
|
||||
\fILIBSSH2_ERROR_REQUEST_DENIED\fP - The remote server refused the request.
|
||||
|
||||
\fILIBSSH2_ERROR_EAGAIN\fP - Marked for non-blocking I/O but the call would block.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_forward_accept(3)
|
||||
26
vendor/libssh2/docs/libssh2_channel_free.3
vendored
Normal file
26
vendor/libssh2/docs/libssh2_channel_free.3
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_free 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_free - free all resources associated with a channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_free(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Channel stream to free.
|
||||
|
||||
Release all resources associated with a channel stream. If the channel has
|
||||
not yet been closed with
|
||||
.BR libssh2_channel_close(3)
|
||||
, it will be called automatically so that the remote end may know that it
|
||||
can safely free its own resources.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_close(3)
|
||||
39
vendor/libssh2/docs/libssh2_channel_get_exit_signal.3
vendored
Normal file
39
vendor/libssh2/docs/libssh2_channel_get_exit_signal.3
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_get_exit_signal 3 "4 Oct 2010" "libssh2 1.2.8" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_get_exit_signal - get the remote exit signal
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_get_exit_signal(LIBSSH2_CHANNEL *channel,
|
||||
char **exitsignal, size_t *exitsignal_len,
|
||||
char **errmsg, size_t *errmsg_len,
|
||||
char **langtag, size_t *langtag_len);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Closed channel stream to retrieve exit signal from.
|
||||
|
||||
\fIexitsignal\fP - If not NULL, is populated by reference with the exit signal
|
||||
(without leading "SIG"). Note that the string is stored in a newly allocated
|
||||
buffer. If the remote program exited cleanly, the referenced string pointer
|
||||
will be set to NULL.
|
||||
|
||||
\fIexitsignal_len\fP - If not NULL, is populated by reference with the length
|
||||
of exitsignal.
|
||||
|
||||
\fIerrmsg\fP - If not NULL, is populated by reference with the error message
|
||||
(if provided by remote server, if not it will be set to NULL). Note that the
|
||||
string is stored in a newly allocated buffer.
|
||||
|
||||
\fIerrmsg_len\fP - If not NULL, is populated by reference with the length of errmsg.
|
||||
|
||||
\fIlangtag\fP - If not NULL, is populated by reference with the language tag
|
||||
(if provided by remote server, if not it will be set to NULL). Note that the
|
||||
string is stored in a newly allocated buffer.
|
||||
|
||||
\fIlangtag_len\fP - If not NULL, is populated by reference with the length of langtag.
|
||||
.SH RETURN VALUE
|
||||
Numeric error code corresponding to the the Error Code constants.
|
||||
20
vendor/libssh2/docs/libssh2_channel_get_exit_status.3
vendored
Normal file
20
vendor/libssh2/docs/libssh2_channel_get_exit_status.3
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_get_exit_status 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_get_exit_status - get the remote exit code
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_get_exit_status(LIBSSH2_CHANNEL* channel)
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Closed channel stream to retrieve exit status from.
|
||||
|
||||
Returns the exit code raised by the process running on the remote host at
|
||||
the other end of the named channel. Note that the exit status may not be
|
||||
available if the remote end has not yet set its status to closed.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 on failure, otherwise the \fIExit Status\fP reported by remote host
|
||||
39
vendor/libssh2/docs/libssh2_channel_handle_extended_data.3
vendored
Normal file
39
vendor/libssh2/docs/libssh2_channel_handle_extended_data.3
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_handle_extended_data 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_handle_extended_data - set extended data handling mode
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_channel_handle_extended_data(LIBSSH2_CHANNEL *channel,
|
||||
int ignore_mode);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is \fBDEPRECATED\fP in 1.1.0. Use the
|
||||
\fIlibssh2_channel_handle_extended_data2(3)\fP function instead!
|
||||
|
||||
\fIchannel\fP - Active channel stream to change extended data handling on.
|
||||
|
||||
\fIignore_mode\fP - One of the three LIBSSH2_CHANNEL_EXTENDED_DATA_* Constants.
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL\fP: Queue extended data for eventual
|
||||
reading
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_MERGE\fP: Treat extended data and ordinary
|
||||
data the same. Merge all substreams such that calls to
|
||||
\fIlibssh2_channel_read(3)\fP will pull from all substreams on a
|
||||
first-in/first-out basis.
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE\fP: Discard all extended data as it
|
||||
arrives.
|
||||
|
||||
Change how a channel deals with extended data packets. By default all extended
|
||||
data is queued until read by \fIlibssh2_channel_read_ex(3)\fP
|
||||
.SH RETURN VALUE
|
||||
None.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_handle_extended_data2(3)
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
37
vendor/libssh2/docs/libssh2_channel_handle_extended_data2.3
vendored
Normal file
37
vendor/libssh2/docs/libssh2_channel_handle_extended_data2.3
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_handle_extended_data2 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_handle_extended_data2 - set extended data handling mode
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_handle_extended_data2(LIBSSH2_CHANNEL *channel,
|
||||
int ignore_mode);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Active channel stream to change extended data handling on.
|
||||
|
||||
\fIignore_mode\fP - One of the three LIBSSH2_CHANNEL_EXTENDED_DATA_* Constants.
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL\fP: Queue extended data for eventual
|
||||
reading
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_MERGE\fP: Treat extended data and ordinary
|
||||
data the same. Merge all substreams such that calls to
|
||||
.BR libssh2_channel_read(3)
|
||||
will pull from all substreams on a first-in/first-out basis.
|
||||
.br
|
||||
\fBLIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE\fP: Discard all extended data as it
|
||||
arrives.
|
||||
|
||||
Change how a channel deals with extended data packets. By default all
|
||||
extended data is queued until read by
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or LIBSSH2_ERROR_EAGAIN when it would otherwise block.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_handle_extended_data(3)
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
25
vendor/libssh2/docs/libssh2_channel_ignore_extended_data.3
vendored
Normal file
25
vendor/libssh2/docs/libssh2_channel_ignore_extended_data.3
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_ignore_extended_data 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_ignore_extended_data - convenience macro for \fIlibssh2_channel_handle_extended_data(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_channel_ignore_extended_data(LIBSSH2_CHANNEL *channel,
|
||||
int ignore_mode);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is \fBDEPRECATED\fP in 0.3.0. Use the
|
||||
\fIlibssh2_channel_handle_extended_data2(3)\fP function instead!
|
||||
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_handle_extended_data(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_handle_extended_data(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_handle_extended_data(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_handle_extended_data(3)
|
||||
58
vendor/libssh2/docs/libssh2_channel_open_ex.3
vendored
Normal file
58
vendor/libssh2/docs/libssh2_channel_open_ex.3
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_open_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_open_ex - establish a generic session channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_open_ex(LIBSSH2_SESSION *session, const char *channel_type,
|
||||
unsigned int channel_type_len,
|
||||
unsigned int window_size,
|
||||
unsigned int packet_size,
|
||||
const char *message, unsigned int message_len);
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_open_session(session);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIsession\fP - Session instance as returned by
|
||||
.BR libssh2_session_init_ex(3)
|
||||
|
||||
\fIchannel_type\fP - Channel type to open. Typically one of session,
|
||||
direct-tcpip, or tcpip-forward. The SSH2 protocol allowed for additional
|
||||
types including local, custom channel types.
|
||||
|
||||
\fIchannel_type_len\fP - Length of channel_type
|
||||
|
||||
\fIwindow_size\fP - Maximum amount of unacknowledged data remote host is
|
||||
allowed to send before receiving an SSH_MSG_CHANNEL_WINDOW_ADJUST packet.
|
||||
|
||||
\fIpacket_size\fP - Maximum number of bytes remote host is allowed to send
|
||||
in a single SSH_MSG_CHANNEL_DATA or SSG_MSG_CHANNEL_EXTENDED_DATA packet.
|
||||
|
||||
\fImessage\fP - Additional data as required by the selected channel_type.
|
||||
|
||||
\fImessage_len\fP - Length of message parameter.
|
||||
|
||||
Allocate a new channel for exchanging data with the server. This method is
|
||||
typically called through its macroized form:
|
||||
.BR libssh2_channel_open_session(3)
|
||||
or via
|
||||
.BR libssh2_channel_direct_tcpip(3)
|
||||
or
|
||||
.BR libssh2_channel_forward_listen(3)
|
||||
.SH RETURN VALUE
|
||||
Pointer to a newly allocated LIBSSH2_CHANNEL instance, or NULL on errors.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_FAILURE\fP -
|
||||
|
||||
\fILIBSSH2_ERROR_EAGAIN\fP - Marked for non-blocking I/O but the call would block.
|
||||
.SH SEE ALSO
|
||||
Add related functions
|
||||
21
vendor/libssh2/docs/libssh2_channel_open_session.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_open_session.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_open_session 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_open_session - convenience macro for \fIlibssh2_channel_open_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_CHANNEL *
|
||||
libssh2_channel_open_session(LIBSSH2_SESSION *session);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_open_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_open_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_open_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
42
vendor/libssh2/docs/libssh2_channel_process_startup.3
vendored
Normal file
42
vendor/libssh2/docs/libssh2_channel_process_startup.3
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_process_startup 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_process_startup - request a shell on a channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_process_startup(LIBSSH2_CHANNEL *channel,
|
||||
const char *request,
|
||||
unsigned int request_len,
|
||||
const char *message,
|
||||
unsigned int message_len);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Active session channel instance.
|
||||
|
||||
\fIrequest\fP - Type of process to startup. The SSH2 protocol currently
|
||||
defines shell, exec, and subsystem as standard process services.
|
||||
|
||||
\fIrequest_len\fP - Length of request parameter.
|
||||
|
||||
\fImessage\fP - Request specific message data to include.
|
||||
|
||||
\fImessage_len\fP - Length of message parameter.
|
||||
|
||||
Initiate a request on a session type channel such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_REQUEST_DENIED\fP -
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_read.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_read.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_read - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_read(LIBSSH2_CHANNEL *channel,
|
||||
char *buf, size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_read_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_read_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_read_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
50
vendor/libssh2/docs/libssh2_channel_read_ex.3
vendored
Normal file
50
vendor/libssh2/docs/libssh2_channel_read_ex.3
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_read_ex - read data from a channel stream
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_read_ex(LIBSSH2_CHANNEL *channel, int stream_id,
|
||||
char *buf, size_t buflen);
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_read(LIBSSH2_CHANNEL *channel,
|
||||
char *buf, size_t buflen);
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_read_stderr(LIBSSH2_CHANNEL *channel,
|
||||
char *buf, size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Attempt to read data from an active channel stream. All channel streams have
|
||||
one standard I/O substream (stream_id == 0), and may have up to 2^32 extended
|
||||
data streams as identified by the selected \fIstream_id\fP. The SSH2 protocol
|
||||
currently defines a stream ID of 1 to be the stderr substream.
|
||||
|
||||
\fIchannel\fP - active channel stream to read from.
|
||||
|
||||
\fIstream_id\fP - substream ID number (e.g. 0 or SSH_EXTENDED_DATA_STDERR)
|
||||
|
||||
\fIbuf\fP - pointer to storage buffer to read data into
|
||||
|
||||
\fIbuflen\fP - size of the buf storage
|
||||
|
||||
\fIlibssh2_channel_read(3)\fP and \fIlibssh2_channel_read_stderr(3)\fP are
|
||||
macros.
|
||||
.SH RETURN VALUE
|
||||
Actual number of bytes read or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
|
||||
Note that a return value of zero (0) can in fact be a legitimate value and
|
||||
only signals that no payload data was read. It is not an error.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_CLOSED\fP - The channel has been closed.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_poll_channel_read(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_read_stderr.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_read_stderr.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_read_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_read_stderr - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_read_stderr(LIBSSH2_CHANNEL *channel,
|
||||
char *buf, size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_read_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_read_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_read_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
32
vendor/libssh2/docs/libssh2_channel_receive_window_adjust.3
vendored
Normal file
32
vendor/libssh2/docs/libssh2_channel_receive_window_adjust.3
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_receive_window_adjust 3 "15 Mar 2009" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_receive_window_adjust - adjust the channel window
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
unsigned long
|
||||
libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
|
||||
unsigned long adjustment,
|
||||
unsigned char force);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is \fBDEPRECATED\fP in 1.1.0. Use the
|
||||
\fIlibssh2_channel_receive_window_adjust2(3)\fP function instead!
|
||||
|
||||
Adjust the receive window for a channel by adjustment bytes. If the amount to
|
||||
be adjusted is less than LIBSSH2_CHANNEL_MINADJUST and force is 0 the
|
||||
adjustment amount will be queued for a later packet.
|
||||
.SH RETURN VALUE
|
||||
Returns the new size of the receive window (as understood by remote end). Note
|
||||
that the window value sent over the wire is strictly 32bit, but this API is
|
||||
made to return a 'long' which may not be 32 bit on all platforms.
|
||||
.SH ERRORS
|
||||
In 1.0 and earlier, this function returns LIBSSH2_ERROR_EAGAIN for
|
||||
non-blocking channels where it would otherwise block. However, that is a
|
||||
negative number and this function only returns an unsigned value and this then
|
||||
leads to a very strange value being returned.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_window_read_ex(3)
|
||||
30
vendor/libssh2/docs/libssh2_channel_receive_window_adjust2.3
vendored
Normal file
30
vendor/libssh2/docs/libssh2_channel_receive_window_adjust2.3
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_receive_window_adjust2 3 "26 Mar 2009" "libssh2 1.1" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_receive_window_adjust2 - adjust the channel window
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_receive_window_adjust2(LIBSSH2_CHANNEL * channel,
|
||||
unsigned long adjustment,
|
||||
unsigned char force,
|
||||
unsigned int *window);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Adjust the receive window for a channel by adjustment bytes. If the amount to
|
||||
be adjusted is less than LIBSSH2_CHANNEL_MINADJUST and force is 0 the
|
||||
adjustment amount will be queued for a later packet.
|
||||
|
||||
This function stores the new size of the receive window (as understood by
|
||||
remote end) in the variable 'window' points to.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success and a negative value on error. If used in non-blocking
|
||||
mode it will return LIBSSH2_ERROR_EAGAIN when it would otherwise block.
|
||||
.SH ERRORS
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.1 since the previous API has deficiencies.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_window_read_ex(3)
|
||||
24
vendor/libssh2/docs/libssh2_channel_request_auth_agent.3
vendored
Normal file
24
vendor/libssh2/docs/libssh2_channel_request_auth_agent.3
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_request_auth_agent 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_request_auth_agent - request agent forwarding for a session
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_request_auth_agent(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Request that agent forwarding be enabled for this SSH session. This sends the
|
||||
request over this specific channel, which causes the agent listener to be
|
||||
started on the remote side upon success. This agent listener will then run
|
||||
for the duration of the SSH session.
|
||||
|
||||
\fIchannel\fP - Previously opened channel instance such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
21
vendor/libssh2/docs/libssh2_channel_request_pty.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_request_pty.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_request_pty 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_request_pty - convenience macro for \fIlibssh2_channel_request_pty_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_request_pty(LIBSSH2_SESSION *session, const char *term);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_request_pty_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_request_pty_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_request_pty_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_request_pty_ex(3)
|
||||
54
vendor/libssh2/docs/libssh2_channel_request_pty_ex.3
vendored
Normal file
54
vendor/libssh2/docs/libssh2_channel_request_pty_ex.3
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_request_pty_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_request_pty_ex - short function description
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_request_pty_ex(LIBSSH2_CHANNEL *channel, const char *term,
|
||||
unsigned int term_len,
|
||||
const char *modes, unsigned int modes_len,
|
||||
int width, int height,
|
||||
int width_px, int height_px);
|
||||
|
||||
int
|
||||
libssh2_channel_request_pty(LIBSSH2_CHANNEL *channel, const char *term);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Previously opened channel instance such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
|
||||
\fIterm\fP - Terminal emulation (e.g. vt102, ansi, etc...)
|
||||
|
||||
\fIterm_len\fP - Length of term parameter
|
||||
|
||||
\fImodes\fP - Terminal mode modifier values
|
||||
|
||||
\fImodes_len\fP - Length of modes parameter.
|
||||
|
||||
\fIwidth\fP - Width of pty in characters
|
||||
|
||||
\fIheight\fP - Height of pty in characters
|
||||
|
||||
\fIwidth_px\fP - Width of pty in pixels
|
||||
|
||||
\fIheight_px\fP - Height of pty in pixels
|
||||
|
||||
Request a PTY on an established channel. Note that this does not make sense
|
||||
for all channel types and may be ignored by the server despite returning
|
||||
success.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_REQUEST_DENIED\fP -
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_request_pty_size.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_request_pty_size.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_request_pty_size 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_request_pty_size - convenience macro for \fIlibssh2_channel_request_pty_size_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_request_pty_size(LIBSSH2_CHANNEL *channel,
|
||||
int width, int height);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_request_pty_size_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_request_pty_size_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_request_pty_size_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_request_pty_size_ex(3)
|
||||
12
vendor/libssh2/docs/libssh2_channel_request_pty_size_ex.3
vendored
Normal file
12
vendor/libssh2/docs/libssh2_channel_request_pty_size_ex.3
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_request_pty_size_ex 3 "1 Jun 2007" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_request_pty_size_ex - TODO
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.SH RETURN VALUE
|
||||
.SH ERRORS
|
||||
.SH SEE ALSO
|
||||
24
vendor/libssh2/docs/libssh2_channel_send_eof.3
vendored
Normal file
24
vendor/libssh2/docs/libssh2_channel_send_eof.3
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_send_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_send_eof - send EOF to remote server
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_send_eof(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Tell the remote host that no further data will be sent on the specified
|
||||
channel. Processes typically interpret this as a closed stdin descriptor.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_wait_eof(3)
|
||||
.BR libssh2_channel_eof(3)
|
||||
27
vendor/libssh2/docs/libssh2_channel_set_blocking.3
vendored
Normal file
27
vendor/libssh2/docs/libssh2_channel_set_blocking.3
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_set_blocking 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_set_blocking - set or clear blocking mode on channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_channel_set_blocking(LIBSSH2_CHANNEL *channel, int blocking);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - channel stream to set or clean blocking status on.
|
||||
|
||||
\fIblocking\fP - Set to a non-zero value to make the channel block, or zero to
|
||||
make it non-blocking.
|
||||
|
||||
Currently this is a short cut call to
|
||||
.BR libssh2_session_set_blocking(3)
|
||||
and therefore will affect the session and all channels.
|
||||
.SH RETURN VALUE
|
||||
None
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_set_blocking(3)
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
.BR libssh2_channel_write_ex(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_setenv.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_setenv.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_setenv 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_setenv - convenience macro for \fIlibssh2_channel_setenv_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_setenv(LIBSSH2_CHANNEL *channel,
|
||||
const char *varname, const char *value);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_setenv_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_setenv_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_setenv_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_setenv_ex(3)
|
||||
47
vendor/libssh2/docs/libssh2_channel_setenv_ex.3
vendored
Normal file
47
vendor/libssh2/docs/libssh2_channel_setenv_ex.3
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_setenv_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_setenv_ex - set an environment variable on the channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_setenv_ex(LIBSSH2_CHANNEL *channel,
|
||||
char *varname, unsigned int varname_len,
|
||||
const char *value, unsigned int value_len);
|
||||
|
||||
int
|
||||
libssh2_channel_setenv(LIBSSH2_CHANNEL *channel,
|
||||
char *varname, const char *value);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Previously opened channel instance such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
|
||||
\fIvarname\fP - Name of environment variable to set on the remote
|
||||
channel instance.
|
||||
|
||||
\fIvarname_len\fP - Length of passed varname parameter.
|
||||
|
||||
\fIvalue\fP - Value to set varname to.
|
||||
|
||||
\fIvalue_len\fP - Length of value parameter.
|
||||
|
||||
Set an environment variable in the remote channel's process space. Note that
|
||||
this does not make sense for all channel types and may be ignored by the
|
||||
server despite returning success.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_REQUEST_DENIED\fP -
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_shell.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_shell.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_shell 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_shell - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_shell(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_process_startup(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_process_startup(3)
|
||||
32
vendor/libssh2/docs/libssh2_channel_signal_ex.3
vendored
Normal file
32
vendor/libssh2/docs/libssh2_channel_signal_ex.3
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_signal_ex 3 "20 Apr 2023" "libssh2 1.11.0" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_signal_ex -- Send a signal to process previously opened on channel.
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_signal_ex(LIBSSH2_CHANNEL *channel,
|
||||
const char *signame,
|
||||
size_t signame_len)
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
A signal can be delivered to the remote process/service. Some servers or
|
||||
systems may not implement signals, in which case they will probably ignore this
|
||||
message.
|
||||
|
||||
\fIchannel\fP - Previously opened channel instance such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
|
||||
\fIsigname\fP - The signal name is the same as the signal name constant, without the leading "SIG".
|
||||
|
||||
\fIsigname_len\fP - Length of passed signal name parameter.
|
||||
|
||||
There is also a macro \fIlibssh2_channel_signal(channel, signame)\fP that supplies the strlen of the signame.
|
||||
.SH RETURN VALUE
|
||||
Normal channel error codes.
|
||||
LIBSSH2_ERROR_EAGAIN when it would block.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_get_exit_signal(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_subsystem.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_subsystem.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_subsystem 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_subsystem - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_subsystem(LIBSSH2_CHANNEL *channel, const char *subsystem);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_process_startup(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_process_startup(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_process_startup(3)
|
||||
25
vendor/libssh2/docs/libssh2_channel_wait_closed.3
vendored
Normal file
25
vendor/libssh2/docs/libssh2_channel_wait_closed.3
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_wait_closed 3 "29 Nov 2007" "libssh2 0.19" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_wait_closed - wait for the remote to close the channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_wait_closed(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Enter a temporary blocking state until the remote host closes the named
|
||||
channel. Typically sent after \fIlibssh2_channel_close(3)\fP in order to
|
||||
examine the exit status.
|
||||
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns LIBSSH2_ERROR_EAGAIN
|
||||
when it would otherwise block. While LIBSSH2_ERROR_EAGAIN is a negative
|
||||
number, it is not really a failure per se.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_send_eof(3)
|
||||
.BR libssh2_channel_eof(3)
|
||||
.BR libssh2_channel_wait_eof(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_wait_eof.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_wait_eof.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_wait_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_wait_eof - wait for the remote to reply to an EOF request
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_wait_eof(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Wait for the remote end to send EOF.
|
||||
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_send_eof(3)
|
||||
.BR libssh2_channel_eof(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_window_read.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_window_read.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_window_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_window_read - convenience macro for \fIlibssh2_channel_window_read_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
unsigned long
|
||||
libssh2_channel_window_read(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_window_read_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_window_read_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_window_read_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_window_read_ex(3)
|
||||
27
vendor/libssh2/docs/libssh2_channel_window_read_ex.3
vendored
Normal file
27
vendor/libssh2/docs/libssh2_channel_window_read_ex.3
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_window_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_window_read_ex - Check the status of the read window
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
unsigned long
|
||||
libssh2_channel_window_read_ex(LIBSSH2_CHANNEL *channel,
|
||||
unsigned long *read_avail,
|
||||
unsigned long *window_size_initial)
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Check the status of the read window. Returns the number of bytes which the
|
||||
remote end may send without overflowing the window limit read_avail (if
|
||||
passed) will be populated with the number of bytes actually available to be
|
||||
read window_size_initial (if passed) will be populated with the
|
||||
window_size_initial as defined by the channel_open request
|
||||
.SH RETURN VALUE
|
||||
The number of bytes which the remote end may send without overflowing the
|
||||
window limit
|
||||
.SH ERRORS
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_receive_window_adjust(3),
|
||||
.BR libssh2_channel_window_write_ex(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_window_write.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_window_write.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_window_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_window_write - convenience macro for \fIlibssh2_channel_window_write_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
unsigned long
|
||||
libssh2_channel_window_write(LIBSSH2_CHANNEL *channel);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_window_write_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_window_write_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_window_write_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_window_write_ex(3)
|
||||
24
vendor/libssh2/docs/libssh2_channel_window_write_ex.3
vendored
Normal file
24
vendor/libssh2/docs/libssh2_channel_window_write_ex.3
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_window_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_window_write_ex - Check the status of the write window
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
unsigned long
|
||||
libssh2_channel_window_write_ex(LIBSSH2_CHANNEL *channel,
|
||||
unsigned long *window_size_initial)
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Check the status of the write window Returns the number of bytes which may be
|
||||
safely written on the channel without blocking. 'window_size_initial' (if
|
||||
passed) will be populated with the size of the initial window as defined by
|
||||
the channel_open request
|
||||
.SH RETURN VALUE
|
||||
Number of bytes which may be safely written on the channel without blocking.
|
||||
.SH ERRORS
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_window_read_ex(3),
|
||||
.BR libssh2_channel_receive_window_adjust(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_write.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_write.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_write - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_write(LIBSSH2_CHANNEL *channel,
|
||||
const char *buf, size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_write_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_write_ex(3)
|
||||
56
vendor/libssh2/docs/libssh2_channel_write_ex.3
vendored
Normal file
56
vendor/libssh2/docs/libssh2_channel_write_ex.3
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_write_ex - write data to a channel stream blocking
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel,
|
||||
int stream_id, char *buf,
|
||||
size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Write data to a channel stream. All channel streams have one standard I/O
|
||||
substream (stream_id == 0), and may have up to 2^32 extended data streams as
|
||||
identified by the selected \fIstream_id\fP. The SSH2 protocol currently
|
||||
defines a stream ID of 1 to be the stderr substream.
|
||||
|
||||
\fIchannel\fP - active channel stream to write to.
|
||||
|
||||
\fIstream_id\fP - substream ID number (e.g. 0 or SSH_EXTENDED_DATA_STDERR)
|
||||
|
||||
\fIbuf\fP - pointer to buffer to write
|
||||
|
||||
\fIbuflen\fP - size of the data to write
|
||||
|
||||
\fIlibssh2_channel_write(3)\fP and \fIlibssh2_channel_write_stderr(3)\fP are
|
||||
convenience macros for this function.
|
||||
|
||||
\fIlibssh2_channel_write_ex(3)\fP will use as much as possible of the buffer
|
||||
and put it into a single SSH protocol packet. This means that to get maximum
|
||||
performance when sending larger files, you should try to always pass in at
|
||||
least 32K of data to this function.
|
||||
.SH RETURN VALUE
|
||||
Actual number of bytes written or negative on failure.
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_CLOSED\fP - The channel has been closed.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_EOF_SENT\fP - The channel has been requested to be
|
||||
|
||||
\fILIBSSH2_ERROR_BAD_USE\fP - This can be returned if you ignored a previous
|
||||
return for LIBSSH2_ERROR_EAGAIN and rather than sending the original buffer with
|
||||
the original size, you sent a new buffer with a different size.
|
||||
|
||||
closed.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
.BR libssh2_channel_read_ex(3)
|
||||
22
vendor/libssh2/docs/libssh2_channel_write_stderr.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_channel_write_stderr.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_write_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_write_stderr - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
ssize_t
|
||||
libssh2_channel_write_stderr(LIBSSH2_CHANNEL *channel,
|
||||
const char *buf, size_t buflen);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_write_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_write_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_write_ex(3)
|
||||
21
vendor/libssh2/docs/libssh2_channel_x11_req.3
vendored
Normal file
21
vendor/libssh2/docs/libssh2_channel_x11_req.3
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_x11_req 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_x11_req - convenience macro for \fIlibssh2_channel_x11_req_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_x11_req(LIBSSH2_CHANNEL *channel, int screen_number);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_channel_x11_req_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_channel_x11_req_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_channel_x11_req_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_x11_req_ex(3)
|
||||
47
vendor/libssh2/docs/libssh2_channel_x11_req_ex.3
vendored
Normal file
47
vendor/libssh2/docs/libssh2_channel_x11_req_ex.3
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_channel_x11_req_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_channel_x11_req_ex - request an X11 forwarding channel
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_channel_x11_req_ex(LIBSSH2_CHANNEL *channel, int single_connection,
|
||||
const char *auth_proto, const char *auth_cookie,
|
||||
int screen_number);
|
||||
|
||||
int
|
||||
libssh2_channel_x11_req(LIBSSH2_CHANNEL *channel,
|
||||
int screen_number);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIchannel\fP - Previously opened channel instance such as returned by
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
|
||||
\fIsingle_connection\fP - non-zero to only forward a single connection.
|
||||
|
||||
\fIauth_proto\fP - X11 authentication protocol to use
|
||||
|
||||
\fIauth_cookie\fP - the cookie (hexadecimal encoded).
|
||||
|
||||
\fIscreen_number\fP - the XLL screen to forward
|
||||
|
||||
Request an X11 forwarding on \fIchannel\fP. To use X11 forwarding,
|
||||
.BR libssh2_session_callback_set2(3)
|
||||
must first be called to set \fBLIBSSH2_CALLBACK_X11\fP. This callback will be
|
||||
invoked when the remote host accepts the X11 forwarding.
|
||||
.SH RETURN VALUE
|
||||
Return 0 on success or negative on failure. It returns
|
||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
|
||||
.SH ERRORS
|
||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||
|
||||
\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
|
||||
|
||||
\fILIBSSH2_ERROR_CHANNEL_REQUEST_DENIED\fP -
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_channel_open_ex(3)
|
||||
.BR libssh2_session_callback_set2(3)
|
||||
16
vendor/libssh2/docs/libssh2_crypto_engine.3
vendored
Normal file
16
vendor/libssh2/docs/libssh2_crypto_engine.3
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_crypto_engine 3 "22 Nov 2021" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_crypto_engine - retrieve used crypto engine
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
libssh2_crypto_engine_t
|
||||
libssh2_crypto_engine(void);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Returns currently used crypto engine, as en enum value.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.11
|
||||
18
vendor/libssh2/docs/libssh2_exit.3
vendored
Normal file
18
vendor/libssh2/docs/libssh2_exit.3
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_exit 3 "19 Mar 2010" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_exit - global library deinitialization
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_exit(void);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Exit the libssh2 functions and frees all memory used internal.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.5
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_init(3)
|
||||
23
vendor/libssh2/docs/libssh2_free.3
vendored
Normal file
23
vendor/libssh2/docs/libssh2_free.3
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_free 3 "13 Oct 2010" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_free - deallocate libssh2 memory
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_free(LIBSSH2_SESSION *session, void *ptr);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Deallocate memory allocated by earlier call to libssh2 functions. It
|
||||
uses the memory allocation callbacks provided by the application, if any.
|
||||
Otherwise, this will call free().
|
||||
|
||||
This function is mostly useful under Windows when libssh2 is linked to
|
||||
one run-time library and the application to another.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.8
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_init_ex(3)
|
||||
29
vendor/libssh2/docs/libssh2_hostkey_hash.3
vendored
Normal file
29
vendor/libssh2/docs/libssh2_hostkey_hash.3
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_hostkey_hash 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_hostkey_hash - return a hash of the remote host's key
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
const char *
|
||||
libssh2_hostkey_hash(LIBSSH2_SESSION *session, int hash_type);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIsession\fP - Session instance as returned by
|
||||
.BR libssh2_session_init_ex(3)
|
||||
|
||||
\fIhash_type\fP - One of: \fBLIBSSH2_HOSTKEY_HASH_MD5\fP,
|
||||
\fBLIBSSH2_HOSTKEY_HASH_SHA1\fP or \fBLIBSSH2_HOSTKEY_HASH_SHA256\fP.
|
||||
|
||||
Returns the computed digest of the remote system's hostkey. The length of
|
||||
the returned string is hash_type specific (e.g. 16 bytes for MD5,
|
||||
20 bytes for SHA1, 32 bytes for SHA256).
|
||||
.SH RETURN VALUE
|
||||
Computed hostkey hash value, or NULL if the information is not available
|
||||
(either the session has not yet been started up, or the requested hash
|
||||
algorithm was not available). The hash consists of raw binary bytes, not hex
|
||||
digits, so it is not directly printable.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_session_init_ex(3)
|
||||
24
vendor/libssh2/docs/libssh2_init.3
vendored
Normal file
24
vendor/libssh2/docs/libssh2_init.3
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_init 3 "19 Mar 2010" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_init - global library initialization
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
#define LIBSSH2_INIT_NO_CRYPTO 0x0001
|
||||
|
||||
int
|
||||
libssh2_init(int flags);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Initialize the libssh2 functions. This typically initialize the
|
||||
crypto library. It uses a global state, and is not thread safe -- you
|
||||
must make sure this function is not called concurrently.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if succeeded, or a negative value for error.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.5
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_exit(3)
|
||||
29
vendor/libssh2/docs/libssh2_keepalive_config.3
vendored
Normal file
29
vendor/libssh2/docs/libssh2_keepalive_config.3
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_keepalive_config 3 "12 Apr 2011" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_keepalive_config - short function description
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_keepalive_config(LIBSSH2_SESSION *session,
|
||||
int want_reply,
|
||||
unsigned int interval);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Set how often keepalive messages should be sent. \fBwant_reply\fP indicates
|
||||
whether the keepalive messages should request a response from the server.
|
||||
\fBinterval\fP is number of seconds that can pass without any I/O, use 0 (the
|
||||
default) to disable keepalives. To avoid some busy-loop corner-cases, if you
|
||||
specify an interval of 1 it will be treated as 2.
|
||||
|
||||
Note that non-blocking applications are responsible for sending the keepalive
|
||||
messages using \fBlibssh2_keepalive_send(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
Nothing
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.5
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_keepalive_send(3)
|
||||
22
vendor/libssh2/docs/libssh2_keepalive_send.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_keepalive_send.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_keepalive_send 3 "13 Apr 2011" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_keepalive_send - short function description
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_keepalive_send(LIBSSH2_SESSION *session,
|
||||
int *seconds_to_next);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Send a keepalive message if needed. \fBseconds_to_next\fP indicates how many
|
||||
seconds you can sleep after this call before you need to call it again.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 on success, or LIBSSH2_ERROR_SOCKET_SEND on I/O errors.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.5
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_keepalive_config(3)
|
||||
67
vendor/libssh2/docs/libssh2_knownhost_add.3
vendored
Normal file
67
vendor/libssh2/docs/libssh2_knownhost_add.3
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_add 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_add - add a known host
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#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);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
We discourage use of this function as of libssh2 1.2.5. Instead we strongly
|
||||
urge users to use \fIlibssh2_knownhost_addc(3)\fP instead, which as a more
|
||||
complete API. \fIlibssh2_knownhost_add(3)\fP is subject for removal in a
|
||||
future release.
|
||||
|
||||
Adds a known host to the collection of known hosts identified by the 'hosts'
|
||||
handle.
|
||||
|
||||
\fIhost\fP 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.
|
||||
|
||||
\fIsalt\P 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.
|
||||
|
||||
\fIkey\fP is a pointer to the key for the given host.
|
||||
|
||||
\fIkeylen\fP is the total size in bytes of the key pointed to by the \fIkey\fP
|
||||
argument
|
||||
|
||||
\fItypemask\fP 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).
|
||||
|
||||
\fIstore\fP 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.
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2, deprecated since libssh2 1.2.5. Use
|
||||
\fIlibssh2_knownhost_addc(3)\fP instead!
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
.BR libssh2_knownhost_addc(3)
|
||||
70
vendor/libssh2/docs/libssh2_knownhost_addc.3
vendored
Normal file
70
vendor/libssh2/docs/libssh2_knownhost_addc.3
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_addc 3 "28 May 2009" "libssh2 1.2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_addc - add a known host
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_addc(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
char *host, char *salt,
|
||||
char *key, size_t keylen,
|
||||
const char *comment, size_t commentlen,
|
||||
int typemask,
|
||||
struct libssh2_knownhost **store);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Adds a known host to the collection of known hosts identified by the 'hosts'
|
||||
handle.
|
||||
|
||||
\fIhost\fP 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.
|
||||
|
||||
If you want to add a key for a specific port number for the given host, you
|
||||
must provide the host name like '[host]:port' with the actual characters '['
|
||||
and ']' enclosing the host name and a colon separating the host part from the
|
||||
port number. For example: \&"[host.example.com]:222".
|
||||
|
||||
\fIsalt\fP 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.
|
||||
|
||||
\fIkey\fP is a pointer to the key for the given host.
|
||||
|
||||
\fIkeylen\fP is the total size in bytes of the key pointed to by the \fIkey\fP
|
||||
argument
|
||||
|
||||
\fIcomment\fP is a pointer to a comment for the key.
|
||||
|
||||
\fIcommentlen\fP is the total size in bytes of the comment pointed to by the \fIcomment\fP argument
|
||||
|
||||
\fItypemask\fP 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).
|
||||
|
||||
\fIstore\fP 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.
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.5
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
60
vendor/libssh2/docs/libssh2_knownhost_check.3
vendored
Normal file
60
vendor/libssh2/docs/libssh2_knownhost_check.3
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_check 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_check - check a host+key against the list of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_check(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
const char *host,
|
||||
const char *key, size_t keylen,
|
||||
int typemask,
|
||||
struct libssh2_knownhost **knownhost);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Checks a host and its associated key against the collection of known hosts,
|
||||
and returns info back about the (partially) matched entry.
|
||||
|
||||
\fIhost\fP is a pointer the host name in plain text. The host name can be the
|
||||
IP numerical address of the host or the full name.
|
||||
|
||||
\fIkey\fP is a pointer to the key for the given host.
|
||||
|
||||
\fIkeylen\fP is the total size in bytes of the key pointed to by the \fIkey\fP
|
||||
argument
|
||||
|
||||
\fItypemask\fP 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 or LIBSSH2_KNOWNHOST_TYPE_CUSTOM.
|
||||
|
||||
The key is encoded using one of the following encodings:
|
||||
LIBSSH2_KNOWNHOST_KEYENC_RAW or LIBSSH2_KNOWNHOST_KEYENC_BASE64.
|
||||
|
||||
\fIknownhost\fP if set to non-NULL, it must be a pointer to a 'struct
|
||||
libssh2_knownhost' pointer that gets filled in to point to info about a known
|
||||
host that matches or partially matches.
|
||||
.SH RETURN VALUE
|
||||
\fIlibssh2_knownhost_check(3)\fP returns info about how well the provided
|
||||
host + key pair matched one of the entries in the list of known hosts.
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_FAILURE - something prevented the check to be made
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_NOTFOUND - no host match was found
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_MATCH - hosts and keys match.
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_MISMATCH - host was found, but the keys did not match!
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH EXAMPLE
|
||||
See the ssh2_exec.c example as provided in the tarball.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
65
vendor/libssh2/docs/libssh2_knownhost_checkp.3
vendored
Normal file
65
vendor/libssh2/docs/libssh2_knownhost_checkp.3
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_checkp 3 "1 May 2010" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_checkp - check a host+key against the list of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_checkp(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
const char *host, int port,
|
||||
const char *key, size_t keylen,
|
||||
int typemask,
|
||||
struct libssh2_knownhost **knownhost);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Checks a host and its associated key against the collection of known hosts,
|
||||
and returns info back about the (partially) matched entry.
|
||||
|
||||
\fIhost\fP is a pointer the host name in plain text. The host name can be the
|
||||
IP numerical address of the host or the full name.
|
||||
|
||||
\fIport\fP is the port number used by the host (or a negative number
|
||||
to check the generic host). If the port number is given, libssh2 will
|
||||
check the key for the specific host + port number combination in
|
||||
addition to the plain host name only check.
|
||||
|
||||
\fIkey\fP is a pointer to the key for the given host.
|
||||
|
||||
\fIkeylen\fP is the total size in bytes of the key pointed to by the \fIkey\fP
|
||||
argument
|
||||
|
||||
\fItypemask\fP 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 or LIBSSH2_KNOWNHOST_TYPE_CUSTOM.
|
||||
|
||||
The key is encoded using one of the following encodings:
|
||||
LIBSSH2_KNOWNHOST_KEYENC_RAW or LIBSSH2_KNOWNHOST_KEYENC_BASE64.
|
||||
|
||||
\fIknownhost\fP if set to non-NULL, it must be a pointer to a 'struct
|
||||
libssh2_knownhost' pointer that gets filled in to point to info about a known
|
||||
host that matches or partially matches.
|
||||
.SH RETURN VALUE
|
||||
\fIlibssh2_knownhost_check(3)\fP returns info about how well the provided
|
||||
host + key pair matched one of the entries in the list of known hosts.
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_FAILURE - something prevented the check to be made
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_NOTFOUND - no host match was found
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_MATCH - hosts and keys match.
|
||||
|
||||
LIBSSH2_KNOWNHOST_CHECK_MISMATCH - host was found, but the keys did not match!
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2.6
|
||||
.SH EXAMPLE
|
||||
See the ssh2_exec.c example as provided in the tarball.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
28
vendor/libssh2/docs/libssh2_knownhost_del.3
vendored
Normal file
28
vendor/libssh2/docs/libssh2_knownhost_del.3
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_del 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_del - delete a known host entry
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_del(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
struct libssh2_knownhost *entry);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Delete a known host entry from the collection of known hosts.
|
||||
|
||||
\fIentry\fP is a pointer to a struct that you can extract with
|
||||
\fIlibssh2_knownhost_check(3)\fP or \fIlibssh2_knownhost_get(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
22
vendor/libssh2/docs/libssh2_knownhost_free.3
vendored
Normal file
22
vendor/libssh2/docs/libssh2_knownhost_free.3
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_free 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_free - free a collection of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
void
|
||||
libssh2_knownhost_free(LIBSSH2_KNOWNHOSTS *hosts);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Free a collection of known hosts.
|
||||
.SH RETURN VALUE
|
||||
None.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
37
vendor/libssh2/docs/libssh2_knownhost_get.3
vendored
Normal file
37
vendor/libssh2/docs/libssh2_knownhost_get.3
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_get 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_get - get a known host off the collection of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_get(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
struct libssh2_knownhost **store,
|
||||
struct libssh2_knownhost *prev):
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
\fIlibssh2_knownhost_get(3)\fP allows an application to iterate over all known
|
||||
hosts in the collection.
|
||||
|
||||
\fIstore\fP should point to a pointer that gets filled in to point to the
|
||||
known host data.
|
||||
|
||||
\fIprev\fP is a pointer to a previous 'struct libssh2_knownhost' as returned
|
||||
by a previous invoke of this function, or NULL to get the first entry in the
|
||||
internal collection.
|
||||
.SH RETURN VALUE
|
||||
Returns 0 if everything is fine and information about a host was stored in
|
||||
the \fIstore\fP struct.
|
||||
|
||||
Returns 1 if it reached the end of hosts.
|
||||
|
||||
Returns negative values for error
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_readfile(3)
|
||||
.BR libssh2_knownhost_writefile(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
27
vendor/libssh2/docs/libssh2_knownhost_init.3
vendored
Normal file
27
vendor/libssh2/docs/libssh2_knownhost_init.3
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_init 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_init - init a collection of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
LIBSSH2_KNOWNHOSTS *
|
||||
libssh2_knownhost_init(LIBSSH2_SESSION *session);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Init a collection of known hosts for this session. Returns the handle to an
|
||||
internal representation of a known host collection.
|
||||
|
||||
Call \fBlibssh2_knownhost_free(3)\fP to free the collection again after you are
|
||||
doing using it.
|
||||
.SH RETURN VALUE
|
||||
Returns a handle pointer or NULL if something went wrong. The returned handle
|
||||
is used as input to all other known host related functions libssh2 provides.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
31
vendor/libssh2/docs/libssh2_knownhost_readfile.3
vendored
Normal file
31
vendor/libssh2/docs/libssh2_knownhost_readfile.3
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_readfile 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_readfile - parse a file of known hosts
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_readfile(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
const char *filename, int type);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Reads a collection of known hosts from a specified file and adds them to the
|
||||
collection of known hosts.
|
||||
|
||||
\fIfilename\fP specifies which file to read
|
||||
|
||||
\fItype\fP specifies what file type it is, and
|
||||
\fILIBSSH2_KNOWNHOST_FILE_OPENSSH\fP is the only currently supported
|
||||
format. This file is normally found named ~/.ssh/known_hosts
|
||||
.SH RETURN VALUE
|
||||
Returns a negative value, a regular libssh2 error code for errors, or a
|
||||
positive number as number of parsed known hosts in the file.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_init(3)
|
||||
.BR libssh2_knownhost_free(3)
|
||||
.BR libssh2_knownhost_check(3)
|
||||
32
vendor/libssh2/docs/libssh2_knownhost_readline.3
vendored
Normal file
32
vendor/libssh2/docs/libssh2_knownhost_readline.3
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_readline 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_readline - read a known host line
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_readline(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
const char *line, size_t len, int type):
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Tell libssh2 to read a buffer as it if is a line from a known hosts file.
|
||||
|
||||
\fIline\fP points to the start of the line
|
||||
|
||||
\fIlen\fP is the length of the line in bytes
|
||||
|
||||
\fItype\fP specifies what file type it is, and
|
||||
\fILIBSSH2_KNOWNHOST_FILE_OPENSSH\fP is the only currently supported
|
||||
format. This file is normally found named ~/.ssh/known_hosts
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_get(3)
|
||||
.BR libssh2_knownhost_writeline(3)
|
||||
.BR libssh2_knownhost_readfile(3)
|
||||
30
vendor/libssh2/docs/libssh2_knownhost_writefile.3
vendored
Normal file
30
vendor/libssh2/docs/libssh2_knownhost_writefile.3
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_writefile 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_writefile - write a collection of known hosts to a file
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_writefile(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
const char *filename, int type);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Writes all the known hosts to the specified file using the specified file
|
||||
format.
|
||||
|
||||
\fIfilename\fP specifies what filename to create
|
||||
|
||||
\fItype\fP specifies what file type it is, and
|
||||
\fILIBSSH2_KNOWNHOST_FILE_OPENSSH\fP is the only currently supported
|
||||
format.
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_readfile(3)
|
||||
.BR libssh2_knownhost_add(3)
|
||||
47
vendor/libssh2/docs/libssh2_knownhost_writeline.3
vendored
Normal file
47
vendor/libssh2/docs/libssh2_knownhost_writeline.3
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" Copyright (C) Daniel Stenberg
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_knownhost_writeline 3 "28 May 2009" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_knownhost_writeline - convert a known host to a line for storage
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_knownhost_writeline(LIBSSH2_KNOWNHOSTS *hosts,
|
||||
struct libssh2_knownhost *known,
|
||||
char *buffer, size_t buflen,
|
||||
size_t *outlen,
|
||||
int type);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
Converts a single known host to a single line of output for storage, using
|
||||
the 'type' output format.
|
||||
|
||||
\fIknown\fP identifies which particular known host
|
||||
|
||||
\fIbuffer\fP points to an allocated buffer
|
||||
|
||||
\fIbuflen\fP is the size of the \fIbuffer\fP. See RETURN VALUE about the size.
|
||||
|
||||
\fIoutlen\fP must be a pointer to a size_t variable that will get the output
|
||||
length of the stored data chunk. The number does not included the trailing
|
||||
zero!
|
||||
|
||||
\fItype\fP specifies what file type it is, and
|
||||
\fILIBSSH2_KNOWNHOST_FILE_OPENSSH\fP is the only currently supported
|
||||
format.
|
||||
.SH RETURN VALUE
|
||||
Returns a regular libssh2 error code, where negative values are error codes
|
||||
and 0 indicates success.
|
||||
|
||||
If the provided buffer is deemed too small to fit the data libssh2 wants to
|
||||
store in it, LIBSSH2_ERROR_BUFFER_TOO_SMALL will be returned. The application
|
||||
is then advised to call the function again with a larger buffer. The
|
||||
\fIoutlen\fP size will then hold the requested size.
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 1.2
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_knownhost_get(3)
|
||||
.BR libssh2_knownhost_readline(3)
|
||||
.BR libssh2_knownhost_writefile(3)
|
||||
26
vendor/libssh2/docs/libssh2_poll.3
vendored
Normal file
26
vendor/libssh2/docs/libssh2_poll.3
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_poll 3 "14 Dec 2006" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_poll - poll for activity on a socket, channel or listener
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_poll(LIBSSH2_POLLFD *fds, unsigned int nfds, long timeout);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is deprecated. Do note use. We encourage users to instead use
|
||||
the \fIpoll(3)\fP or \fIselect(3)\fP functions to check for socket activity or
|
||||
when specific sockets are ready to get received from or send to.
|
||||
|
||||
Poll for activity on a socket, channel, listener, or any combination of these
|
||||
three types. The calling semantics for this function generally match
|
||||
\fIpoll(2)\fP however the structure of fds is somewhat more complex in order
|
||||
to accommodate the disparate datatypes, POLLFD constants have been namespaced
|
||||
to avoid platform discrepancies, and revents has additional values defined.
|
||||
.SH "RETURN VALUE"
|
||||
Number of fds with interesting events.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_poll_channel_read(3)
|
||||
23
vendor/libssh2/docs/libssh2_poll_channel_read.3
vendored
Normal file
23
vendor/libssh2/docs/libssh2_poll_channel_read.3
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_poll_channel_read 3 "14 Dec 2006" "libssh2 0.15" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_poll_channel_read - check if data is available
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_poll_channel_read(LIBSSH2_CHANNEL *channel, int extended);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This function is deprecated. Do note use.
|
||||
|
||||
\fIlibssh2_poll_channel_read(3)\fP checks to see if data is available in the
|
||||
\fIchannel\fP's read buffer. No attempt is made with this method to see if
|
||||
packets are available to be processed. For full polling support, use
|
||||
\fIlibssh2_poll(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
Returns 1 when data is available and 0 otherwise.
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_poll(3)
|
||||
25
vendor/libssh2/docs/libssh2_publickey_add.3
vendored
Normal file
25
vendor/libssh2/docs/libssh2_publickey_add.3
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_add 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_add - convenience macro for \fIlibssh2_publickey_add_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_publickey_add(LIBSSH2_PUBLICKEY *pkey,
|
||||
const unsigned char *name,
|
||||
const unsigned char *blob, unsigned long blob_len,
|
||||
char overwrite, unsigned long num_attrs,
|
||||
const libssh2_publickey_attribute attrs[]);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_publickey_add_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_publickey_add_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_publickey_add_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_publickey_add_ex(3)
|
||||
28
vendor/libssh2/docs/libssh2_publickey_add_ex.3
vendored
Normal file
28
vendor/libssh2/docs/libssh2_publickey_add_ex.3
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_add_ex 3 "1 Jun 2007" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_add_ex - Add a public key entry
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_publickey_add_ex(LIBSSH2_PUBLICKEY *pkey,
|
||||
const unsigned char *name, unsigned long name_len,
|
||||
const unsigned char *blob, unsigned long blob_len,
|
||||
char overwrite, unsigned long num_attrs,
|
||||
const libssh2_publickey_attribute attrs[])
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
TBD
|
||||
.SH RETURN VALUE
|
||||
Returns 0 on success, negative on failure.
|
||||
.SH ERRORS
|
||||
LIBSSH2_ERROR_BAD_USE
|
||||
LIBSSH2_ERROR_ALLOC,
|
||||
LIBSSH2_ERROR_EAGAIN
|
||||
LIBSSH2_ERROR_SOCKET_SEND,
|
||||
LIBSSH2_ERROR_SOCKET_TIMEOUT,
|
||||
LIBSSH2_ERROR_PUBLICKEY_PROTOCOL,
|
||||
.SH SEE ALSO
|
||||
14
vendor/libssh2/docs/libssh2_publickey_init.3
vendored
Normal file
14
vendor/libssh2/docs/libssh2_publickey_init.3
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_init 3 "1 Jun 2007" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_init - TODO
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.SH RETURN VALUE
|
||||
.SH ERRORS
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 ?.?.?
|
||||
.SH SEE ALSO
|
||||
14
vendor/libssh2/docs/libssh2_publickey_list_fetch.3
vendored
Normal file
14
vendor/libssh2/docs/libssh2_publickey_list_fetch.3
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_list_fetch 3 "1 Jun 2007" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_list_fetch - TODO
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.SH RETURN VALUE
|
||||
.SH ERRORS
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 ?.?.?
|
||||
.SH SEE ALSO
|
||||
14
vendor/libssh2/docs/libssh2_publickey_list_free.3
vendored
Normal file
14
vendor/libssh2/docs/libssh2_publickey_list_free.3
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_list_free 3 "1 Jun 2007" "libssh2" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_list_free - TODO
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.SH RETURN VALUE
|
||||
.SH ERRORS
|
||||
.SH AVAILABILITY
|
||||
Added in libssh2 ?.?.?
|
||||
.SH SEE ALSO
|
||||
23
vendor/libssh2/docs/libssh2_publickey_remove.3
vendored
Normal file
23
vendor/libssh2/docs/libssh2_publickey_remove.3
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
.\" Copyright (C) The libssh2 project and its contributors.
|
||||
.\" SPDX-License-Identifier: BSD-3-Clause
|
||||
.TH libssh2_publickey_remove 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2"
|
||||
.SH NAME
|
||||
libssh2_publickey_remove - convenience macro for \fIlibssh2_publickey_remove_ex(3)\fP calls
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <libssh2.h>
|
||||
|
||||
int
|
||||
libssh2_publickey_remove(LIBSSH2_PUBLICKEY *pkey,
|
||||
const unsigned char *name, unsigned long name_len,
|
||||
const unsigned char *blob, unsigned long blob_len);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
This is a macro defined in a public libssh2 header file that is using the
|
||||
underlying function \fIlibssh2_publickey_remove_ex(3)\fP.
|
||||
.SH RETURN VALUE
|
||||
See \fIlibssh2_publickey_remove_ex(3)\fP
|
||||
.SH ERRORS
|
||||
See \fIlibssh2_publickey_remove_ex(3)\fP
|
||||
.SH SEE ALSO
|
||||
.BR libssh2_publickey_remove_ex(3)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user