1
0
mirror of https://github.com/libssh2/libssh2.git synced 2026-10-24 03:48:58 +03:00
Commit Graph

125 Commits

Author SHA1 Message Date
Viktor Szakats
232c9516ff RELEASE-NOTES: sync [ci skip] 2026-10-07 16:12:21 +02:00
Viktor Szakats
483f2ab286 RELEASE-NOTES: sync [ci skip] 2026-10-02 23:56:07 +02:00
Viktor Szakats
14fbba968b tidy-up: prefer host key in two words for human-readable text
Closes #2618
2026-09-13 16:12:32 +02:00
Viktor Szakats
f00f16e399 RELEASE-NOTES: sync [ci skip] 2026-09-13 15:03:52 +02:00
Viktor Szakats
260fe5b694 RELEASE-NOTES: sync [ci skip] 2026-09-04 14:35:14 +02:00
Viktor Szakats
3a8baf3b81 RELEASE-NOTES: sync [ci skip] 2026-09-02 07:48:10 +02:00
Viktor Szakats
c7557852f1 RELEASE-NOTES: sync [ci skip] 2026-08-29 02:58:51 +02:00
Viktor Szakats
9a0b40af73 tidy-up: version-related comments and messages
If it improves consistency across builds and sources, prefer 'greater'
or newer/later/+, prefer no 'v'/'version` prefix.

Closes #1866
2026-08-27 03:25:32 +02:00
Viktor Szakats
250045f77a RELEASE-NOTES: name update [ci skip] 2026-08-20 10:35:52 +02:00
Viktor Szakats
a75d8ad5aa RELEASE-NOTES: name update [ci skip] 2026-08-16 09:43:52 +02:00
Viktor Szakats
ed918f454e RELEASE-NOTES: sync [ci skip] 2026-08-14 01:36:15 +02:00
Viktor Szakats
fbeaf9700c RELEASE-NOTES: fix mbedTLS minimum version [ci skip]
Follow-up to f63f68b350 #1727
2026-08-11 15:40:45 +02:00
Viktor Szakats
21d8e7cf17 build: require ECC support in mbedTLS/OpenSSL/wolfSSL crypto backends
Closes #2519
2026-08-11 14:25:33 +02:00
Viktor Szakats
4aded1bf2d RELEASE-NOTES: sync [ci skip] 2026-08-04 23:46:08 +02:00
Viktor Szakats
079eeb852b src: disable SHA1-based hostkey methods and signatures by default, fix fallouts
They are `ssh-rsa` and `ssh-rsa-cert-v01@openssh.com`, and insecure due
to their reliance on SHA1 hashes.

Also:
- hostkey: fix to accept all RSA hostkey methods in common
  `hostkey_method_ssh_rsa_init()`.
- mbedtls: add missing RSA SHA1/SHA2 guards.
- mbedtls: cleanup on error in `mbed_pub_priv_key()`.
- os400qc3: add missing RSA SHA1/SHA2 guards. (untested)
- wincng: add missing RSA SHA1/SHA2 guards.
- crypto.h: add missing `#endif` comments.
- GHA: move stray `-DLIBSSH2_DSA_ENABLE` to its place.
  Follow-up to b7ab0faa70 #1435
- tests: fix to guard RSA tests with `LIBSSH2_RSA`, replacing
  `LIBSSH2_RSA_SHA1` to keep test coverage. Keep using the latter for
  testing SHA1-based signatures in `test_auth_pubkey_ok_rsa_signed`.

Follow-up to 3e14d67d26 #2444
Follow-up to 99f935358d #2443

Closes #2501
2026-08-03 16:44:03 +02:00
Viktor Szakats
4bda3443aa RELEASE-NOTES: silence spellchecker [ci skip]
Fixing:
```
RELEASE-NOTES:875: statics ==> statistics
```
2026-08-03 04:14:58 +02:00
Viktor Szakats
44b3e62b0d RELEASE-NOTES: sync [ci skip] 2026-08-03 03:59:47 +02:00
Viktor Szakats
aa5bb960b6 RELEASE-NOTES: announce libssh2_base64_decode(), libssh2_poll() going no-ops (revert)
It turned out that the `poll()` and `select()` dependencies are used not
just from `libssh2_poll()` but from another internal function, which
makes the no-opping pointless.

Revert to keep the deprecation process simple.

Follow-up to f84a56dd3b #2452

Closes #2465
2026-08-01 00:41:15 +02:00
Viktor Szakats
c77f127608 RELEASE-NOTES: drop long entry caught by linter [ci skip] 2026-08-01 00:18:41 +02:00
Viktor Szakats
bf736dec23 RELEASE-NOTES: sync [ci skip] 2026-07-31 22:17:47 +02:00
Viktor Szakats
f84a56dd3b RELEASE-NOTES: announce libssh2_base64_decode(), libssh2_poll() going no-ops
They have been deprecated for almost 2 decades. Debian code search shows
two uses, by Perl and PHP bindings. GitHub code search turns up a couple
more bindings.

