mirror of
https://github.com/libssh2/libssh2.git
synced 2026-10-24 03:48:58 +03:00
From `_libssh2_*` to `ssh2_*`, `LIBSSH2_*` -> `SSH2_*`. To make the code easier to read, write, to fit more into the maximum line width without folding, and to avoid using reserved namespace (`_*`). Namespacing after this patch: - `libssh2_`, `LIBSSH2_` (rarely preceded with `_`): public API. - `ssh2_`, `SSH2_`: private API. - `ssh2_<crypto-backend>_`: non-static crypto functions. where `<crypto-backend>` is: lgcr, mbed, ossl, wcng, os400qc3 - local macros and static functions try to be short, descriptive of their scope, without strict namespacing. They also avoid namespaces used above for clarity. Also: - reflow using clang-format (and manually where necessary.) - merge split error strings where possible (manually). - shorten `_libssh2_debug()` to `ssh2_deb()`. - shorten `_libssh2_error()` to `ssh2_err()`. - move `libssh2_*` internal symbols to the `ssh2_*` namespace. - shorten local macro/enum prefixes from `LIBSSH2_` to `SSH2_`. - mbedtls, wincng: move static functions to the local namespace, where missing. - drop stray no-op `ssh2_init_aes_ctr()` symbols (libgcrypt, mbedtls). - move crypto primitives to crypto-local namespace `ssh2_(lgcr|mbed|ossl|wcng)_`, where missing. - normalize crypo-local and crypto-static function namespace to: `mbed_*`, `ssh2_mbed_,*` `wcng_*`, `ssh2_wcng_*`. - `LIBSSH2_CIPHER_T()` -> `SSH2_CIPHER_T()` Follow-up to689b202320#1923 - rename `ssh2_store_bignum2_bytes()` -> `ssh2_store_bignum_bytes()`. - drop redundant `void *` cast from `SSH2_UNCONST()` values. - os400qc3: drop unused static `ssh2_bn_from_bn()`. - os400qc3: move static `ssh2_bn_resize()` off the ssh2 namespace. - libssh2.rpgle.in: drop private macros `LIBSSH2_DH_GEX*`. - rename `ARRAY_SIZE()` to `SSH2_ARRAYSIZE()` for uniqueness. - agent: drop unused/commented `SSH_AGENTC_*` protocol 1 macros. - fix stray symbol references found in comments. - minor whitespace fixes along the way. Note: - `ssh2` as a namespace has the minor downside of potential confusion with SSH protocol 2 (vs 1). In practice I think this is fine. - `SSH2_` prefix has been used in two places before this patch: 4 `SSH2_AGENT*` macros in `agent.c` and 2 `SSH2_MSG_KEX_ECDH_*` macros in `libssh2_priv.h`. The latter is coming from https://datatracker.ietf.org/doc/html/rfc9941. If this ever creates confusion they can be moved under an `IETF_` namespace for example. - libssh2_userauth_publickey_sk: the public man page says the callbacks needs to be using `LIBSSH2_ALLOC()` for allocation and responsible for freeing. It's an internal macro and should not be mentioned or necessary in public docs. Ref:ed439a29bb#698 Follow-up to8c9b7771ee#1931 Follow-up to689b202320#1923 Ref: #1949 Closes #1961
77 lines
3.3 KiB
C
77 lines
3.3 KiB
C
#ifndef LIBSSH2_PACKET_H
|
|
#define LIBSSH2_PACKET_H
|
|
/*
|
|
* Copyright (C) Daniel Stenberg
|
|
* All rights reserved.
|
|
*
|
|
* 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
|
|
*/
|
|
|
|
int ssh2_packet_read(LIBSSH2_SESSION *session);
|
|
|
|
int ssh2_packet_ask(LIBSSH2_SESSION *session, unsigned char packet_type,
|
|
unsigned char **data, size_t *data_len,
|
|
int match_ofs,
|
|
const unsigned char *match_buf,
|
|
size_t match_len);
|
|
|
|
int ssh2_packet_askv(LIBSSH2_SESSION *session,
|
|
const unsigned char *packet_types,
|
|
unsigned char **data, size_t *data_len,
|
|
int match_ofs,
|
|
const unsigned char *match_buf,
|
|
size_t match_len);
|
|
int ssh2_packet_require(LIBSSH2_SESSION *session,
|
|
unsigned char packet_type, unsigned char **data,
|
|
size_t *data_len, int match_ofs,
|
|
const unsigned char *match_buf,
|
|
size_t match_len,
|
|
struct packet_require_state *state);
|
|
int ssh2_packet_requirev(LIBSSH2_SESSION *session,
|
|
const unsigned char *packet_types,
|
|
unsigned char **data, size_t *data_len,
|
|
int match_ofs,
|
|
const unsigned char *match_buf,
|
|
size_t match_len,
|
|
struct packet_requirev_state *state);
|
|
int ssh2_packet_burn(LIBSSH2_SESSION *session, ssh2_NB_states *state);
|
|
int ssh2_packet_write(LIBSSH2_SESSION *session, unsigned char *data,
|
|
unsigned long data_len);
|
|
int ssh2_packet_add(LIBSSH2_SESSION *session, unsigned char *data,
|
|
size_t datalen, int macstate, uint32_t seq);
|
|
|
|
#endif /* LIBSSH2_PACKET_H */
|