mirror of
https://github.com/libssh2/libssh2.git
synced 2026-10-24 03:48:58 +03:00
1143 lines
84 KiB
Plaintext
1143 lines
84 KiB
Plaintext
libssh2 1.11.2_DEV
|
||
|
||
Deprecation notices:
|
||
|
||
- This release disables these options by default:
|
||
|
||
- SHA1-based host key methods and signatures: `ssh-rsa`,
|
||
`ssh-rsa-cert-v01@openssh.com`
|
||
You can enable them with `-DLIBSSH2_RSA_SHA1_ENABLE`.
|
||
|
||
- SHA1-based key-exchange methods:
|
||
- `diffie-hellman-group1-sha1`
|
||
- `diffie-hellman-group14-sha1`
|
||
- `diffie-hellman-group-exchange-sha1`
|
||
You can enable them with `-DLIBSSH2_KEX_SHA1_ENABLE`.
|
||
|
||
- DSA: `ssh-dss` host keys.
|
||
You can enable it with `-DLIBSSH2_DSA_ENABLE`.
|
||
|
||
- SHA1-based MACs: `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha1-96`
|
||
You can enable them with `-DLIBSSH2_HMAC_SHA1_ENABLE`.
|
||
|
||
- MD5-based MACs and hashes: `hmac-md5`, `hmac-md5-96`,
|
||
`LIBSSH2_HOSTKEY_HASH_MD5`
|
||
You can enable it with `-DLIBSSH2_MD5_ENABLE`.
|
||
|
||
- old-style, MD5-based encrypted private keys:
|
||
You can enable it with `-DLIBSSH2_MD5_PEM_ENABLE`.
|
||
|
||
- 3DES cipher: `3des-cbc`
|
||
You can enable it with `-DLIBSSH2_3DES_ENABLE`.
|
||
|
||
- RIPEMD-160 MACs: `hmac-ripemd160`, `hmac-ripemd160@openssh.com`
|
||
You can enable it with `-DLIBSSH2_HMAC_RIPEMD_ENABLE`.
|
||
|
||
- Blowfish cipher: `blowfish-cbc`
|
||
You can enable it with `-DLIBSSH2_BLOWFISH_ENABLE`.
|
||
|
||
- RC4 ciphers: `arcfour`, `arcfour128`
|
||
You can enable it with `-DLIBSSH2_RC4_ENABLE`.
|
||
|
||
- CAST cipher: `cast128-cbc`
|
||
You can enable it with `-DLIBSSH2_CAST_ENABLE`.
|
||
|
||
- The next release drops support for the above options.
|
||
|
||
- This release drops support for OpenSSL <1.1.1, LibreSSL <3.7,
|
||
mbedTLS <3.1.0, wolfSSL <5.4.0, zlib <1.2.5.2, old/classic mingw,
|
||
mingw-w64 <3.0.
|
||
|
||
- ECC support with nistp256, nistp384, nistp521 curves is required
|
||
for OpenSSL (and forks), mbedTLS and wolfSSL.
|
||
|
||
- This release drops support for Visual Studio 2008 and older.
|
||
Requiring 2010 or newer (`_MSC_VER` >= 1600).
|
||
|
||
- This release drops support for Windows XP and older.
|
||
Requiring Windows Vista / Server 2008 or newer.
|
||
|
||
- This release always enables large file support on Windows.
|
||
|
||
This release includes the following enhancements and bugfixes:
|
||
|
||
- agent: add NULL guards to all public `libssh2_agent_*()` API functions (1f977e77 #2635)
|
||
- agent: fix potential infinite loop while receiving data from SSH agent (d0a0210b #2414)
|
||
- agent: fix unused macro compiler warnings in UWP non-unity builds (0e2bc3d6 #2325 #2313)
|
||
- agent: fix to replace `TEXT()` with `_TEXT()` in CRT calls (8e9f1ca1 #2320 #2313)
|
||
- agent: add Unicode support, use secure `getenv()` on Windows (49abb5e5 #2313)
|
||
- agent: list supported backends in `libssh2_build_options()` (09073098 #2312 #2285 #2178)
|
||
- agent: move similar backends next to each other (tidy up) (80323ce4 #2311)
|
||
- agent: stop repurposing system symbol as an internal guard (dfaa11ee #2310)
|
||
- agent: cap number of identities, pubkey and comment sizes (1a45da5a #2151 #2148)
|
||
- agent: fix bounds checks, and potential OOB access on 32-bit `agent_list_identities()` (15ae3030 #2148 #2046)
|
||
- agent: tidy up and sync up allocation error messages (cb6b9461)
|
||
- agent: fix potential wrap in 32-bit `agent_transact_pageant()` (5e020418 #2145)
|
||
- agent: add response caps to Windows OpenSSH and Unix backends (db180247 #2145)
|
||
- agent: fix NULL deref on OOM in `libssh2_agent_set_identity_path()` (1b9d0560 #2066)
|
||
- agent: return error on OOM in `libssh2_agent_sign()` (4433bcc2 #2059)
|
||
- agent: simplify `agent_disconnect_unix()` (25229c2c #2061)
|
||
- agent: replace literals with `LIBSSH2_ERROR_*` constants (d14279d4 #2060)
|
||
- agent: fix bounds checks, and potential OOB access on 32-bit platforms in `agent_sign()` (a6e07bc5 #2046 #2021)
|
||
- agent: avoid reserved namespace for two static functions (1d8cfa73 #1978)
|
||
- agent: avoid reusing a macro name (213335f3 #1849)
|
||
- agent: do not store stack pointer in transaction context (4aa1720b #1845)
|
||
- agent: replace `strncpy()` with `memcpy()` (179dbafb #1785)
|
||
- agent: do not truncate socket path; reject (c10cb244 #1709)
|
||
- agent: pageant backend, bound reply copy, handle missing reply (8ddf3b31 #1711)
|
||
- agent: fix error code on agent recv error (42669040 #1710)
|
||
- agent: fix byte amount copied for method in libssh2_agent_sign (9136cc76 #1603)
|
||
- agent: merge `agent_win.c` into the main source (ddc4cf34 #941 follow: 4f0f4bff)
|
||
- appveyor: build tests again with old MSVC and related tidy-ups (a09dcbb6 #2330)
|
||
- appveyor: test debug-logging enabled build with <VS2015 (3544f757 #2328)
|
||
- appveyor: silence cmake warning (4deba99c #2129)
|
||
- appveyor: drop three more CI jobs (a9ac2137 #2070 #2055 #2051)
|
||
- appveyor: show OpenSSL 3 minor version in job names (0a6b89c7)
|
||
- appveyor: really disable building tests for no-test jobs (7537c3e7 #2055 #2051)
|
||
- appveyor: bump clang-cl job to VS2026, add native VS2026 job (e8c58d87 #2005)
|
||
- appveyor: rename/shorten out-of-tree directory (a62f3158 #1976)
|
||
- appveyor: bump to OpenSSL 3.6.x (db37e381 #1897)
|
||
- appveyor: test tidy-ups (1f0d0626 #1892 #997 #1894 #1857 #1856 #1768 #1461 follow: b5e68bdc follow: f36edf94)
|
||
- appveyor: replace choco with pinned/hashed direct download for docker (c71ff14f #1894)
|
||
- appveyor: fix `if` expression (f33207cf)
|
||
- appveyor: rework, simplify, use more bash and modern CMake (6d516af7 #1841)
|
||
- appveyor: disable last Windows test job, now completely broken (c321b324 #1768)
|
||
- appveyor: enable WinCrypt ECDSA in tests, move to Windows 2016 (0f584387 #1721 #1720 #1461)
|
||
- appveyor: fix PowerShell warning (df2b206c #1514)
|
||
- appveyor: use `-A` option with all MSVC versions (25d3a092 #1513)
|
||
- AUTHORS: update (4ea1cc6d #1874)
|
||
- autotools: assume `select()` on Windows (fcc86f84 #2461)
|
||
- autotools: fix `memset_s()` detection (48340150 #2457 #2456 #2455)
|
||
- badwords: add checker script, fix issues found (9538c99f #1959)
|
||
- blowfish: drop unused macro guards (635dd1d4 #1937)
|
||
- build: require ECC support in mbedTLS/OpenSSL/wolfSSL crypto backends (21d8e7cf #2519)
|
||
- build: assume POSIX `gettimeofday()` in fallback codepath, stop detecting it (8563c383 #2485 #2494 #2493 #2491 #2490 #2489 #2341)
|
||
- build: assume `sys/socket.h` on non-Windows (a78e2c0c #2467)
|
||
- build: assume `sys/time.h` on non-Windows and mingw-w64 (24d40141 #2466)
|
||
- build: assume POSIX `select()` is available (f7cdcd72 #2464 follow: 9d55db65)
|
||
- build: improve/extend clear memory API detection (6f0dcc3e #2455)
|
||
- build: drop `CLEAR_MEMORY=NO` and `--disable-clear-memory` options (5b74ac4b #2454 #810 follow: a0e424a5)
|
||
- build: set `LIBSSH2_TESTS` macro for all tests (76d30e5d #2417 #2408)
|
||
- build: assume standard `snprintf()` (be18d596 #2326)
|
||
- build: add option to enable Unicode mode (Windows) (49738e7e #2321)
|
||
- build: make examples a separate target, add quick-build for cmake (6bf392f6 #2276)
|
||
- build: stop redefining system symbol `snprintf` (dcd0dbab #2103)
|
||
- build: update picky warning options, fix fallouts (04ecdb22 #1972)
|
||
- build: improve in-source `inline` detection, drop from `./configure` (e6625c54 #1990)
|
||
- build: fix two issues when generating `libssh2.pc` (22683576 #1946)
|
||
- build: enable `-Wlogical-op` for GCC 4.4+ (57e4316b #1941)
|
||
- build: fix to omit `libcrypto.pc` from `libssh2.pc` for BoringSSL (cbf39eeb #1915)
|
||
- build: improve building in ISO and C89 modes, test in CI (e8e6bc2c #1688 #999 #1674 follow: a683133d)
|
||
- build: quote a cmake variable, drop redundant step in Cygwin CI jobs (bb7b68de #1730)
|
||
- build: fix/extend Apple clang and mainline llvm version translations (664d7654 #1658)
|
||
- build: tidy up comments on `Makefile.inc` variables (723b7017 #1615)
|
||
- build: sync up picky warnings with curl, fix fallouts (72982d15 #1588 #1525 #1524)
|
||
- build: drop `crypto.c` umbrella source (e0681cdb #941 follow: 4f0f4bff)
|
||
- build: add support for clang-cl, add CI job (784446b6 #1484)
|
||
- build: enable `-Wcast-qual`, fix fallouts (606c102e #1527)
|
||
- build: prepare builds for clang-cl, add cmake ossfuzz support (854cfa82 #1524)
|
||
- build: disable warning `-Wunreachable-code-break` (4844e368 #1481 #1224 follow: 7ecc309c)
|
||
- cd2nroff: move to scripts directory, sync with curl (e4c2b18f #1958)
|
||
- chacha: silence `-Wuninitialized` with gcc-16+ (8dc705a8 #2107)
|
||
- channel: add public API `libssh2_channel_has_exit_status()` (4dbbcf92 #2516 #2515 follow: 77bd3c12)
|
||
- channel: fix refund bytes for DATA packets in `ssh2_channel_flush()` (15621fa9 #2158 #2020 follow: 4b8db8c1)
|
||
- channel: fix state machine in `ssh2_channel_extended_data()` (f6a3f774 #2146)
|
||
- channel: fix 3 error messages (16c3c22e #2141)
|
||
- channel: Check open_data length before accessing reason_code (9ffbe62b #2140)
|
||
- channel: add window size bounds checking (a0057aef #1848)
|
||
- channel: fix comment about handling of null-terminator (785cafa5 #1781)
|
||
- channel: in channel_free, find all members in session structure with the channelpointer and free and clear those entries (80981c76 #1753 #1432)
|
||
- channel, packet: validate packet size received from server (b5c37a91 #2582 GHSA-4q73-hh48-fmr8)
|
||
- checksrc: extend to ossfuzz, reduce scope of exceptions (509eac8b #1998)
|
||
- checksrc: stop disabling TYPEDEFSTRUCT globally (a73aa23c #1912 #1910 #1909 #1908 #1907)
|
||
- checksrc: add missing semicolon, fix `IFDEFSINGLE` capture group (001571c1)
|
||
- checksrc: add missing items to warnings hash, alpha-sort (96df6f2f)
|
||
- checksrc: fix code quality findings (d9631cfc)
|
||
- checksrc: delete stray commas (bda85e20 #1879)
|
||
- checksrc: update, fix new issues found (cbf2f074 #1850)
|
||
- checksrc: replace bash starter with `checksrc-all.pl` (14de8476 #1778 #1775)
|
||
- checksrc: update, fix fallouts (71804d9f #1772)
|
||
- checksrc: update, update local config, fix toctou in examples (557611f9 #1719)
|
||
- checksrc: sync with curl (7e1c6be1 #1474)
|
||
- checksrc-all.pl: limit checks to repo files only (3da7e627 #1900)
|
||
- CI: use `--parallel` for `ctest` (c3de8626 #2625)
|
||
- CI: minor fixes and improvements (Windows) (111a6d17 #2314 #2276)
|
||
- CI: pass `--proto-redir =https` alongside `--location` (d58a25a0 #2117)
|
||
- CI: drop redundant AppVeyor build jobs, limit building tests and examples (39cd3a82 #2051)
|
||
- CI: dump `libssh2_config.h` to log (7e5b263b #1975)
|
||
- CI: set `DO_NOT_TRACK=1` (c615272e #1872)
|
||
- clang-tidy: enable `readability-redundant-casting`, fix/silence findings (da8d048d #2588 #2586)
|
||
- clang-tidy: fix `readability-redundant-casting` findings (0b915eab #2586)
|
||
- clang-tidy: enable `readability-redundant-nested-if`, fix findings (c4ae6510 #2585)
|
||
- clang-tidy: enable `readability-misleading-indentation` (404e32a4 #2584)
|
||
- clang-tidy: fix two NOLINTs and drop obsolete ones (d5965d12 #2382)
|
||
- clang-tidy: extend checks, fix fallouts (6e47049c #1844)
|
||
- clang-tidy: fix and/or silence issues found, and more (a1a28ac9 #1561)
|
||
- cmake: drop `gettimeofday()` detection for Windows, non-mingw-w64 (03223a02 #2468)
|
||
- cmake: add CMake Config-based dependency detection for mbedTLS, wolfSSL (86dcc0ae #2264 #2262)
|
||
- cmake: add `MBEDTLS_USE_STATIC_LIBS` option (d462f158 #2263)
|
||
- cmake: fix building with `CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON` (dd5f3fff #2262)
|
||
- cmake: drop auto-copying runtime DLLs next to targets (3b730f2e #2101 #899 #818 #2093 #2091 #2090 #2078 #1638 #1610 follow: 19884e50 follow: 6bf89833 follow: 97417ad3)
|
||
- cmake: fix to collect libssh2 runtime lib with install disabled (a95a02c8 #2093 #2091 #1638)
|
||
- cmake: fix adding libssh2 shared lib to the global runtime dependency list (97d8e8d4 #2091 #2090 #1610 follow: 6bf89833)
|
||
- cmake: simplify and fixup varname for runtime dependencies list (d652ba02 #2090 #1610 follow: 6bf89833)
|
||
- cmake: fix to really disable picky warning for clang-tidy combined with gcc (e5a4a6c3 #2088 #1844)
|
||
- cmake: limit CPack generator to TGZ (c528dfdf #1996 #1972)
|
||
- cmake: drop support for CMake 3.17 and lower (ac7b9b21 #1839)
|
||
- cmake: tidy up line order (e900f4a2 #1836)
|
||
- cmake: avoid setting custom property on built-in interface targets (bd1d00a4 #1789 #1535)
|
||
- cmake: rename `libssh2-config.cmake.in` to `libssh2-config.in.cmake` (35e1c653 #1765)
|
||
- cmake: verify minimum CMake version in `libssh2-config.cmake` (96e21c2e #1754)
|
||
- cmake: namespace all local variables in `libssh2-config.cmake` (78cd32aa #1752)
|
||
- cmake: save and restore `CMAKE_MODULE_PATH` in `libssh2-config.cmake` (7fd89a58 #1750 #1322 follow: 82b09f9b)
|
||
- cmake: small tidy-ups (3969991b #1732)
|
||
- cmake: link wolfSSL macOS/Unix system lib dependencies (f2838c76 #1722)
|
||
- cmake: tidy up passing compiler and linker options (61d51cb4 #1690 #939 #1686 #1524 follow: 80175921)
|
||
- cmake: enable picky warnings for `MSC_VERSION=1944` (549d90b8 #1687)
|
||
- cmake: pass picky C options to C targets only (and not to C++ ossfuzz) (14a709a7 #1686)
|
||
- cmake: use modern alternative for `get_filename_component()` (af679ecc #1673)
|
||
- cmake: initialize `__runtime_dependencies` variable (fdd6aa2c #1661 #1610)
|
||
- cmake: use C compiler version (not C++), fix a fallout (09eb59e3 #1648 follow: 09f0ffd9)
|
||
- cmake: make `clean-coverage` target portable (25ed4d74 #1647)
|
||
- cmake: add `LIBSSH2_DISABLE_INSTALL` option (dd50a411 #1638)
|
||
- cmake: make the ExternalProject test work (714fa876 #1637 #1589)
|
||
- cmake: fixup `Libs.private` lib order (ad8e9245 #1623 #1535 #1466 follow: c87f1296)
|
||
- cmake: de-duplicate `LIBSSH2_PC_LIBS_PRIVATE` more carefully (e1da7b2c #1621 #1131 follow: 64643018)
|
||
- cmake: tidy up `add_feature_info()` formatting (4e08dac7 #1622)
|
||
- cmake: pre-fill more, simplify control flow (300da4e2 #1620)
|
||
- cmake: drop redundant `-lws2_32` meant for `libssh2.pc` (22784a56 #1619 #827 #811 #1535 #1128)
|
||
- cmake: add linter, fix issues (694b9d96 #1610)
|
||
- cmake: test integration with old cmake (f522f10c #1591)
|
||
- cmake: honor individual picky option overrides found in `CMAKE_C_FLAGS` (62ad6a84 #1590)
|
||
- cmake: fix copy-paste typo in integration tests for old cmake (4e78006c #1592 #1589)
|
||
- cmake: extend integration tests (77df7677 #1589)
|
||
- cmake: `IMPORTED` target improvements and fixes (ac800418 #1581 #1571 #1535)
|
||
- cmake: avoid 'target is imported but not globally visible' when consuming libcurl with old cmake (a8dd5090 #1587 #1581)
|
||
- cmake: fix `libssh2-config.cmake` for cmake <3.15 (117b02b4 #1586 #1322 follow: 82b09f9b)
|
||
- cmake: whitespace in Find modules (3ae5ae32)
|
||
- cmake: use `CMAKE_COMPILE_WARNING_AS_ERROR` if available (6af8a7ca #1583)
|
||
- cmake: fix declspec for MSVC consuming static libssh2 (7b4f821e #1579 #1578)
|
||
- cmake: tidy-up `ENABLE_WERROR` logic (8a871d0b #1576)
|
||
- cmake: avoid passing options via `CMAKE_*_FLAGS` (a8e4456b #1575)
|
||
- cmake: fix target interfaces for old CMake versions (a0d8529b #1571 #1535)
|
||
- cmake: use `VERSION_GREATER_EQUAL` (71179930 #1573)
|
||
- cmake: add clang-tidy support via `LIBSSH2_CLANG_TIDY=ON` (66358804)
|
||
- cmake: replace deprecated `CMAKE_COMPILER_IS_GNUCC` (902fc957 #1564)
|
||
- cmake: make Find modules use `INTERFACE` (df0563a8 #1535 #1534)
|
||
- cmake: add comment to integration test (8ea6ae72 #1529)
|
||
- cmake: use `GREATER_EQUAL` (837ccb2d #1559)
|
||
- cmake: replace `add_definitions()` with directory props (94a099bc #1558)
|
||
- cmake: prefer `CMAKE_INSTALL_PREFIX` over `--prefix` (in tests) (669b51a0 #1542)
|
||
- cmake: add missing quotes (9642a96e #1540)
|
||
- cmake: exclude `CMAKE_C_IMPLICIT_LINK_DIRECTORIES` from `libssh2.pc` (3de8731e)
|
||
- cmake: initialize variables where missing (d92de595 #1539)
|
||
- cmake: normalize before matching paths with syspaths (9da0ca3c #1538)
|
||
- cmake: ZLIB linkage tidy-ups (eea97dbf #1534)
|
||
- cmake: extend, not overwrite, `CMAKE_REQUIRED_*` values (d07d12ae)
|
||
- cmake: avoid dupe `target_link_libraries()` commands in tests (1a9f7b4c)
|
||
- cmake: make `libssh2-config` work with all TLS-backends (96d7f404 #1534 #1525 #1460 #1322 follow: 82b09f9b follow: d9c2e550)
|
||
- cmake: tidy up string append and list prepend syntax (d033c1ea #1533 #1524)
|
||
- cmake: split integration tests into steps (7d5a4c76 #1529)
|
||
- cmake: misc improvements, add `LIBSSH2_USE_PKGCONFIG` option (a3aa6b4c #1525)
|
||
- cmake: make integration tests generator-agnostic, use `GIT_SHALLOW` (1612807b #1523)
|
||
- cmake: bump policy_max, add `FATAL_ERROR` for old cmake versions (717c0836 #1510)
|
||
- cmake: fix cmake warnings (47258265 #1511)
|
||
- cmake: tidy up `-j` make option in integration tests (389d70bf #1509)
|
||
- cmake: build but do not install static lib in certain conditions (5d03b4f9 #1469 #1450)
|
||
- cmake: add clang-cl support to PickyWarnings.cmake (bf9bb045 #1480)
|
||
- cmake: tidy up variables names in PickyWarnings.cmake (ac00f6c4 #1478)
|
||
- cmake: decorate comments in Find modules (efad5f90 #1477)
|
||
- cmake/Find*: clear package version after `pkg-config` detection (d4e43c7b #1479)
|
||
- cmakelint: also lint CMake `.in` files (fixup), fix a long line (69bed46a #1751)
|
||
- cmakelint: also lint CMake `.in` files (9e4d307e #1751)
|
||
- comp: mitigate potential side-channel attack by disabling LZ77 in zlib compression (d4e57803 #2658)
|
||
- comp: check and avoid overflow in `comp_method_zlib_alloc()` (e8f815d3 #1924)
|
||
- comp: add defensive code if src buffer is empty/null (7bcb223b #1813)
|
||
- comp: use `z_const` when zlib supports it (c03eb8d3 #1555)
|
||
- configure: drop remaining code dependent on `config.rpath` (8d4bd82c #2150 #2149 #1920)
|
||
- configure: detect OpenSSL via a header the code actually uses (7071b768 #1994)
|
||
- configure: drop redundant gcc-specific `-isystem` logic (a981d10c #1993 #1972)
|
||
- configure: drop unused feature checks (a1665da6 #1989)
|
||
- configure: drop old, vendored, `ld` detection code, merge and rename rest (9f4a2708 #1916 #1921 #1920)
|
||
- configure: drop ancient vendored `config.rpath` (0443145a #1920 follow: 1ac7bd09 follow: 5237177d follow: e1bc0adc)
|
||
- configure: drop using m4_set to simplify (bcc9292a #1921)
|
||
- configure: fix `--without-lib*-prefix` when `lib*` is detected anyway (ffd0c982 #1506 #1505 #1384 follow: d19b6190)
|
||
- configure: drop duplicate `-lmbedcrypto` from `LIBS` (bd8caa19 #1507)
|
||
- crypt: fix length underflow on short chacha20-poly1305 packets (15257c08 #2389 GHSA-x4g5-mgfc-cxvv)
|
||
- crypt: fix propagating `get_len()` error code in `ssh2_transport_read()` (12a8bda8 #2393 #2392 #1426 follow: 492bc543)
|
||
- crypt: fix unused static function warnings when most crypto is disabled (a8dd5a2c #1981)
|
||
- crypto: make `ssh2_bn_from_bin()` init the bignum, drop `ssh2_bn_init_from_bin()` (13e1042b #2594 #2583)
|
||
- crypto: fix `LIBSSH2_NO_RSA` to explicitly disable both RSA SHA1/SHA2 (2042863d #2565 #2539)
|
||
- crypto: propagate `session` to key alloc/free functions, switch to SSH2 allocator (5ef9591d #2559)
|
||
- crypto: constify `ssh2_dh_validate()` args (199a4596 #2436 #2402 #2239)
|
||
- crypto: rename `ssh2_dh_is_valid()` to `ssh2_dh_validate()` (fe667c60 #2406 #2402 #2239)
|
||
- crypto: de-duplicate/merge most file/blob codepaths (b560cb4c #2379 #2362 #2359 #2354 #1652)
|
||
- crypto: sync arg name and order with rest of code in `ssh2_ecdsa_create_key()` (c24cce92 #2273)
|
||
- crypto: de-duplicate `ssh2_bn_ctx*` macro stubs into `crypto.h` (57f95150 #2272)
|
||
- crypto: tidy up bignum argument names and order (4d907bec #2271)
|
||
- crypto: make rsa context the 1st arg in `*_signv()` functions (34c59acb #2269)
|
||
- crypto: de-dupe `*_supported_key_sign_algs()` into `userauth.c` (1410efad #2249 #2248 #1314)
|
||
- crypto: sync up `ssh2_supported_key_sign_algs()` implementation nits (82ffc1b8 #2248)
|
||
- crypto: de-duplicate more declarations into `crypto.h` (93096382 #2246)
|
||
- crypto: tidy up names, fix compiler warnings in legacy algos (db0d1073 #2195)
|
||
- crypto: unify hash macros (bef08f38 #2171 #2169 #2166 #2165 #2163)
|
||
- crypto: simplify/prune single-shot hash functions and macros (b72f1441 #2166)
|
||
- crypto: make the caller pass the digest buffer size (bae63c33 #2165)
|
||
- crypto: unify hash context types into one (409cbad6 #2163)
|
||
- crypto: `ssh2_dh_key_pair()` reject `group_order <= 0`, where missing (74ecd109 #2154 #879 follow: 5a96f494)
|
||
- crypto: drop intermediate macros for `ssh2_dh_key_pair()`/`ssh2_dh_secret()` (38664f7c #2152 #1971)
|
||
- crypto: ECDSA build tidy ups (b171deef #2077)
|
||
- crypto: drop intermediate macros where possible (c75c7a8b #1971 #860 #1961 follow: ec0a51db)
|
||
- crypto, openssl: drop 4 unused private global functions (b4b005f2 #2260 #698 follow: ed439a29)
|
||
- crypto.h: add prototype for `ssh2_ed25519_free()` (9b72d033 #2558)
|
||
- DEPENDENCIES.md: require LibreSSL 3.7.0+ and wolfSSL 5.4.0+ (e4834d10 #2073 #2008)
|
||
- DEPENDENCIES.md: recommend wolfSSL/LibreSSL versions with AES-GCM support (16ef3a27 #2008 #1919 #1918 #1893 #1797 #1718 #1699 #1625 #1550 #1549)
|
||
- DEPENDENCIES.md: set/bump and document minimum versions (772abc7a #1919 #1893)
|
||
- dist: include CMake files individually, fix to include tests/cmake (476fd5a7 #2538 #1170 follow: 8715c3d5 follow: d48d7c3a)
|
||
- docker-bridge.ps1: update AppVeyor CI external IP detection endpoint (c2bae821 #2010 #1947)
|
||
- docker-bridge.sh: use long-form option, show failure, fail on error (528b0d6d)
|
||
- Dockerfile: copy `ssh_host_*.pub` keys to avoid sshd warnings (e3f18532 #2614)
|
||
- Dockerfile: drop repeating source filenames in the destination (7bf89e2b #2613)
|
||
- Dockerfile: bump debian from trixie-20260713-slim to trixie-20260824-slim (995b230a #2569)
|
||
- Dockerfile: bump debian from trixie-20260623-slim to trixie-20260713-slim (67654c8f #2476)
|
||
- Dockerfile: bump to debian:trixie-20260623-slim (e75b4bae #2124)
|
||
- Dockerfile: bump to debian:trixie-20260610-slim (5b91afb2 #2115)
|
||
- Dockerfile: bump to debian:trixie-20260518-slim (01f101b5 #1962)
|
||
- Dockerfile: bump to debian:trixie-20260518-slim (aee0b403)
|
||
- Dockerfile: bump to debian:trixie-20260505-slim (587698cb #1926)
|
||
- Dockerfile: pin Debian trixie image, enable Dependabot (d2230944 #1724)
|
||
- Dockerfile: switch to Debian stable (f89406b5 #1595 #1594 #1591)
|
||
- docs: update list of key types where necessary (65a93332 #2599)
|
||
- docs: add missing man page for `libssh2_channel_signal()` (44a66e8f #1966 #991 #672 follow: a4544c01)
|
||
- docs: move return type inline with the declarations (e85ce25b #1960 #1935)
|
||
- docs: replace underscore with dash in `INSTALL*.md` filenames (34a292f9 #1876 #1724 #1713 #1617 #1599 #1508)
|
||
- docs: markdownify (3a895e77 #1875)
|
||
- docs: convert man page sources to "curldown" format (b889b399 #1660)
|
||
- docs: improve man page for `libssh2_channel_request_auth_agent` (30203f16 #1503)
|
||
- example: drop two local macros, merge/simplify header guards (d96bea71 #2498)
|
||
- example: assume `unistd.h` header on non-Windows (9525a6b0 #2492)
|
||
- example: drop `HAVE_GETTIMEOFDAY` macro use, fill it in for MSVC (04665fed #2491)
|
||
- example: check `write()` and `fgets()` results to silence `-Wunused-result` (7f5d5f3c #2122)
|
||
- example: re-add `sys/time.h` where necessary (d8b219ba #1863 #1792 #1001 follow: e53aae0e)
|
||
- example/ssh2: replace GCC silencer pragma with a simpler workaround (165a9c3b #2100)
|
||
- example/x11: rename variable to fix `-Wc++-keyword` (5d8daffa)
|
||
- example/x11: support custom port (70f02083 #1890)
|
||
- example/x11: handle `libssh2_channel_write()` errors more (94a018b0 #1889)
|
||
- example/x11: fix memory leak on an error branch (d0d88123)
|
||
- example/x11: handle `libssh2_session_init()` error (dd5a54b7)
|
||
- example/x11: more fixes (8d72d553 #1888)
|
||
- example/x11: add missing newlines to `fprintf()` strings (b05fa6c5)
|
||
- example/x11: more fixes and tidy ups (4117824e #1887)
|
||
- example/x11: fix messages, buffer sizes, error handling (5b734389 #1886 follow: 32080def)
|
||
- example/x11: fix/simplify node removal (8eaef7c7 #1867 follow: 32080def)
|
||
- example/x11: free session/cleanup (bb3c6bbf #1762)
|
||
- GHA: bump to LibreSSL 4.3.3, OpenSSL 4.0.3 (from 3.6.x) (8f80526c #2652)
|
||
- GHA: replace `diffie-hellman-group-exchange-sha256` with `diffie-hellman-group16-sha512` (740c2d33 #2648 #2590)
|
||
- GHA: move some jobs to ubuntu-slim and arm64 (a95ed7d8 #2644)
|
||
- GHA: run clang-tidy jobs on arm64 Linux (bb63c2f5 #2643)
|
||
- GHA: bump dependencies (b0028ca5 #2641)
|
||
- GHA: set `cache-mode: none` where missing (244b4228 #2639 #2601)
|
||
- GHA: bump msys2/setup-msys2 to v2.33.0, related improvements (5fa500d5 #2638)
|
||
- GHA: drop `actionlint`, abandoned upstream (9bf9048b #2636 #1740)
|
||
- GHA: bump Actions (788ee6d8 #2634)
|
||
- GHA: omit running tests in clang-tidy Linux jobs (2e171745 #2627)
|
||
- GHA: reduce parallelism to `-j4` in macOS runners (d702b043 #2626)
|
||
- GHA: bump cross-platform-actions, FreeBSD 14.5, enable DragonFly BSD (ff182c52 #2610 #1948)
|
||
- GHA: switch a Linux job (with tests) to arm64 (ca8864db #2607 #2606)
|
||
- GHA: use `cache-mode` (917f38bf #2601)
|
||
- GHA: drop redundant shellcheck expression filter (1a1e62c5 #2602 #1609)
|
||
- GHA: test WinCNG SCP/SFTP via curl runtests (bb8e0957 #2590 #804 #2583 #2049)
|
||
- GHA: restore building examples in CodeQL jobs (d7e461a0 #2571 #2276)
|
||
- GHA: bump GitHub Actions (1f35fe43 #2570)
|
||
- GHA: bump cross-build-actions to 1.5.0 (99f17f4f #2567)
|
||
- GHA: bump cross-build-actions, test NetBSD 11.0 (bbb84be7 #2528)
|
||
- GHA: bump GitHub Actions (23483587 #2477)
|
||
- GHA: bump codespell from 2.4.2 to 2.4.3 (fdbd6ffc #2475)
|
||
- GHA: set `HOMEBREW_NO_INSTALL_CLEANUP=1` (6097d16b #2462)
|
||
- GHA: add tests with legacy options enabled (29af30a9 #2439 #1531)
|
||
- GHA: MSYS2 mingw-w64 UWP build fixes (6d90edf5 #2315)
|
||
- GHA: try enabling trace output to debug FreeBSD flaky fails (13dcd170 #2227 #2215 #1948)
|
||
- GHA: fix and re-enable Libgcrypt tests (8be57164 #2174 #26 #2049 #1720)
|
||
- GHA: bump GitHub Actions (be7e756b #2167)
|
||
- GHA: replace OpenSSL 1.1 with 4.0 in macOS jobs (701e1f69 #2123)
|
||
- GHA: bump BSD action, versions and other tidy-ups (b7f4e55c #2120)
|
||
- GHA: finalize VS2026 runner image name (34a3bb87 #2119 #1996 #1972)
|
||
- GHA: bump dependencies built from source (2e38c394 #2116)
|
||
- GHA: disable `VCPKG_APPLOCAL_DEPS` to avoid flaky CI failures (30a0484c #2114 #2101 #2078)
|
||
- GHA: set `VCPKG_DISABLE_METRICS` for MSVC jobs (de0cf8ee)
|
||
- GHA: fix debug logging for OpenSSL-3-no-deprecated job (bc77633d #2092 #2083)
|
||
- GHA: fix enabling trace for the OpenSSL-3-no-deprecated job (a69fb2a4 #2092 #2083)
|
||
- GHA: enable connect trace for OpenSSL3-no-deprecated job (8e4c14b0 #2083)
|
||
- GHA: bump runner to ubuntu-26.04 in most jobs, clang-tidy to v22 (fbe71bc6 #2078)
|
||
- GHA: work around `actionlint` unaware of ubuntu-26.04 runner (0ba2b014)
|
||
- GHA: delete 3rd-party apt sources, where missing (f09854fa #2076)
|
||
- GHA: do `apt-get update` before `install` (0a4f8920 #2075 #2074 #1187 follow: 00a3b88c)
|
||
- GHA: drop Azure Ubuntu mirror, instead of deprioritizing (74da590d #2074)
|
||
- GHA: bump Cygwin Action and adjust version number (24a222f6 #2043)
|
||
- GHA: remove concurrency configuration from workflow (90497ad7)
|
||
- GHA: make macOS build step verbose with cmake (660d9a36)
|
||
- GHA: bump 4 GitHub Actions (bf5fa5b8 #1963)
|
||
- GHA: bump OpenBSD from v7.7 to v7.8 (8bceba2d #1950)
|
||
- GHA: merge BSD into a single matrix, add MidnightBSD, bump and extend FreeBSD (e4f700e9 #1948)
|
||
- GHA: use shorthand 'AM', 'CM' in job names (06d2b995 #1930)
|
||
- GHA: bump actions (4e1e02ae #1922)
|
||
- GHA: alpha-sort Linux matrix jobs (100c0ea2 #1914)
|
||
- GHA: deprioritize Azure Ubuntu mirror (f477a0b5 #1868)
|
||
- GHA: delete all apt sources except `ubuntu.sources` (f231ef18)
|
||
- GHA: minimize Windows cross-build apt-get packages (bd4ddc07)
|
||
- GHA: bump cross-platform-actions to 1.0.0 (05f804d0 #1862)
|
||
- GHA: shorten timeouts (8dc6463b #1837)
|
||
- GHA: bump and pin to hash dependency source tarballs (c6a5c0e8 #1833)
|
||
- GHA: bump and pin to hash old CMake binaries (c05bf778 #1832)
|
||
- GHA: bump actions (935617b6 #1827)
|
||
- GHA: update `codespell` from 2.4.1 to 2.4.2 (3cbda95a #1826)
|
||
- GHA: fix Cygwin version tag validation error (0615e37a #1805)
|
||
- GHA: bump actions/checkout from 6.0.1 to 6.0.2 (bf0a4fd0 #1796)
|
||
- GHA: install gettext on freebsd so CI tests pass (22500946 #1795)
|
||
- GHA: silence fresh zizmor 1.21.0 warnings (cb252b59 #1791)
|
||
- GHA: drop FreeBSD arm64 job, it is broken upstream (fb6fcaa2 #1790)
|
||
- GHA: delete disable-man-db hack, runners doing it by default now (882bd264 #1779)
|
||
- GHA: bump Actions (eeaf29ba #1776)
|
||
- GHA: bump pip reuse and 2 GitHub Actions (dd2b04f2 #1756 #1755)
|
||
- GHA: minor command sync with the curl repo (2b7f8298)
|
||
- GHA: move config log dumps to their separate steps (78ffc2d4 #1749)
|
||
- GHA: fix using mbedtls@3 in macOS jobs (c124c6a9 #1748 #1744)
|
||
- GHA: switch macOS jobs to versioned mbedtls@3 brew package (b098a3c4 #1744)
|
||
- GHA: add actionlint job, fix reported issues (f61703cc #1740)
|
||
- GHA: run fuzzer on master commits, bump upload-artifacts (455f0622 #1736)
|
||
- GHA: replace deprecated `set-output` command with `$GITHUB_OUTPUT` (d4ebb524 #1735)
|
||
- GHA: set concurrency, zizmor Dependabot, set cooldown (da6dec93 #1734)
|
||
- GHA: drop `HOMEBREW_NO_AUTO_UPDATE=1` (8dd9da32 #1678)
|
||
- GHA: bump crypto lib dependencies (7c92792f #1728)
|
||
- GHA: bump components (45d52d16 #1726 #1725)
|
||
- GHA: stop running tests with Libgcrypt (51f6259d #1720 #1723 #1721 #1718 #1644)
|
||
- GHA: bump reuse from 5.1.1 to 6.1.2 (9abb4e78 #1716)
|
||
- GHA: bump github/codeql-action from 3.30.5 to 4.30.7 (aa334c77 #1715)
|
||
- GHA: show full versions next to pinned actions (f29de587 #1695)
|
||
- GHA: pass zizmor a GH token, fix warnings found (ab7dd899 #1694)
|
||
- GHA: bump actions (af2de52f #1693 #1692)
|
||
- GHA: use `--enable-option-checking=fatal`, fix fallout (a7b3fdb4 #1689 #1685)
|
||
- GHA: sync MSVC job names with others (31f23ac0)
|
||
- GHA: fix Linux autotools jobs to honor their zlib settings (1f79b005 #1685)
|
||
- GHA: merge cmake/autotools steps, other misc updates (9ce9909d #1684)
|
||
- GHA: bump github/codeql-action and actions/cache (08f5df3c #1682 #1681)
|
||
- GHA: enable Dependabot pip updates (cd37b704 #1680)
|
||
- GHA: drop spaces from `requirements.txt` (e9905622)
|
||
- GHA: use `reuse` linter tool directly, merge linters into a single workflow (ec5ba062 #1678)
|
||
- GHA: pin codespell, use venv (d4142923 #1676)
|
||
- GHA: merge Linux CodeQL jobs into one (a30ea29b #1666 #1657)
|
||
- GHA: disable `trap-caching` in CodeQL (b200b656)
|
||
- GHA: fixup comments after actions bump (3389a125)
|
||
- GHA: bump actions/checkout from 4.2.2 to 5.0.0 (765c102f #1665)
|
||
- GHA: rename GHA CodeQL configuration (629904e4 #1655)
|
||
- GHA: test WinCNG with CodeQL (746de2ad #1659)
|
||
- GHA: extend CodeQL to libgcrypt, mbedTLS, wolfSSL, zlib builds (63ae236f #1657)
|
||
- GHA: add CodeQL jobs for GHA and C (1ec4e27f #1655)
|
||
- GHA: document permissions as required by zizmor 1.13.0 (4cb8398f #1653)
|
||
- GHA: bump actions (a0dafb31 #1651 #1650 #1649)
|
||
- GHA: enable Dependabot to bump GitHub Actions (60c528be)
|
||
- GHA: stay on windows-2022 runners (2fcba30a #1645)
|
||
- GHA: bumps, delete two jobs with fallouts (0ec6b3e8 #1642)
|
||
- GHA: allow more time for 'CM integration' job (dfe7aca9)
|
||
- GHA: move CI checks to Linux, other CI tweaks (e62a72b2 #1618)
|
||
- GHA: fix new zizmor warnings (339ea0f6 #1614)
|
||
- GHA: fix zizmor and shellcheck warnings, verify in CI (d7cf63bb #1609)
|
||
- GHA: avoid touching `GITHUB_ENV` (201c368a #1598)
|
||
- GHA: use more Ninja (09c948c9 #1585)
|
||
- GHA: skip updating man-db for faster installs (Ubuntu) (01b8d356 #1584)
|
||
- GHA: move Cygwin to drive `D:` for install speed (1323e17b #1567)
|
||
- GHA: add clang-tidy jobs for Linux and Windows (fb7ea5d7 #1566)
|
||
- GHA: sync linux-mingw workflow with curl (15752e5f)
|
||
- GHA: add CI test for AWS-LC (d32ab162 #1557)
|
||
- GHA: limit `ENABLE_ECDSA_WINCNG` option to WinCNG (5f51c7a2 #1368 follow: 3f98bfb0)
|
||
- GHA: bump BoringSSL (6443b2f9 #1530)
|
||
- GHA: general maintenance, security, add LibreSSL and old OpenSSL jobs with tests (008e82c0 #1528)
|
||
- GHA: fix Cygwin breakage in `mansyntax.sh` (d65c4b39 #1521)
|
||
- GHA: bump to cygwin v5 (bc781383 #1512)
|
||
- GHA: make `apt-get install` faster, drop a workaround (d01680ca #1476)
|
||
- GHA: adjust job for Ubuntu 24.04 image (9d6836e0 #1470)
|
||
- GHA/appveyor_docker: silence zizmor with settings allowing concurrency (59a554e6 #2002 #1292 follow: b08cfbc9)
|
||
- GHA/appveyor-status: disable `gh` tool telemetry (818660ca #1871)
|
||
- GHA/cifuzz: pin oss-fuzz actions to hash (93dc28a4)
|
||
- GHA/codeql: switch GHA check to arm64 (7839760c #2647)
|
||
- GHA/codeql: switch Linux job to arm64 (3b3c1cff #2646)
|
||
- GHA/codeql: build C++ (fuzzer) code (c5434649 #2572)
|
||
- GHA/codeql: limit cron job to the origin repository (1045cfd0 #1741)
|
||
- GHA/dependabot: group updates, other tidy-ups (26a78929)
|
||
- GHA/dependabot: minor fixes to prev (6c6ea30d #1724)
|
||
- GHA/dependabot: fix Dockerfile path (d1ba043d #1724)
|
||
- GHA/dependabot: fix pip directory (5dd317fa)
|
||
- GHA/distcheck: pass unix-style paths in MSYS2 configurations (b3e141ff #2640)
|
||
- GHA/openssh_server: drop docker login Action, limit scope (f1572b28 #2616)
|
||
- GHA/openssh_server: try with `qemu-user` (667f7cac #2606)
|
||
- GHA/windows: move Linux cross-builds to arm64 runners (805317f6 #2637)
|
||
- github: add LLM/AI usage warning to PR and bug report templates (80bfa8a2 #2048)
|
||
- gitignore: compress rules (90a686ef)
|
||
- HACKING-CRYPTO: move from docs to src, markdownify, update (db065d25 #2268)
|
||
- hash: drop interim macros, sync up types (52f9c3e6 #2242 #2241)
|
||
- hash: pass through context as-is in `ssh2_hash_*()` macros (81e6f8ff #2241)
|
||
- hmac: add generic `ssh2_hmac_init()`, use it (c34888e6 #2244)
|
||
- hostkey: implement ECDSA/RSA certificate host key verification (c704efcc #2539 #2513 #2434 #2064)
|
||
- hostkey: replace `strncmp()` with `SSH2_IS_LITERAL()` to harden checks (58a3e88c #2429)
|
||
- hostkey: sanitize public API arguments, fix a return value on error (504e07e9 #2351)
|
||
- hostkey: sync `hostkey_method_ssh_ecdsa_initPEM()` with siblings (tidy up) (775ecf7f #2238)
|
||
- hostkey: fix indent after prev (9abc260f #2237)
|
||
- hostkey: drop interim `ret` variables (90e9306b #2237)
|
||
- hostkey: fix previous patch to `hostkey_method_ssh_dss_signv()` (85334c92 #2236 #2233)
|
||
- hostkey: fix error handling issues in `hostkey_method_ssh_dss_signv()` (2ae297bd #2233 #2232)
|
||
- hostkey: fix ed25519-cert host key initialization (65a276e8 #2064)
|
||
- hostkey: reject zero-length inner signatures (d328895f #2030 #2019)
|
||
- hostkey: reorder methods to match OpenSSH (b8b1d16d #1831)
|
||
- hostkey: prefer ED25519 over ECDSA in host key algorithm negotiation (0cb83514 #1783 #1782)
|
||
- hostkey, kex: factor out hash helper macros and dispatchers (f2b41605 #2184 #2171)
|
||
- hostkey, userauth: merge from-filename, from-memory codepaths (5b94157f #2354)
|
||
- include: restore parentheses for macro arguments, for compatibility (dc656fd8 #2577 #1898)
|
||
- include: delete conditional `sys/uio.h` include (e462f207 #2470 follow: 6bf89833 follow: c070bdac)
|
||
- include: exclude two misspelled macros with `LIBSSH2_NO_DEPRECATED` (f69dc3f8 #1987 #1977 follow: 4b8db8c1)
|
||
- include: add deprecated attributes where missing, related doc updates (2b2664bf #1977 follow: 2b8038e1 follow: 6875285b follow: 8eba2961)
|
||
- include: move return type inline with the declarations, where missing (f0279a69 #1964 #1960 #1935)
|
||
- INSTALL-CMAKE: update minimum version and links, drop old cmake instructions (fd43ce89 #1873 #1839)
|
||
- INSTALL-CMAKE: fixes build result directories (98cd10d1 #1617)
|
||
- keepalive: verify if `session` is non-NULL (4c8ff933 #2345)
|
||
- kex: clear buffers holding secrets (826fdb28 #2655 #2654 #2653 #1644)
|
||
- kex: drop ML-KEM debug/trace code (9c731b2d #2651 #2633 #2259 #2227 #1644)
|
||
- kex: zero-pad x25519 shared secret in mlkem768x25519 (4f2692fd #2633 #1644)
|
||
- kex: adjust type to drop casts for `ssh2_bn_bits()` value (c3c1743a #2593)
|
||
- kex: disable SHA1-based methods by default (99f93535 #2443)
|
||
- kex: replace magic number and `strlen()` with `sizeof()` (88c5fd98 #2400)
|
||
- kex: fix misleading error codes returned by `ssh2_kex_exchange()` (b956943b #2399)
|
||
- kex: fix indent in previous commit (6fe98ab5)
|
||
- kex: fail early on NULL session in `libssh2_session_supported_algs()` (4cb5a711 #2346)
|
||
- kex: merge two `*_curve_type()` local functions (8561585d #2274 #1644)
|
||
- kex: de-dupe and move hash context declarations to `kex_diffie_hellman_sha()` (3b5d909d #2240)
|
||
- kex: fix some error message strings (64906bb6 #2234)
|
||
- kex: de-duplicate hash calculations in `kex_mlkem_nistp()` and `kex_ecdh_sha2_nistp()` (563ab4e6 #2228 #2187 #2184 #2171)
|
||
- kex: fix `shared_secret` memleak on `EAGAIN` (75c5c856 #2218 #1644)
|
||
- kex: NULL check `data` in `kex_mlkem768x25519_sha256()` to match siblings (f6ddce0d #2215 #1644)
|
||
- kex: fix mismatched ECDSA private key free in ML-KEM cleanup (8c744ad0 #2200 #1644)
|
||
- kex: fix to zero the full ML-KEM keys on cleanup (ae6697a8 #2192 #1644)
|
||
- kex: propagate errors from `kex_method_ec_sha_hash_create_verify()` (04089b03 #2188 #2186 #2184)
|
||
- kex: hash type overhaul, use `ssh2_hash_alg` (b0e1b08d #2187 #2171)
|
||
- kex: merge EC and EC+PQ create/verify hash functions (7fd8b99f #2186 #2184)
|
||
- kex: verify `ssh2_dh_secret()` success (926203ef #2153)
|
||
- kex: add error strings and error codes to some failure branches (ea24601c #2058)
|
||
- kex: check for lang_cs and lang_sc values #2016 (4d60ec37 #2044 #2016)
|
||
- kex: fix typos in symbol names, comment nits (809a37b0 #1927)
|
||
- kex: clarify buffer size using exact length (fdcbe4e3 #1787)
|
||
- kex: fix 3 error messages (b07fef59 #1852)
|
||
- kex: mlkem_nistp(): fix returning error on hash calculation failures (24615d62 #1846 #1644)
|
||
- kex: do not assume buffer has null-terminator (d3421aef #1788)
|
||
- kex: missing `free()` when random data cannot be generated (ae0a2316 #1780)
|
||
- kex: fix NULL dereference of kex->exchange_keys during key exchange. (631e2f82 #1763)
|
||
- kex: remove unused kex state variable `exchange_hash` (c3d8976c #1713)
|
||
- kex: fix DH-GEX-sha256 bignum initialization (30befffe #1599 follow: 09c5e599)
|
||
- kex: fix possible null pointer dereference in diffie_hellman_sha_algo() (1ac1ff44 #1508)
|
||
- kex: return error if user KEX methods are invalid #1553 (4beed724 #1554 #1553)
|
||
- kex, packet: validate DH prime range and server extensions count (fe907ca4 #1825)
|
||
- kex, pem: use `ssh2_zero_free()` where applicable (1e7ba971 #2546 #2544)
|
||
- keys-generate.sh: group signed keys, drop newlines (e0595be5)
|
||
- keys-generate.sh: allow overriding the username (4dad9717)
|
||
- keys-generate.sh: create directories if missing (cdf94b8b)
|
||
- knownhost: match equivalent IPv6 literals (dd47304a #2568 #1398)
|
||
- knownhost: stop determining `keylen` if passed as zero in `libssh2_knownhost_add*()` (7b18532c #2364 #2363 #1641 follow: 4b991b23)
|
||
- knownhost: fix OOB reads in `knownhost_line_hashed()`/`knownhost_add()` (102e4448 #2363)
|
||
- knownhost: fix off-by-one read in `libssh2_knownhost_readline()` (fed2d6e0 #2350)
|
||
- knownhost: fix potential off-by-one read in `libssh2_knownhost_readline()` (b758dc29 #2335 #2053 #2012)
|
||
- knownhost: fix off-by-one reads in `knownhost_add()` (8b278e64 #2334 #2333)
|
||
- knownhost: extend public API arguments checks (580f7ad6 #2333)
|
||
- knownhost: fix hmac context memleaks on error paths (c44e081d #2245 #2244)
|
||
- knownhost: Modify null-termination check for host key line (bf33b943 #2053 #2012)
|
||
- knownhost: fix memleaks on error paths in `knownhost_add()` type SHA1 (c6f897b7 #2025 #1957)
|
||
- knownhost: fix for short hostnames (704299e9 #1500)
|
||
- knownhost: improve known_hosts parsing and harden _libssh2_base64_encode() (d1c0e14d #1641)
|
||
- knownhost: handle malformed comments in known_hosts parsing #1628 (aa4c7b5b #1629 #1628)
|
||
- libgcrypt: fix `ssh2_bn_set_word()` return value (f0ac38ab #2596 #2595 #1354 follow: 95c824d5 follow: c9d40afa)
|
||
- libgcrypt: tidy up variables names, S-expressions (f7335017 #2555)
|
||
- libgcrypt: guard zero-length datum in `ssh2_dsa_sha1_sign()` (86adba14 #2534)
|
||
- libgcrypt: reuse hash/hmac final code (88726a72 #2253 #2250)
|
||
- libgcrypt: merge up a local single-caller function (d7edc91f #2251 #2244)
|
||
- libgcrypt: check for more errors in `ssh2_hash_final()`/`ssh_hmac_final()` (eb1a3ee3 #2250)
|
||
- libgcrypt: improve `ssh2_md5_final()` (b5784093 #2172 #2171)
|
||
- libgcrypt: de-duplicate hmac init into worker function (2d57682f #2164)
|
||
- libgcrypt: silence false positive `-Wconditional-uninitialized` (ea224dd0)
|
||
- libgcrypt: fix private macro namespace, shorten (998c054d #1986)
|
||
- libgcrypt: bump weak random to strong in `_libssh2_dh_key_pair()` (776be9f9 #1929 #149 follow: f7daf318)
|
||
- libgcrypt: add support for RSA SHA-256/SHA-512 (f4642222 #1600)
|
||
- libgcrypt, mbedtls, openssl: validate DH public value (fcf83078 #2239 GHSA-m9rg-h9jv-9gvh)
|
||
- libssh2_base64_decode: add deprecation warning (cf3aac1a)
|
||
- libssh2_poll: add deprecated attribute, drop from no-deprecated builds (94d4a2d1 #1838 #1266 follow: 2b8038e1 follow: b1414503)
|
||
- libssh2_poll_channel_read: improve documentation on return values (9ece2b2b #1983 #1977)
|
||
- libssh2_scp_recv2: fix stat struct type in man page prototype (91f3a05d #2508 follow: 6c84a426)
|
||
- libssh2_scp_send, libssh2_scp_send_ex: add deprecation warning (70276045)
|
||
- libssh2_sign_sk: add `LIBSSH2_API` attribute, document availability (e0635ab4 #1965 #698 follow: ed439a29)
|
||
- libssh2_trace.3: Update prototype (7495084b #1518 #1517)
|
||
- libssh2_userauth_keyboard_interactive_ex.md: fix allocator requirement (59329f34 #2661 GHSA-p6p8-66vc-3f24 #2659 follow: d4aa801f follow: da653774)
|
||
- libssh2_userauth_publickey_sk.md: say `LIBSSH2_ALLOC_FUNC` (was: `SSH2_ALLOC`) (77e54d83 #2660 #698 follow: ed439a29)
|
||
- libssh2.h: add two FIXMEs for allocator requirements (ce631aaf #2659 GHSA-p6p8-66vc-3f24)
|
||
- libssh2.h: macro value formatting (1545df09 #2576)
|
||
- libssh2.h: bump `LIBSSH2_VERSION_PATCH` to match version string (5c1f36c6 #2219 follow: c04d57e7)
|
||
- libssh2.h: merge two `#if` branches (cbdb0a8c #1869 #1793 #1578)
|
||
- libssh2.h: _WINDLL being defined does not mean libssh2 was built as a DLL (35326015 #1793 #1578)
|
||
- libssh2.h: drop stray bits of Windows CE support (1d464325 #1770)
|
||
- libssh2.h: typo fixes (780bf13a #1496)
|
||
- libssh2.h: add note about release versions to `LIBSSH2_VERSION` (83590ac7 #1475 #771 #1473)
|
||
- libssh2.pc: add Copyright property (4f271a3b #2527)
|
||
- libssh2.pc: add the Link.ABI, Source and License tags (d5259e74 #2520)
|
||
- mac: disable SHA1-based MACs by default (3e14d67d #2444 #2443)
|
||
- mac: fix `mac_method_none_init()` to set `free_key` #1951 (91b0d464 #1952 #1951)
|
||
- man: document availability of `libssh2_publickey_*` functions (dabe1e36 #2139)
|
||
- mansyntax.sh: revert a change to unhide `man` error output (c343f06b #982)
|
||
- mbedtls: fix `-Wunused-variable` when building with `LIBSSH2_NO_RSA` (738c2ac4 #2623)
|
||
- mbedtls: use `ssh2_zero_free()` where applicable (b15d84b3 #2563 #2544)
|
||
- mbedtls: merge local function `mbed_parse_eckey()` into its sole caller (a794df66 #2562 #385 #2379 follow: 5528f3da)
|
||
- mbedtls: drop local `mbed_zero_free()` function (8ada619d #2553 #2552 #2550)
|
||
- mbedtls: fix mismatched alloc/free in `ssh2_ecdsa_sign()` (62a2a7ec #2552 #385 #2196 follow: 5528f3da)
|
||
- mbedtls: replace mbedTLS allocator with SSH2 one where possible (420dbba6 #2550 #2548)
|
||
- mbedtls: fail on missing `MBEDTLS_ECDH_C` gracefully (50cf5daa #2522 #2519)
|
||
- mbedtls: add support for AES-GCM ciphers (d5ba5bc7 #2505 #1764 #2401)
|
||
- mbedtls: fix double-free in `mbed_pub_priv_key()` error path (6c639b18 #2502 #2501 #132 follow: 186f1a2d)
|
||
- mbedtls: avoid magic numbers (a35c6d27 #2375)
|
||
- mbedtls: fix 3DES detection (fe57c2dc #2286 #2277 follow: f1d60b1f)
|
||
- mbedtls: drop no-op checks from `mbed_mpi_write_binary()` (346a317d #2278 #385 follow: 5528f3da)
|
||
- mbedtls: drop unused Blowfish, RC4, make 3DES conditional (b684520b #2277 #1727)
|
||
- mbedtls: pass null-terminator in `ssh2_ecdsa_new_private()` for PEM-formatted keys (bce5593c #2275 #1878)
|
||
- mbedtls: sync null-terminate data variable names, reflow (e3135eda #2213)
|
||
- mbedtls: fix mismatched alloc/free, leaks, leaks on OOM, missing null-terminator (f7fa81ca #2196 #2195)
|
||
- mbedtls: drop interim result variables (tidy-up) (6dc44da8 #2156)
|
||
- mbedtls: switch to PSA Crypto API for hash/digests and drbg (e3905e55 #2132)
|
||
- mbedtls: use enum types to fix `-Wimplicit-int-enum-cast` (b9845510)
|
||
- mbedtls: drop redundant check for version 3+ (1a3fca66 #2009 #1822 #1727)
|
||
- mbedtls: make `*ecdsa_curve_type_from_name()` function static (35f420bd #1967)
|
||
- mbedtls: stop using `mbedtls_pk_load_file()` (b101ce0a #1878 #1421 #1393 #1349 follow: 1628f6ca follow: 2e4c5ec4 follow: e973493f)
|
||
- mbedtls: fix returning pointers to stack memory (5a54b7c9 #1820)
|
||
- mbedtls: require 3.1.0 (2.x no longer supported upstream) (f63f68b3 #1727)
|
||
- mbedtls: fix missing rsa_init when loading key from memory (7419595a #1822)
|
||
- mbedtls: fix AES-CBC backend: avoid BAD_INPUT_DATA during cipher_finish() in SSH handshake (26f57efd #1758 #793)
|
||
- mbedtls: fix using garbage value (reported by clang-tidy) (16ce0ec8 #1729 #132 follow: 186f1a2d)
|
||
- mbedtls: Bug fix for gen_publickey_from_rsa (6746b789 #1560)
|
||
- mbedtls, openssl: dedupe key type literals into static const strings (cd04e2ee #2405)
|
||
- mbedtls, openssl: make `ssh2_hmac_update()` a macro wrapper (c177d6c3 #2254)
|
||
- mbedtls, openssl: verify success of low-level DH operations (d837d563 #2155)
|
||
- mbedtls, wincng: make var names consistent, drop magic numbers (4d4f15ba #2376)
|
||
- mbedtls, wincng: rename `*_safe_free()` to `*_zero_free()` (d152c13e #2208)
|
||
- misc: fall back to POSIX `gettimeofday()` unconditionally on non-Windows (0d998d16 #2494)
|
||
- misc: drop `ssh2_gettimeofday()`, no longer used (694d38e3 #2493 #2490)
|
||
- misc: replace `gettimeofday()` with `ssh2_now()` in `ssh2_deb_low()` (a43dc6d5 #2490 #2489)
|
||
- misc: use `SecureZeroMemory2()` if available (Windows) (566c9f2c #2451)
|
||
- misc: make `ssh2_copy_string()` add a null-terminator (f4ae1d5a #2430 #2429)
|
||
- misc: optimize out an `strlen()` call in `ssh2_match_string()` (f5856811 #2425 #2424)
|
||
- misc: add non-unsigned char variant for `ssh2_get_string()` (907fe84f #2424 #2422 #2420)
|
||
- misc: make `ssh2_snprintf()` use safe CRT functions and make it `snprintf()`-compatible (cde2f393 #2322 #812 #2105 follow: 4cdf785c follow: 6bf89833)
|
||
- misc: drop `ssh2_fopen()` macro redirect on Windows (a8870f08 #2329 #2318)
|
||
- misc: fix NULL `session` derefs in `ssh2_deb()` (a6f5cc77 #2282 #2283)
|
||
- misc: null-terminate `ssh2_snprintf()` output in pre-VS2015 builds (66383004 #2105 #812 follow: 4cdf785c follow: 6bf89833)
|
||
- misc: clarify C syntax in `ssh2_store_bignum_bytes()` (3c2dc8f2 #2068 #698 follow: ed439a29)
|
||
- misc: assume POSIX `EWOULDBLOCK` macro is defined (f3ff0584 #2065 #172 #171 follow: 92f76866 follow: c511177d)
|
||
- misc: rename socket error variables to `sockerr` (d7698703 #2062)
|
||
- misc: fix small leak in base64_encode() with empty data #1627 (cea8783e #1630 #1627)
|
||
- misc: _libssh2_base64_decode() handle malformed data (8cad398b #1551)
|
||
- openssh_fixture: merge Apple container commands with others (418c2a2a #2622 #2605)
|
||
- openssh_fixture: drop progress from `image pull` with Apple container (1061e299 #2620 #2605)
|
||
- openssh_fixture: drop `docker-machine ip` logic (86dca4ef #2611 #2609 #100 follow: cf80f2f4)
|
||
- openssh_fixture: fix `ssh2_snprintf()` result check (38caa44a #2157 #489 follow: ac13b70a)
|
||
- openssh_fixture: trim all right-padding whitespace from external command results (879aac02 #2142 follow: cf80f2f4)
|
||
- openssh_fixture: increase `/proc/self/cgroup` read buffer (revert) (540f248c)
|
||
- openssh_fixture: increase `/proc/self/cgroup` read buffer (826c9f09 #1688)
|
||
- openssh_server: build container for arm64 also, fix Dockerfile for trixie (7d9d0f8d #2606)
|
||
- openssl: make `ssh2_bn_bytes()`/`ssh2_bn_bits()` return `size_t` (b766778c #2592)
|
||
- openssl: bail out early on bignum OOM in `ssh2_rsa_new()`, `ssh2_dsa_new()` with OpenSSL 3+ (eabe683e #2566 #2564 #1207 follow: b0ab005f)
|
||
- openssl: replace OpenSSL allocator with the SSH2 one in `ssh2_rsa_new()`, `ssh2_dsa_new()` (8aeee000 #2564 #2559 #2548 #1207 follow: b0ab005f)
|
||
- openssl: pass `session` to `ssh2_ecdsa_curve_name_with_octal_new()`, use SSH2 allocators (47cb2605 #2549 #2544)
|
||
- openssl: replace OpenSSL allocator with SSH2 one where possible (d5149ca3 #2548 #1207 follow: b0ab005f)
|
||
- openssl: fix allocate/free mismatch on failure in `ssh2_ecdsa_sign()` with OpenSSL 3+ (7582420d #2547 #2544 #1207 follow: b0ab005f)
|
||
- openssl: clear local secret before free in `ssh2_ecdh_gen_k()` with OpenSSL 1.1.1 (7c00750a #2545 #41 #2544 follow: aba34f5f)
|
||
- openssl: fix allocator/free mismatch in `ossl_ecdsa_evp_to_pubkey()` with OpenSSL 3+ (2192c2ed #2543 #1207 follow: b0ab005f)
|
||
- openssl: handle OOM and `EVP_PKEY_get_octet_string_param()` fail in `ossl_ecdsa_evp_to_pubkey()` (9b51b957 #2542 #1207 follow: b0ab005f)
|
||
- openssl: bound EC point length in `ssh2_ecdsa_create_key()` (ede8045e #2541 #1207 follow: b0ab005f)
|
||
- openssl: guard zero-length input in `ossl_swap_bytes()` (7cafeb2d #2521 #1207 follow: b0ab005f)
|
||
- openssl: future-proof LibreSSL ECC support check (8358f2f5 #2523 #2519)
|
||
- openssl: fix compiler warning with AWS-LC/BoringSSL and debug logging enabled (33a1df30 #2503)
|
||
- openssl: sync patterns between functions (tidy-up) (9a376a86 #2442 #2308 #2029 #1644)
|
||
- openssl: fix potential OOB read/write with AES-GCM in `ssh2_cipher_crypt()` (a2ed82d4 #2401 GHSA-c4f7-cvfc-33j7 #797 #1491 follow: 3c953c05)
|
||
- openssl: replace `ossl_*_openssh_priv_new()` functions with `ossl_key_from_openssh()` (ac9a71a7 #2396 #2394 #2379)
|
||
- openssl: merge `ossl_key_from_openssh_*()` file/blob functions (3bb068e4 #2394 #2388 #2379 #2354)
|
||
- openssl: fix importing DSA private keys from blob (e295f4ff #2395 #248 #2394 follow: 03092292)
|
||
- openssl: avoid more magic numbers (22b9472b #2374)
|
||
- openssl: sync more patterns, avoid magic numbers (fe12685f #2372)
|
||
- openssl: sync variable names and patterns in two ed25519 functions (93008915 #2371)
|
||
- openssl: fix memleaks on keyfile/blob parse failure (95375dc0 #2355 #2353)
|
||
- openssl: fix `key_type` check in `ossl_key_from_openssh_blob()` (8460d440 #2352 #698 #248 follow: 03092292 follow: ed439a29)
|
||
- openssl: fix NULL derefs on OOM (698ff902 #2339)
|
||
- openssl: match alloc size when zeroing ECDSA `group_name` (tidy up) (3b43169d #2298)
|
||
- openssl: drop no-op check and code in `ssh2_ed25519_new_public()` (3b74878f #2297)
|
||
- openssl: drop two always-true checks (fe807f9b #2296)
|
||
- openssl: check `EVP_PKEY_CTX_new_id()` result in `ssh2_rsa_new()`/`ssh2_dsa_new()` (9e26c685 #2295)
|
||
- openssl: fix leaking `key` buffer on error in `ossl_ecdsa_sk_openssh_priv_to_pubkey()` (4b931c43 #2293 #698 follow: ed439a29)
|
||
- openssl: fix NULL derefs on OOM in `ossl_e*_sk_openssh_priv_to_pubkey()` (7e2d7753 #2292 #698 follow: ed439a29)
|
||
- openssl: drop no-op code from `ssh2_sk_pub_keyfilememory()` (08bee363 #2281 #698 follow: ed439a29)
|
||
- openssl: add debug traces to ML-KEM ed25519 KEX codepath (ca0e2dcf #2259 #2092 #2083 #1644)
|
||
- openssl: map `ssh2_hash_update()` to OpenSSL API directly (d2395d9b #2183)
|
||
- openssl: omit `ssh2_init_if_needed()` calls when a no-op (6450c760 #2176 #1668 #1310 follow: 76e7a68a)
|
||
- openssl: pass actual mac buffer size to `EVP_MAC_final()` (41a08c5d #2136 #2132)
|
||
- openssl: check update/final success in `ssh2_ossl_hash()` (d70c148c #2135 #2134)
|
||
- openssl: de-duplicate low-level hash functions (4864dae6 #2134)
|
||
- openssl: fix server host key memleak on handshake failure (34b45a08 #2082 #2080)
|
||
- openssl: fix leaking ECDSA bignum buffer in non-OpenSSL3 builds (e4d056ea #2081 #2079)
|
||
- openssl: stop setting `OPENSSL_SUPPRESS_DEPRECATED` (bd340b5e #1244 #1243 #1236 #1207 follow: 363dcbf4 follow: 487152f4 follow: 82581941 follow: b0ab005f)
|
||
- openssl: fix `-Wimplicit-int-enum-cast` in wolfSSL builds (ee3b7a8b)
|
||
- openssl: simplify debug-logging comment field in `ed25519_openssh_priv_to_pubkey()` (a21dd31f #2033)
|
||
- openssl: free the correct pointers in `ecdsa_sk_openssh_priv_to_pubkey()` (b8e471c8 #2027 #698 follow: ed439a29)
|
||
- openssl: set public key buffer length correctly in `ssh2_mlkem_new()` (41389f8f #2029)
|
||
- openssl: rename `ossl_ed25519_openssh_sk_priv_to_pubkey()` (11294d65 #2015 #2003)
|
||
- openssl: fix conditions for enabling AES-GCM support (3490c07b #2007 #1668)
|
||
- openssl: drop support for non-opaque structures (5b7ac811 #2006 #1919 #1668)
|
||
- openssl: drop redundant `{}`, merge nested `if`s where possible (28824712 #2004)
|
||
- openssl: reflow a function definition to fix indentation (dc6e1541 #2001)
|
||
- openssl: refactor static function names, move to `ossl_` namespace (794dbd00 #2003)
|
||
- openssl: move worker functions to the `ossl_` namespace (c347d5f5 #2001)
|
||
- openssl: fix `EVP_PKEY_CTX` leak in `ssh2_dsa_new()` with OpenSSL 3 (1f95cd64 #1999)
|
||
- openssl: avoid function pointer typedefs and casts (4a3b0b23 #1991 #1972 #1484 #1207 follow: 231a97a9 follow: b0ab005f)
|
||
- openssl: fix ECDSA sign allocator mismatch (3186a1a7 #1829 #292 #1828)
|
||
- openssl: fix incorrect frees on errors #1802 (2b71623a #1803 #1802)
|
||
- openssl: drop support for OpenSSL <1.1.1, LibreSSL <2.7 (2018-03-21) (cea796fc #1668)
|
||
- openssl: fix to build with wolfSSL without AES-CTR (4fbd5923)
|
||
- openssl: make it compatible with wolfSSL built without `OPENSSL_ALL` (2da28146)
|
||
- openssl, os400qc3: minor hash macro tidy-ups (3d70da1c #2168)
|
||
- os400: move return type inline, clang-format (065794dc #1968 #1964 #1960 #1938 #1936 #1935 #1898)
|
||
- os400qc3: use `ssh2_zero_free()` in `try_pem_load()` (ecc89283 #2551 #2544)
|
||
- os400qc3: check `getASN1Element()` result in `asn1_new_from_bytes()` (4040fbd3 #2529)
|
||
- os400qc3: validate DH public value (d0ca946d #2402 GHSA-m9rg-h9jv-9gvh #2239)
|
||
- os400qc3: fix `data` memleak on success in `try_pem_load()` (116fe644 #2391 #2388)
|
||
- os400qc3: fix macro syntax regression (8c80319a #2086)
|
||
- os400qc3: fixup `ssh2_os400qc3_hash_final()` declaration (ba01f80b #2168 #2165)
|
||
- os400qc3: replace typedef structs with direct struct types (35aa0b2c #1910)
|
||
- os400qc3: misc fixes (8e2cc23e #1901 #1746)
|
||
- os400qc3: open PEM files in binary mode (915ea44f #1884 #1883)
|
||
- os400qc3, wincng: replace more `unsigned long/int` with `size_t`/`uint32_t` (48933ba2 #2270)
|
||
- os400qc3.h: fix formatting typo (3b5eada9 #1936)
|
||
- ossfuzz: replace assert() with goto in ssh2_client_fuzzer (e7e0383b #1823)
|
||
- ossfuzz: fix picky compiler warnings, make it pass `checksrc` (96cbe618 #1526 #901 follow: 50124428)
|
||
- ossfuzz.sh: disable build options unnecessary for fuzzing (6857c88c #2447)
|
||
- packet: keep new channel across EAGAIN in x11 and tcpip forward opens (ff501d63 #2656 #1427)
|
||
- packet: fix memleak on receiving multiple `exit-signal` packets (0a17ea04 #2504 GHSA-53q9-wmqr-fh7c follow: 6140ec2d)
|
||
- packet: fix use-after-free of ignored extended data on eagain (bf7fa4c1 #2450)
|
||
- packet: use `SSH2_IS_LITERAL()` macro (eaf7c1a0 #2433 #2429)
|
||
- packet: make `ssh2_packet_askv()` static (00871543 #2419)
|
||
- packet: fix bounds checks (06e5f49f #1906 #1895)
|
||
- packet: fix packet bounds check in `packet_authagent_open()` (456b9b94 #1895)
|
||
- packet: check `_libssh2_get_string()` return in `EXT_INFO` handler (17626857 #1864)
|
||
- packet: check exit_signal allocation before memcpy (47a49a5c #1861)
|
||
- packet: improve bounds checking in exit-signal sig name handling (590cdfe7 #1859)
|
||
- packet: honor buffer length when passing to `_libssh2_debug()` (8c22b959 #1786)
|
||
- packet: Fix possible heap overflow in SSH_MSG_CHANNEL_REQUEST #1815 (83072b0e #1816 #1815)
|
||
- packet: create null-terminated string for shost in packet_queue_listener() (f66dfc4a #1761)
|
||
- packet: move size check to before size manipulation (a93359ad #1704)
|
||
- packet: authagent_open: fix failure packet length (31ec5a8b #1701)
|
||
- packet: fix type mismatch in "reason code" (13a71451 #1706)
|
||
- packet, sftp: replace `strlen()` on literals with `sizeof()` (2eeae1e0 #2432 #752 #2400 #2224 #1179 follow: 88a960a8 follow: bc4e619e)
|
||
- packet.h: delete two orphan function prototypes (db8e79fa #2267)
|
||
- pem: cap accepted KDF rounds in `pem_parse_data_openssh()` (5d27ee28 #2657 GHSA-vc97-vgww-qggv)
|
||
- pem: reduce static scope, use more `sizeof()` (89fa7a94 #2441)
|
||
- pem: fix to exactly match the legacy PEM crypt annotation header (e3a428b8 #2440 #2438 follow: 386e0122)
|
||
- pem: de-duplicate two identical curve type conversions functions (5cee2004 #2427 #2421)
|
||
- pem: avoid a pointer cast in `pem_parse_data_openssh()` (tidy-up) (a7d05f95 #2422 #248 #2361 follow: 03092292)
|
||
- pem: null-terminate decrypted OpenSSH key buffer to fix OOB read (0fcb6625 #2403)
|
||
- pem: merge file/blob codepaths (7bf902e5 #2388 #2379 #2362 #2359 #2354)
|
||
- pem: fix `ssh2_pem_parse_blob()` memleak in no-MD5 builds (3b84c15c #2390 #2388)
|
||
- pem: sync blob argument names with rest of code (88025fcf #2387)
|
||
- pem: Fix incorrect line clearing (d78905f6 #2137 #2130 #1746)
|
||
- pem: drop comparing unsigned integer with a negative range (7db62449 #2063)
|
||
- pem: fix `readline_memory()` to detect end of input, not skip chars (8e8e3fc6 #2032 #2013 #1746)
|
||
- pem: Add additional bounds checks to read_asn1_length #2011 (5efc68df #2028 #2011)
|
||
- pem: drop `ssh2_` prefix from static function (75e47814 #1979)
|
||
- pem: `_libssh2_pem_parse()` extend error handling, limit size to 1 MiB (a173bd93 #1880 #1878)
|
||
- pem: replace literal with `SEEK_SET` (5fe64212 #1847 #1746)
|
||
- pem: drop unnecessary `wincng.h` include (734ec12c #1834 #1746)
|
||
- pem: fix formatting, C++ comment (51a14ae2 #1746)
|
||
- pem: add passphrase support to _libssh2_pem_parse_memory (141b0356 #1746 #1047)
|
||
- pem: add validation for data length and padding (00b17231 #1797)
|
||
- pem: fix possible double free if key in error cases (2fb5803c #1550 #1549)
|
||
- pem, test_hostkey: replace `strlen()` on literals with `sizeof()` (7bbf17a5 #2438 #2432)
|
||
- pem, wincng: fix checking for OpenSSH PEM magic string (56c12e9d #2022 #248 #2014 #1315 follow: 03092292 follow: 3e723437)
|
||
- publickey: cap number of public keys in `libssh2_publickey_list_fetch()` (14b9d877 #2580)
|
||
- publickey: preserve list state across EAGAIN in `libssh2_publickey_list_fetch()` (b4e6761d #2578 GHSA-qwvp-xm4w-32m7)
|
||
- publickey: initialize the list terminator in `libssh2_publickey_list_fetch()` (ad16eb11 #2579 #2380)
|
||
- publickey: fix `attr` memleak on error in `libssh2_publickey_list_fetch()` (c2f1a3a2 #2380 #2368)
|
||
- publickey: honor key type length in traces (865c86a8 #2386)
|
||
- publickey: fix potential heap OOB reads in `publickey_init()` (edec1cce #2197 #2147)
|
||
- publickey: sanitize public API input arguments (d47298d5 #2340)
|
||
- publickey: replace magic numbers with `sizeof()` (56c9bb67 #2225)
|
||
- publickey: cap variable-length packet element sizes (7c8a170c #2207 #2205)
|
||
- publickey: rework bounds checks to avoid pointer comparisons (a0334dbe #2205 #2204 #2203)
|
||
- publickey: flatten bounds check `if` blocks (tidy-up) (3b8d6dd2 #2203)
|
||
- publickey: fix potential OOB read (e3fba528 GHSA-w8q5-9hq2-h9pr #2203 follow: c02d9b7b)
|
||
- publickey: fix potential OOB read in `libssh2_publickey_list_fetch()` (a13bb6c7 #2202 GHSA-w6g9-cpfp-22gc)
|
||
- publickey: fix potential OOB read in `publickey_response_success()` (ceaa7e13 #2147 #2144)
|
||
- publickey: fix leaks when `publickey_response_success()` received <8 bytes (1b3af90c #2144 #2143)
|
||
- publickey: cap packet size in `publickey_packet_receive()` (c0e20202 #2143)
|
||
- publickey: fix potential multiplication overflow in 32-bit `libssh2_publickey_list_fetch()` (34497525 #2128 follow: e15f5d97)
|
||
- publickey: fix potential arbitrary free in `libssh2_publickey_list_fetch()` (a9758da4 #2127 follow: e15f5d97)
|
||
- publickey: fix double-free by transferring ownership of receive_packet (86301ab5 #1699)
|
||
- readme.vms: fix typos (cont.) (3ccef401)
|
||
- readme.vms: fix typos (622dfa06)
|
||
- REUSE: add copyright headers to more files, `.gitignore` updates (4f9e6e0b #1718)
|
||
- scp: handle `ssh2_snprintf()` failure in `scp_send()` (4884fc61 #2573 GHSA-p2v4-ghw2-mvq3 GHSA-v6rf-jr7x-9hhp)
|
||
- scp: enable 64-bit timestamp support in `libssh2_scp_recv2()` (fe1ef985 #2460)
|
||
- scp: delete two obsolete comments (b16b4e76 #2459 follow: 7a5ffc8c follow: ca2e81eb)
|
||
- scp: drain long C-response basenames past fixed buffer (aa54fdd1 #2408 #1738)
|
||
- scp: fix potentially dumping random memory to debug log in `scp_send()`/`scp_recv()` (f9f273b4 #2385 #2383)
|
||
- scp: fix NULL dereference in path arg of send/recv (992dafbc #1625)
|
||
- scripts: minor fixes and improvements (f2ec1f2f #2265)
|
||
- scripts: move `maketgz`, `git2news.pl` from root to scripts directory (07ffced7 #1918)
|
||
- scripts: fix shellcheck SC2046 warnings (f97fb271 #1739)
|
||
- SECURITY.md: use GitHub PVR as the channel for security reports, drop email (505f7b2b #2413)
|
||
- SECURITY.md: update with points not considered vulnerabilities (a6efe2bc #1835)
|
||
- SECURITY.md: mention GitHub PVR as an option (5bd1baed #1664)
|
||
- session: free keyboard-interactive state in `session_free()` (75b472cf #2517)
|
||
- session: disable timeout when negative in `libssh2_poll()` `select` path (ac3f8fe2 #2356 #2341)
|
||
- session: free kex buffers unconditionally in `libssh2_session_free()` (815aaf82 #2347 #1691)
|
||
- session: sanity check public API arguments (b705010c #2346)
|
||
- session: fix rare error message for `libssh2_session_callback_*()` (559a8889 #2256)
|
||
- session: fix `-Wformat-overflow` with gcc-16 (ba90b86b #2098)
|
||
- session: drop `alloca()` use from `libssh2_poll()` (787e9bfe #2041 follow: 209d06d6)
|
||
- session: fix primary data length in `session_disconnect()` (1573b75e #2031 #2024)
|
||
- session: fix heap-buffer-overflow in session_startup() (ce2a7b80 #1799 #1798)
|
||
- session: null checks to quiet fuzzer (c090b696 #1556)
|
||
- session_fixture: fix to skip AES-CBC/CTR tests if not supported or disabled (84cffeaf #2507)
|
||
- session_fixture: re-enable algos disabled for mbedTLS, the issue is fixed now (571653ba #2446 #969 #793 #1758 follow: 7487dcf4 follow: 9ecb22da)
|
||
- sftp: fix handling unexpected EOF in `sftp_packet_read()` (9438f90a #2581 GHSA-2q3j-q544-xxp7)
|
||
- sftp: free response buffer on `sftp_read()` protocol-error paths (cdbda3cd #2537)
|
||
- sftp: fix memleak on OOM in `sftp_init()` (0d275121 #2458 #2456 #1386 follow: fb652746)
|
||
- sftp: reject bad readdir name counts and clear stuck dir state (092b2829 #2280 #2018)
|
||
- sftp: fix to return accurate libssh2 error code (59f39e80 #2217 #791 follow: bac8d7d4 follow: fc7e79e4)
|
||
- sftp: fix wrong error code passed to `ssh2_err()` (ce152755 #2216 #1386 follow: fb652746)
|
||
- sftp: avoid forward declarations by reordering functions (b1431e26 #2210)
|
||
- sftp: correctly size packet length when using attrs_in (21840ddf #2170)
|
||
- sftp: prevent dangling pointer by nullifying data (5e477614 #2180 GHSA-px3w-7g75-hg7w)
|
||
- sftp: cap readdir response size and fix window adjust overflow (e3379a5c #2133 #2017 #791)
|
||
- sftp: Replace LIBSSH2_ERROR_BUFFER_TOO_SMALL with LIBSSH2_ERROR_PROTO (343e55fe #2067)
|
||
- sftp: missing FREE in error condition (7dd4493b #1806)
|
||
- sftp: fix sftp_symlink when getting SSH_FXP_STATUS response (4ed26f57 #1731)
|
||
- sftp: update sftp_symlink to avoid out of bounds read on malformed packet #1705 (2dae3024 #1717 #1705)
|
||
- sftp: downcast packet length checks #1707 (c097c681 #1714 #1707)
|
||
- sftp: add input bounds checking to SFTP API (ff50682c #1679)
|
||
- spacecheck: cap max lines per file, use single-quotes (3a189abe #2480)
|
||
- spacecheck: update, fix new issues found (95d7a8b9 #1851)
|
||
- spellcheck.sh: exclude test keys to avoid false positives (520087ac #2615)
|
||
- src: disable more RSA SHA1 code when unused (2a76dafa #2624)
|
||
- src: constify arguments where feasible (8e181e7a #2589)
|
||
- src: propagate `session` to replace bare allocators with SSH2 ones (a2ac6bd4 #2544)
|
||
- src: check mingw-w64 version requirement (dc745585 #2535 #1919)
|
||
- src: de-duplicate two byte swap functions into `ssh2_swap_bytes()` (0acd2f56 #2524)
|
||
- src: disable SHA1-based host key methods and signatures by default, fix fallouts (079eeb85 #2501 #2444 #2443 #1435 follow: b7ab0faa)
|
||
- src: add support for chacha20-poly130-encrypted OpenSSH key files (7abbac4e #2488 #2486 #1426 follow: 492bc543)
|
||
- src: bump `ssh2_time_t`/`ssh2_timediff_t` resolution from milliseconds to microseconds (c97959e9 #2489 #2341)
|
||
- src: de-duplicate `inttypes.h` and `sys/uio.h` includes, inline comment (7cbdcfbb #2469)
|
||
- src: replace banned `strto*()` number parsing with local function (833b4851 #2456)
|
||
- src: make `ssh2_xor_data()` static to WinCNG (ec12e60f #2431 #739 follow: ec0a51db)
|
||
- src: fix potential OOB reads in EDCDA/ED25519 OpenSSH-formatted key parsing (262c97f7 #2421 #2426 #2420 #2403)
|
||
- src: drop casts, constify (74a09eb2 #2420 #2424)
|
||
- src: tidy up/fix `ssh2_base64_decode()` calls (514fe6be #2423 #2025)
|
||
- src: make `ssh2_store_str()` accept void pointer to reduce casts (8c707ce1 #2416)
|
||
- src: drop redundant casts (7b6dbf47 #2415)
|
||
- src: add `static` to const strings and tables, where missing (a4a53cc5 #2404)
|
||
- src: drop method length (8bd003b8 #2384 #2381 #2369)
|
||
- src: make sure `method` buffers are null-terminated (84485961 #2381 #2369)
|
||
- src: rename file/blob key import/parse functions for consistency (6a951168 #2362)
|
||
- src: drop no-op or redundant casts (tidy-up) (a3430249 #2361)
|
||
- src: make `method` string a signed `char *` (64790f50 #2360)
|
||
- src: make internal passphrase type `const char *` to match public API (0c55ec6d #2357 #2349)
|
||
- src: use abstract internal time type, bump resolution to milliseconds (9c421761 #2341 #1893 #1919 #1818 #1497)
|
||
- src: make internal passphrase type consistent, where missing (17aa8b04 #2349)
|
||
- src: fix handling `snprintf()` return values (3d3c7f62 #2337)
|
||
- src: stop redefining system symbol `gettimeofday()` (73164d34 #2323)
|
||
- src: fixup namespace for local `fopen` symbols (454e7679 #2324 #2318)
|
||
- src: add Unicode, long-filename, and secure `fopen()` support (Windows) (521146a4 #2318)
|
||
- src: return `LIBSSH2_ERROR_BAD_USE` when `session == NULL` (4ee56c61 #2283 #2282)
|
||
- src: bump RSA/DSA parameter sizes to `size_t` (fa2ee2a8 #2266)
|
||
- src: de-duplicate `ssh2_sk_pub_keyfilememory()` stubs (765d2f64 #2261 #698 follow: ed439a29)
|
||
- src: drop interim macros for bignum functions, where applicable (b06cc668 #2243)
|
||
- src: backtrack on NULL digest buffer support in `ssh2_hash_final()` (b1307829 #2232 #2226)
|
||
- src: fix hash context leak on hash update fail (e006aa58 #2226 #2184 #2171 #1303 follow: 4718ede4)
|
||
- src: add one-shot hash function `ssh2_hash()` and use it (61ea21e6 #2231)
|
||
- src: cast const pointers passed to `SSH2_FREE()` with `SSH2_UNCONST()` (73256b18 #2222)
|
||
- src: drop redundant casts from `ssh2_explicit_zero()` pointer args (17469453 #2214)
|
||
- src: move static function names to local namespace, where missing (d255a8b6 #2211)
|
||
- src: add `SSH2_SAFEFREE()` macro and use it (2e7c9a09 #2209 #2208)
|
||
- src: rename and tidy up digest length macros (e4f8d1fb #2131)
|
||
- src: dedupe PEM header/footer macros into `crypto.h`, and use them (fc4d0264 #2085)
|
||
- src: introduce `SSH2_ERRNO()` and use it (41d86d3b #2050)
|
||
- src: dedupe OpenSSH PEM macros into `crypto.h` (f1d07227 #2034 #2022)
|
||
- src: fix stray `fprintf()` calls, make checksrc verify (124c68bb #1997 #796 #1556 follow: af1e591e)
|
||
- src: fix `-Wreserved-macro-identifier` with clang-cl (71a3a09a #1992 #1972)
|
||
- src: drop redundant parentheses (ecf39b36 #1984)
|
||
- src: drop stray casts for allocator results (8ecabbcd #1970)
|
||
- src: drop redundant `LIBSSH2_API` attribute from definitions (f5f434c7 #1969 #1961)
|
||
- src: shorten namespace for private functions and macros (076838de #1961 #698 #1949 #1931 #1923)
|
||
- src: verify `_libssh2_store_bignum2_bytes()` success (412e9df8 #1942 #1025 follow: ebf644fb)
|
||
- src: formatting (cont. 2) (1db40832 #1938 #1936)
|
||
- src: formatting (cont.) (63e59481 #1936 #1935 #1923)
|
||
- src: formatting (6ffb9632 #1935)
|
||
- src: drop 'libssh2' prefix from static symbols (adc07964 #1934 #1931 #1923)
|
||
- src: drop more leading underscores from symbols (8c9b7771 #1931 #1923)
|
||
- src: drop leading underscore from internal macro constants (689b2023 #1923)
|
||
- src: replace typedef structs with direct struct types (cont.) (7dd7e626 #1909)
|
||
- src: replace typedef structs with direct struct types (967647c4 #1907)
|
||
- src: open key files in binary mode (0ca33b61 #1883 #235 #1880 follow: ef6eaadb)
|
||
- src: drop unused internal `FOPEN_APPENDTEXT` macro (99a4de92 #1882 #235 follow: ef6eaadb)
|
||
- src: misc tidy-ups (ea14e9a4 #1877)
|
||
- src: add hybrid ML-KEM KEX algorithms support with OpenSSL 3.5 (3ba252e2 #1644)
|
||
- src: move outlier leading `&&` and `||` to the end of lines (3865eabe #1767)
|
||
- src: fix two NULL checks (openssl, userauth) (51b35d1b #1656 #698 #1314 follow: 3a6ab70d follow: ed439a29)
|
||
- src: disable deprecated algos by default (b89858b8 #1531)
|
||
- sshd_config: drop accidental ML-DSA change (781b6ca8 #2615)
|
||
- sshd_config: enable legacy KEXs for Libgcrypt and WinCNG, drop workarounds (1d0b86ac #2484 #2174 #1720)
|
||
- sshd_config: enable `ssh-rsa-cert-v01@openssh.com` more (5b494b04 #2478 #2474)
|
||
- test_auth_keyboard_info_request: delete unused `free_count` variable (1c9ff814 #2554 #663 follow: 83853f8a)
|
||
- test_hostkey: free decoded expected host key (fb2b6d57 #2518 follow: cf80f2f4)
|
||
- test_hostkey_hash: avoid `BUFSIZ` macro (00f6c3a6 #2112 #2104 #2099 #2096)
|
||
- test_hostkey_hash: tidy up `calculate_digest()` (17389d83 #2104 #2103 #2099 #2096)
|
||
- test_hostkey_hash: fix `-Wformat-truncation` with gcc-16 (36d38812 #2099 #2096)
|
||
- test_hostkey_hash: silence `-Wformat-truncation` in `calculate_digest()` (837ce2f1 #2096)
|
||
- test_read: fix to close and free channel on error (a1d2ca5d #2108)
|
||
- test_simple: make `test_ssh2_dh_validate()` portable (a951e066 #2595 #2239)
|
||
- test_simple: cast to avoid `-Wsign-conversion` (clang-tidy) (764de73f #2418 #2417 #2239)
|
||
- test_simple: fix to check test result (4013a3fe #1973)
|
||
- test_ssh2: fix to free channel on `libssh2_channel_shell()` fail (5569c5b6 #2109)
|
||
- test_ssh2: fix detecting connect failure (2e69ba25 #1854)
|
||
- test_ssh2, examples: bump to SHA-256 fingerprints (6f3c640d #2445)
|
||
- test_ssh2, examples: avoid crash on NULL fingerprint (f784c21d #2179 #2174)
|
||
- test_sshd.test: add RSA and ECDSA `HostCertificate` options (7498e661 #2612 #2539)
|
||
- test_sshd.test: sync an option with `sshd_config` used in `Dockerfile` (cae4e3f8 #2481 #1024 follow: d4690e95)
|
||
- tests: retry '(-43): Failed getting banner' flaky failures (2233bf95 #2662 #2603)
|
||
- tests: set `PerSourcePenalties` for sshd, bump debug level to 2 (4ab391ec #2650 #2649 #2621)
|
||
- tests: dump container sshd log for test failures (45aa5c5f #2621 #2484 #2174 #1720)
|
||
- tests: add ML-DSA host keys (not used or supported by libssh2) (5c50ea8a #2615)
|
||
- tests: add support for `podman`, Apple `container` (9bd1f16d #2605)
|
||
- tests: replace DSA with RSA key for fail test (b937ded9 #2604)
|
||
- tests: drop WinCNG retry workarounds (5bfa5744 #2603 #804 #2583 #1023 follow: bc120a34)
|
||
- tests: add script to dump test keys in more parsable formats (ceb15801 #2574)
|
||
- tests: add tests for signed host key: `ssh-ed25519-cert-v01@openssh.com` (6036e577 #2513 #2435 #2434 #2064)
|
||
- tests: rename CA keys to reflect they are user keys (19aa4338 #2512)
|
||
- tests: upload host pubkeys to repo (c8543ef3 #2511 #2435 #2064)
|
||
- tests: rename keys/tests to contain the key format (72693e4e #2510)
|
||
- tests: add `chacha20-poly1305@openssh.com` to `test_read_algos.txt` (0b749a96 #2506 #1426 follow: 492bc543)
|
||
- tests: add PKCS8-formatted plain and encrypted keys and tests (4b5303ab #2500)
|
||
- tests: add ECDSA PEM format plain and encrypted keys and tests (f3a5b6a0 #2499)
|
||
- tests: move trusted CA private keys off the test server (f5821e60 #2497 #2496)
|
||
- tests: add signed ed25519 key and test (d7a253f5 #2496)
|
||
- tests: add test for encrypted ECDSA key (fd07ca41 #2486)
|
||
- tests: add support to disable hex debug dumps (2a38092c #2487)
|
||
- tests: allow overriding the username in `test_*_signed` tests (9a959ada)
|
||
- tests: regenerate `id_rsa_signed.pub` to match intent, fix `sshd_config` to accept it (41d5efc9 #2474 #710 #2479 #2478 follow: 4b21e49d)
|
||
- tests: rename a test and keys to match the actual format (7392dc95 #2479 #2474 #1314 follow: 3a6ab70d)
|
||
- tests: test key tidy-ups (96cce079 #2473)
|
||
- tests: sync up pubkey comments with generator (tidy-up) (e77f5da4 #2472)
|
||
- tests: move test keys into `keys` subdirectory (a824e9d8 #2471)
|
||
- tests: revert to use system `snprintf()` (a2aae5ea #2331 #2103)
|
||
- tests: use `LIBSSH2_SOCKET_CLOSE()` macro (743cebc9 #2193)
|
||
- tests: revert `srcdir_path()` to static buffers (c399519e #2106 #2102 #2089 #1415 follow: 12427f4f)
|
||
- tests: tidy up `srcdir_path()` more (4cecccd6 #2102 #2089 #1415 follow: 12427f4f)
|
||
- tests: fix wrong index in `srcdir_path()` cleanup (aae3776a #2089 #1415 follow: 12427f4f)
|
||
- tests: fix sleep durations (007a36e8 #1853 #996 #490 follow: 984d0081 follow: a459a253 follow: a88a727c follow: cf80f2f4)
|
||
- tests: improve `SSHD` default value (fixup) (ea56904a #1568 #1563)
|
||
- tests: use `setfacl` if available (cf15fdd2 #1565)
|
||
- tests: improve `SSHD` default value (fb12d87e #1563)
|
||
- tests: add support for wine/qemu (5930dc3c #1562)
|
||
- tests: delete CMake ExternalProject integration test (8011f901 #1522 #1510 #1116)
|
||
- tests/.gitignore: delete two stray entries (1bc6e2c3 #1718)
|
||
- tests/cmake: suppress stderr in `if` expression (c7541acd #2642)
|
||
- tests/openssh_fixture: fix to close socket on connect failure (5ddc5997 #1855)
|
||
- tidy-up: prefer `host key` in two words for human-readable text (14fbba96 #2618)
|
||
- tidy-up: miscellaneous (967a24b3 #2617 #397 follow: 7a26697e)
|
||
- tidy-up: prefer term 'container' over 'docker' (2ded2f95 #2609 #2605)
|
||
- tidy-up: miscellaneous (be937743 #2556)
|
||
- tidy-up: version-related comments and messages (9a0b40af #1866 #827 #811 #1620 #1619 #1610 #1592 #1591 #1590 #1589 #1535 #1128)
|
||
- tidy-up: miscellaneous (532ba6dc #2526)
|
||
- tidy-up: comment and formatting fixes (3f718eaa #2525)
|
||
- tidy-up: C and formatting nits (bc6a0c5a #2463)
|
||
- tidy-up: C nits (9921aeff #2437)
|
||
- tidy-up: variable name sync, comment/formatting nits (2569543b #2428)
|
||
- tidy-up: rename some args for consistency (10013516 #2397)
|
||
- tidy-up: prefer `\0` as null-terminator, drop newlines (179348c6 #2383)
|
||
- tidy-up: miscellaneous (27177ead #2367)
|
||
- tidy-up: fix variable names, improve consistency, other nits (7c8d28d8 #2353)
|
||
- tidy-up: formatting, variable name and comment nits (00b84caa #2348)
|
||
- tidy-up: comment typos, parentheses, formatting (1e32ae76 #2336)
|
||
- tidy-up: `FILE *` variable names, configure warning option guard, printf mask (952fb88f #2317 #1972 follow: 7b351eed)
|
||
- tidy-up: C nits (1164743d #2308)
|
||
- tidy-up: variables names, comments, nits (efdbe8a7 #2307)
|
||
- tidy-up: misc typos, syntax nits, formatting (7391a242 #2287 #292 #2003 #2001 #1999 #1991 #1972 #1829 #1828 #1803 #1802 #1668 #1564 #1559 #1558 #1542 #1535 #1534 #1529 #1484 #1207)
|
||
- tidy-up: argument order (cont.) (96a51d42 #2258)
|
||
- tidy-up: argument order/names, minor nits (4c9fcf65 #2258)
|
||
- tidy-up: argument names, minor nits (00af3032 #2257)
|
||
- tidy-up: fixup and reflow copyright headers (bcef4a03 #2247)
|
||
- tidy-up: syntax nits and code layout (d0c7ffdc #2235 #2195)
|
||
- tidy-up: comments, messages, docs typos, whitespace nits (6a37f6b3 #2212)
|
||
- tidy-up: miscellaneous (5d3a28b7 #2194)
|
||
- tidy-up: move most static/local symbols into their own namespace (cd6a32f6 #2177)
|
||
- tidy-up: miscellaneous (d22fcc0c #2162)
|
||
- tidy-up: miscellaneous (b7fb9638 #2138)
|
||
- tidy-up: comments (628fb7f9 #2111)
|
||
- tidy-up: drop most `{}` blocks around single-statements (33f6508a #2087 #793 #2077 #2004)
|
||
- tidy-up: miscellaneous (12dae713 #2086)
|
||
- tidy-up: comments (4bb40bc6 #2084)
|
||
- tidy-up: miscellaneous (a25f69ef #2069)
|
||
- tidy-up: miscellaneous (ca43b304 #2042)
|
||
- tidy-up: drop stray comparisons with literal zero (4140a13c #2014)
|
||
- tidy-up: miscellaneous (10093bde #2000)
|
||
- tidy-up: miscellaneous (b90a38c1 #1995 #1984 #1679)
|
||
- tidy-up: miscellaneous (99803822 #1988 #1859 #1816 #1815 #1786 #1761 #1706 #1704 #1701)
|
||
- tidy-up: misc (c40bcbf8 #1940)
|
||
- tidy-up: drop unused `get_ver.awk` script (d7d8d614 #1917 #1204 follow: 43485579)
|
||
- tidy-up: alpha-sort crypto backends and platforms (dabba101 #1914)
|
||
- tidy-up: formatting (cont.) (8a9ca04d #1903)
|
||
- tidy-up: formatting (1db7f023 #1899)
|
||
- tidy-up: add missing, and drop redundant parentheses (b6f307dc #1898 #1844)
|
||
- tidy-up: rename `ci` directory to `scripts` (31790754 #1870)
|
||
- tidy-up: miscellaneous (3d4ff6b2 #1842)
|
||
- tidy-up: parenthesis in macros (OS400) (fdbc32b0 #1774 #1773)
|
||
- tidy-up: parenthesis in macros (d97d8e31 #1773)
|
||
- tidy-up: drop duplicate newlines, fix non-ASCII chars, other formatting, check in CI (6e56a8bd #1766)
|
||
- tidy-up: `Makefile.am` comments and copyright header (199526f9 #1662)
|
||
- tidy-up: fix typos found by typos-cli 1.36.2 (c3e6dbd4 #1654)
|
||
- tidy-up: replace `exit()` with `return` (a751d578 #1541)
|
||
- tidy-up: prefer `#ifdef` / `#ifndef` (formatting) (5cca650b #1532)
|
||
- tidy-up: `unsigned const char` -> `const unsigned char` (114923f1 #1487)
|
||
- tidy-up: spelling (91b0e099)
|
||
- TODO.md: fix typo, add missing punctuation (c25df87a)
|
||
- transport: avoid `CRYPT_FLAG_*()` doing symbol concatenation (10af31dd #2495 #797 follow: 3c953c05)
|
||
- transport: fix to translate low-level crypt result to LIBSSH2 error code (2877fa64 #2392 #2389 #1426 follow: 492bc543)
|
||
- transport: fix two memleaks on error paths in `transport_fullpacket()` (d69ee04e #2343 #2198)
|
||
- transport: fix potential heap overflow on ETM decrypt (42e33d81 #2198 GHSA-6c79-444r-wx26)
|
||
- transport: fix potential deadlock in `ssh2_transport_send()` (5131a70a #2206 #2110)
|
||
- transport: merge two nested `if()`s (eb300d56 #2057 #797 follow: 3c953c05)
|
||
- transport: drop impossible `if()` branch (fef6c3cf #2056 #987 #655 follow: 0048f306)
|
||
- transport: Additional boundary checks for packet length (97acf3df #2052)
|
||
- transport: use constant time function for MAC memcmp() (39f14b87 #1824)
|
||
- transport: handle invalid ETM packet padding (18c3a345 #1814)
|
||
- transport: Avoid possible double-free (358d51bc #1800)
|
||
- transport: fix when server/client uses encryption method with integrated MAC and the other does not (d8ae40ba #1582)
|
||
- transport: fix formatting (64fafc78)
|
||
- transport: fix indentation of comments (21228cff)
|
||
- transport: stop passing newline to the trace handler via `debugdump()` (c78d54c2 #1492 #1485 follow: 0f0652a3)
|
||
- transport, session: fix payload memory leak and potential double-free (823a2286 #2054 #623 #2026 #1956 #1804 follow: 92d686fe)
|
||
- userauth: fix memory leaks in `libssh2_userauth_publickey_sk()` (e6e88395 #2530 #698 follow: ed439a29)
|
||
- userauth: enable `ssh-rsa-cert-v01@openssh.com` for all backends in `userauth_supported_key_sign_algs()`, fix tests (88dd2f0f #2483 #2252 #2249 #1314 follow: 3a6ab70d)
|
||
- userauth: drop unused session arg from `userauth_supported_key_sign_algs()` (df93b283)
|
||
- userauth: scope static variables in `ssh2_userauth_plain_method()` (30768b9a #2482 #2384)
|
||
- userauth: rename method variables to match rest of code (73db1c82 #2370)
|
||
- userauth: drop redundant casts (467474b8 #2366)
|
||
- userauth: merge file/blob sibling functions into `userauth_publickey()` (fe9442be #2359 #2354)
|
||
- userauth: apply two OOB fixes to `userauth_read_blob_pubkey()` (209522cb #2358 #386 #2354 follow: 18cfec83 follow: 3e47ca8a follow: 48205569)
|
||
- userauth: reset state machine to idle on fail in `userauth_password()` (7b1fdaa1 #2344 #2224)
|
||
- userauth: keep buffer lengths consistent with pointers on fail, nearby fixes (af1b5019 #2224 #698 #2220 follow: ed439a29)
|
||
- userauth: delete no-op code with memleaks in `libssh2_userauth_publickey_sk()` (cf8164b3 #2294 #752 #698 follow: bc4e619e follow: ed439a29)
|
||
- userauth: protect against NULL `abstract` `libssh2_sign_sk()` (42a448f0 #2291 #698 #2290 follow: ed439a29)
|
||
- userauth: check for NULL `session`, where missing (579cc071 #2290)
|
||
- userauth: cap password length in `userauth_password()` (338f4e50 #2288 #2223)
|
||
- userauth: cap username/password more, related fixes (2fedc0b3 #2223 #1858)
|
||
- userauth: fix crash on OOM in `libssh2_userauth_publickey_sk()` (3e765960 #2220 #698 follow: ed439a29)
|
||
- userauth: fix comment nits, drop singe-instruction `{}` blocks (71fa0004 #2221)
|
||
- userauth: tidy up error texts (0aafe6a8 #1928)
|
||
- userauth: limit input sizes to prevent allocation size overflow (66d73ffe #1913)
|
||
- userauth: formatting (78aa39c6 #1896)
|
||
- userauth: various fixes to `_libssh2_key_sign_algorithm()` (cont.) (b671ac9b #1885 #1881 #1314 follow: 3a6ab70d)
|
||
- userauth: fix typo in comment (728cae43)
|
||
- userauth: various fixes to `_libssh2_key_sign_algorithm()` (ba2a7ff9 #1881 #1877 #1314 follow: 3a6ab70d)
|
||
- userauth: username_len bounds checking (256d04b6 #1858)
|
||
- userauth: fix error message for EAGAIN in public-key response (81f0203c #1747)
|
||
- userauth: fix typo from #1516 (73ac65f7 #1516)
|
||
- userauth: fix possible memory leaks #1504 (49837fd7 #1516 #1504)
|
||
- version: reflect KEX-SHA1, MAC-SHA1, deprecated APIs in `libssh2_build_options()` (cf107fb7 #2453 #2444 #2443 #2178)
|
||
- version: add `Unicode:on/off` to `libssh2_build_options()` (645dade3 #2316)
|
||
- version: add `libssh2_build_options()` (2673970d #2178 #2161)
|
||
- vms: bump an URL to HTTPS (2fe2e9af)
|
||
- vms/man2help: rename some variables for readability (af698be4)
|
||
- vms/man2help: tidy-ups, clang-format, use `memcpy` (429900e6 #1905)
|
||
- vms/man2help: misc fixes (295a2661 #1904)
|
||
- vms/man2help: make functions static (b599ff5e)
|
||
- vms/man2help: add missing void return type to prototype (aa45503a)
|
||
- vms/man2help: misc fixes (3ec2920b #1902)
|
||
- wincng: validate Diffie-Hellman public value in `ssh2_dh_secret()` (7f28c290 #2645 GHSA-m9rg-h9jv-9gvh #2239)
|
||
- wincng: check bignum length and resize result in `wcng_bn_mod_exp()` (10c374ca #2649 #2645)
|
||
- wincng: fix ECC private key blob allocation size (01d0c895 #2631 #1315 follow: 3e723437)
|
||
- wincng: fix builds with RSA and DSA disabled (3f26c15b #2600)
|
||
- wincng: normalize fixed-width DH values before mpint encoding (f216bbe3 #2583 #804 #2590)
|
||
- wincng: rename local private key parsing functions to share a suffix (e09f8111 #2575)
|
||
- wincng: constify static function arguments, where missing (e655d94a #2561)
|
||
- wincng: fix allow/free mismatch with `wcng_load_priv()` return buffers (48eb7c9f #2560 follow: d385230e)
|
||
- wincng: avoid pointer cast in `wcng_ecdsa_new_private_parse()` (d4d068fa #2426 #2424 #1315 follow: 3e723437)
|
||
- wincng: cap private key components in `wcng_pub_privkey_file_parse()` (16879e47 #2378 #2376)
|
||
- wincng: fix NULL derefs on OOM in `wcng_pub_privkey_file_parse()` (00986be1 #2377 #2376)
|
||
- wincng: reuse ECDSA key loading/parsing code from `pem.c` (035d28c0 #2279 #1517 #1315 follow: 3e723437)
|
||
- wincng: fix potentially dangling algo handles in `ssh2_crypto_init()` (2c1ab125 #2309)
|
||
- wincng: sync `wcng_rsa_sha_sign()` arg order with rest of code (622f53f2)
|
||
- wincng: prefer `ssh2_ecdsa_ctx` type, where missing (adbb541a)
|
||
- wincng: fix leaking objects on ECDSA context OOM (41140636 #2306 #2301 #2300 #1315 follow: 3e723437)
|
||
- wincng: fix NULL deref on OOM in `ssh2_ecdsa_sign()` (fe34a066 #2305 #1315 follow: 3e723437)
|
||
- wincng: initialize returned values on fail in `wcng_bn_ltob()` (tidy up) (81c628b8 #2304)
|
||
- wincng: return more accurate error in `ssh2_dsa_sha1_sign()` (9f62e275 #2303)
|
||
- wincng: fix memleak on fail path in `ssh2_ecdsa_verify()` (a196a090 #2302 #1315 follow: 3e723437)
|
||
- wincng: `sizeof(ssh2_ecdsa_ctx)` (tidy up) (0c096d1c #2301 #1315 follow: 3e723437)
|
||
- wincng: de-duplicate two conditionals in `ssh2_ecdsa_create_key()` (cd7297ff #2300)
|
||
- wincng: fix another resource leak in `ssh2_ecdh_gen_k()` (f2751aa4 #2299 #2038 #1315 follow: 3e723437)
|
||
- wincng: fix NULL deref on OOM in `ssh2_ecdsa_verify()` (45041199 #2191 #1315 follow: 3e723437)
|
||
- wincng: fix to bail out on ECDH key export fail (8b5acaa9 #2190 #1315 follow: 3e723437)
|
||
- wincng: on deinit, only close ECDSA/ECDH algos if set (efb0c0c4 #2189 #1315 follow: 3e723437)
|
||
- wincng: make `ssh2_wcng_hash_update()` length `size_t` (was: `ULONG`) (966e04f1 #2185)
|
||
- wincng: sync low-level hash return values with rest of crypto backends (2bddd60f #2182)
|
||
- wincng: fix clang-tidy warnings in ECDSA code, test in CI (fcfccb10 #2175)
|
||
- wincng: fix `ssh2_wcng_hash_final()` behavior after previous commit (54cb2b23 #2173 #2169)
|
||
- wincng: do not require passing digest size on hash init (542567d1 #2169)
|
||
- wincng: drop floating point math (484c8b10 #2113)
|
||
- wincng: fix potential NULL deref in `wcng_uncompressed_point_from_publickey()` (8eb4953c #2095)
|
||
- wincng: validate argument to prevent passing NULL to `strcmp()` (a5a2f13f #2094)
|
||
- wincng: revert recent algorithm macro setup update (0391b09d #2045 #1985)
|
||
- wincng: drop `hAlgChacha20` unused global placeholder (c9fb2cdd #2040 #1426 follow: 492bc543)
|
||
- wincng: fix leaking `hAlgAES_ECB` handle on deinit (cf4ba378 #2039 follow: 2de14f8f)
|
||
- wincng: fix leaking `*secret` on error in `ssh2_ecdh_gen_k()` (2f7f107f #2038)
|
||
- wincng: validate arguments in `wcng_reverse_bytes()` (25c99065 #2037 #2035)
|
||
- wincng: replace duplicate code with `wcng_reverse_bytes()` call (edab4fa3 #2035)
|
||
- wincng: drop `LIBSSH2_WINCNG_DISABLE_WINCRYPT` build option (bb9117c8 #1982 #916 #1985 follow: 185292a0)
|
||
- wincng: allow disabling more crypto features (bf3757b9 #1985)
|
||
- wincng: disable more DSA code with `LIBSSH2_NO_DSA` (b92c8261 #1980)
|
||
- wincng: unfold `memcpy()` lines (formatting) (f946d1e2 #1943)
|
||
- wincng: reorder functions to avoid forward declaration (a8508eb8 #1933)
|
||
- wincng: replace typedef structs with direct struct types (c07e953a #1908)
|
||
- wincng: fix indent (62e97f43 #1860)
|
||
- wincng: Additional input validation (f8b9fc5b #1860)
|
||
- wincng: move `_libssh2_aes_ctr_increment()` from misc, make static (131480d2)
|
||
- windows: stop setting `_CRT_NONSTDC_NO_DEPRECATE` for MSVC (deefd7f6 #2332 #2042 #1688)
|
||
- windows: always enable large-file support (46c7a480 #1771 #1711)
|
||
- windows: drop support for Visual Studio 2008 and older (cbe7654d #1769 #1711)
|
||
- wolfssl: guard `OPENSSL_VERSION_NUMBER` off for wolfSSL (bb42cb2c #2255 #1644)
|
||
- wolfssl: fix detecting ECDSA support (b807dac9 #1723 #666 #1720 follow: b95e7582)
|
||
|
||
This release would not have looked like this without help, code, reports and
|
||
advice from friends like these:
|
||
|
||
Adrian Moran, afldl on github, Afonso Januário, Aldo Ristori, Amy Lin,
|
||
Anders Borum, Asaf Meizner, Behzod Abdullayev, Bruce Dang, Chen Zhengzhe,
|
||
Chris Emsen, Christian Ghisler, Christoph Reiter, d3x0r, Dan Fandrich,
|
||
Daniel Stenberg, dapickle on github, Darren Carreras, dependabot[bot],
|
||
Dhiraj Mishra, DigitalCyberSoft, Eli Schwartz, Evgeny Grin, Fabian Bäumer,
|
||
Feodor Fitsner, filtede98, geral-victor on github, Hananto Adi, Haruki Oyama,
|
||
Hemant Jadhav, Huang Rui, hyunjiHong on github, Jacob Barthelmeh, Jay Satiro,
|
||
Job Snijders, Joren Afman, Josh Brobst, Joshua Rogers, Justin Smith,
|
||
Kai Pastor, Karnakar Reddy, Kian Kasad, Kit Knox, Krisscut on github,
|
||
Lars Nordin, Liu Xing Yu, Lucas Queiroz, Lukas Dürrenberger, lv2dev,
|
||
Makise Kurisu, manus-use on github, manusjs on github, Marc Hörsken,
|
||
Marcel Raad, Marcus Brinkmann, Martin Nowak, Mateusz Gierblinski,
|
||
Michael Buckley, Mухтар Воблоев, nnarayanamurthy on github, Nora-Qiu,
|
||
Oblivionsage, Oliver Chang, Omkar Bhor, oss-patch, Pascal Neuperger,
|
||
Patrick Monnerat, Paul Howarth, Pedro Masteguin, Pier Carlo Cadoppi,
|
||
Pramod Kumar, pyscripter on github, QcN3ep, R6502 on github (Michael),
|
||
Rainer Jung, Ralf Mueller, Raul Tambre, Ravikanth, RELAUNCH DEPT.,
|
||
RuiZhi Zhang, Ryan Kelley, Sebastien Tardif, Seojun Lee, sergey1369,
|
||
Sharique Raza, skuodi on github, Stanislav Osipov, Stephan Eggermont,
|
||
syed abdul khaliq, timelyslot on gitHub, TristanInSec, trustytrojan,
|
||
Trzik on github, Viktor Szakats, Vladimir Eli Tokarev,
|
||
vnth4nhnt from CyStack, Wilfried Pascault, Will Cosgrove,
|
||
yaotushaozhu on github, Yaroslav Rosomakho, Yin Luming, Ze Sheng
|