After the next release these functions turn into no-ops, and will return
permanent failure, and NULL pointer/size. Along with compile-time
warnings (added in earlier commits).

Note, `libssh2_base64_decode()` causes an unfixable memory leak in user
code. Dropping `libssh2_poll()` code helps dropping its internal
dependencies, and simplifies maintenance.

Two users of `libssh2_poll()` are `example/ssh2_echo.c` and
`examples/x11.c`. They'll break and will  ideally need a revamp, or
dropped, after this.

Follow-up to 94d4a2d136 #1838
Follow-up to cf3aac1aba
Follow-up to 2b8038e175
Follow-up to ba79d6b52d

Closes #2452
2026-07-29 17:46:54 +02:00
Viktor Szakats
b47691be1c tidy-up: rename REQUIREMENTS.md to DEPENDENCIES.md
Ref: https://github.com/curl/curl-www/pull/616#issuecomment-5116799696
Ref: https://github.com/curl/curl/pull/22430/files

Follow-up to 772abc7a85 #1919

Closes #2449
2026-07-29 14:20:00 +02:00
Viktor Szakats
eb4f5053ed RELEASE-NOTES: sync [ci skip] 2026-07-29 03:08:19 +02:00
Viktor Szakats
3e14d67d26 mac: disable SHA1-based MACs by default
Also:
- RELEASE-NOTES: announce removal after next release.
- allow build-time macro to enable in the meantime.
- skip in tests if disabled.
- keep testing in CI with other legacy options.
- workaround oss-fuzzer hang and timeout after 10 minutes by keeping
  SHA1-based MACs enabled in the fuzzer build.
  Ref: https://github.com/libssh2/libssh2/pull/2444#issuecomment-5110853610

Follow-up to 99f935358d #2443

Closes #2444
2026-07-29 02:53:01 +02:00
Viktor Szakats
99f935358d kex: disable SHA1-based methods by default
Also:
- RELEASE-NOTES: announce removal after next release.
- allow build-time macro to enable in the meantime.
- keep testing in CI with other legacy options.

Closes #2443
2026-07-29 01:09:39 +02:00
Viktor Szakats
0c94b90a76 RELEASE-NOTES: drop 'PVR:' prefixes [ci skip] 2026-07-25 16:37:39 +02:00
Viktor Szakats
b63d4ea9dd RELEASE-NOTES: sync [ci skip] 2026-07-25 03:16:24 +02:00
Viktor Szakats
aef6138048 RELEASE-NOTES: de-dupe [ci skip] 2026-07-23 23:54:26 +02:00
Viktor Szakats
e6f494835c RELEASE-NOTES: sync [ci skip]
Also added missed reported-by credits for (in order reporting):

Hananto Adi:
42e33d8157 #2198

Also:
- try sorting without taking into account the number of contributions.
2026-07-23 20:02:18 +02:00
Viktor Szakats
789997f290 RELEASE-NOTES: sync [ci skip]
Also added missed reported-by credits for:

Mateusz Gierblinski:
edec1cce27 #2197

RuiZhi Zhang from Gitee Codepecker Lab:
42e33d8157 #2198
2026-07-22 12:57:06 +02:00
Viktor Szakats
4ce18a9d91 RELEASE-NOTES: fix a commit title [ci skip]
Follow-up to 8b278e64dc #2334
2026-07-20 14:44:40 +02:00
Viktor Szakats
8162dfdb2d RELEASE-NOTES: fixups [ci skip] 2026-07-19 02:16:15 +02:00
Viktor Szakats
5755c8fef2 RELEASE-NOTES: sync, fixups [ci skip] 2026-07-19 02:07:45 +02:00
Viktor Szakats
cd249d32ab RELEASE-NOTES: sync [ci skip] 2026-07-18 23:55:24 +02:00
Viktor Szakats
7391a24286 tidy-up: misc typos, syntax nits, formatting
- crypto.h: make `ssh2_prepare_iovec()` no-op macro safe.
- docs/Makefile.am: fix typo in variable name.
- GHA: sync order.
- HACKING-CRYPTO.md: fix typos, improve Markdown.
- kex: drop redundant parentheses.
- man2help: drop single-instruction `{}` blocks, flatten `if()` trees.
- mbedtls: sync function and variable names with sibling function in
  `mbed_mpi_write_binary()` -> `mbed_write_bn()`.
- mbedtls.h: whitespace.
- openssl: rename outlier result variable name with rest of code.
- os400qc3: add FIXME about always false condition in `pkcs1topkcs8()`.
- os400qc3: drop duplicate condition in `ssh2_dh_key_pair()`.
- misc typos in comments, documentation, whitespace fixes.

Closes #2287
2026-07-14 00:58:30 +02:00
Viktor Szakats
8c46cf59d1 RELEASE-NOTES: fix entry too long [ci skip] 2026-07-11 13:52:24 +02:00
Viktor Szakats
d149ae8e16 RELEASE-NOTES: include GHSA refs [ci skip] 2026-07-10 23:14:18 +02:00
Viktor Szakats
cc781a344b RELEASE-NOTES: sync [ci skip] 2026-07-10 22:55:50 +02:00
Viktor Szakats
e4834d10a6 REQUIREMENTS.md: require LibreSSL 3.7.0+ and wolfSSL 5.4.0+
To enable support AES-GCM for both, and ed25519 for LibreSSL.

wolfSSL requires this version for AES-GCM due to bug:
https://github.com/wolfSSL/wolfssl/pull/5205
(Before this, libssh2 tests crash with AES-GCM enabled)

Also:
- openssl: add in-source version check for LibreSSL, OpenSSL and
  wolfSSL.
- openssl: include `openssl/opensslv.h` to rely on other headers pulling
  it in.
- cmake: add version check for wolfSSL.
- mbedtls: do the in-source version check earlier. To match openssl.
- sync up wording for #error messages

Follow-up to 16ef3a2720 #2008

Closes #2073
2026-06-17 12:17:59 +02:00
Viktor Szakats
16ef3a2720 REQUIREMENTS.md: recommend wolfSSL/LibreSSL versions with AES-GCM support
On this note, LibreSSL 3.7.0+ (2022-12-12) also supports ed25519.

Also fix related filename typo in RELEASE-NOTES, and a date typo.

Refs:
https://www.libressl.org/releases.html
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.0-relnotes.txt
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.0-relnotes.txt
https://github.com/wolfSSL/wolfssl/releases/tag/v5.4.0-stable

Closes #2008
2026-06-10 10:55:14 +02:00
Viktor Szakats
2cad59ced0 RELEASE-NOTES: sync LibreSSL version with REQUIREMENTS.txt [ci skip] 2026-06-10 03:05:34 +02:00
Viktor Szakats
99803822cb tidy-up: miscellaneous
- fix typos in comments and documentation.
- fix references to non-existing functions in comments.
- libssh2_session_free: fix see-also reference on man page.
- libssh2_scp_recv2: fix typo in prototype on man page.
- man2help: use increment operator.
- badwords: extend with new words and an exclusion.
- userauth: unfold string.
- clang-format and manual formatting.

Closes #1988
2026-06-05 18:12:37 +02:00
Viktor Szakats
9538c99fc4 badwords: add checker script, fix issues found
Checker script and wordlist comes from curl.

Also:
- checksrc.pl: sync up with curl.
- unfold an IETF URL.
- update all IETF URLs where missing.

Closes #1959
2026-06-01 13:22:40 +02:00
Viktor Szakats
9578f3f001 RELEASE-NOTES: sync [ci skip] 2026-05-12 14:41:58 +02:00
Viktor Szakats
772abc7a85 REQUIREMENTS.txt: set/bump and document minimum versions
Notably drop support for Windows XP and older, for old-mingw,
mingw-w64 <=v2.0, and ancient zlib, old Libgrcypt and wolfSSL.

To align with curl, more modern envs, more recent cryptography
implementations, a pending PR, and to reduce the compatibility mix.

Document existing minimums (and maximums) for:
LibreSSL, mbedTLS, OpenSSL, MSVC, CMake

Bump/set minimums for:
- Libgcrypt -> 1.8 (2017-07-18)
  Ref: https://www.gnupg.org/download/index.html#end-of-life
  Older versions may work.
- mingw-w64 -> 3.0 (2013-09-20) (was: old-mingw and all mingw-w64)
- wolfSSL -> 5.0.0 (2021-11-01)
  Older versions may work.
- Windows -> Vista (2006-11-08 - 2012-04-10)
  Before this patch, it was undocumented, though wincng internally set
  the target version to Vista, when undefined.
  Pending patch requiring Vista:
  https://github.com/libssh2/libssh2/pull/1893
- zlib -> 1.2.5.2 (2011-12-11)

Document minimums for (adopted from curl):
- clang-tidy
- GNU autotools
- Perl

Also:
- comp: drop zlib compatibility with old versions, require `z_const`.
- wincng: document cutuff versions for compatibility fallbacks.
- wincng: drop support for old-mingw, mingw-w64 <3 and VS2008.
- mingw-w64: always set `_FILE_OFFSET_BITS=64`.

Closes #1919
2026-05-11 11:45:49 +02:00
Viktor Szakats
12ad01ae55 RELEASE-NOTES: sync [ci skip] 2026-05-01 18:50:08 +02:00
Viktor Szakats
117851af81 RELEASE-NOTES: sync and tidy up [ci skip] 2026-05-01 09:04:47 +02:00
Viktor Szakats
af75d2342c RELEASE-NOTES: spelling [ci skip] 2026-04-30 16:21:20 +02:00
Viktor Szakats
a03df13402 RELEASE-NOTES: dedupe [ci skip] 2026-04-30 14:23:40 +02:00
Viktor Szakats
ea79c87cd0 RELEASE-NOTES: sync [ci skip] 2026-04-30 14:21:06 +02:00