Bugfix releases.
Changelog:
2.10.4:
- Servers offering certificate variants of hostkey algorithms
(eg ssh-rsa-cert-v01@openssh.com) could not have their host
keys verified by Paramiko clients, as it only ever considered
non-cert key types for that part of connection handshaking.
This has been fixed.
- PKey instances’ __eq__ did not have the usual safety guard in
place to ensure they were being compared to another PKey object,
causing occasional spurious BadHostKeyException (among other
things). This has been fixed.
- Update camelCase method calls against the threading module to
be snake_case; this and related tweaks should fix some deprecation
warnings under Python 3.10.
2.10.5:
- Windows-native SSH agent support as merged in 2.10 could encounter
Errno 22 OSError exceptions in some scenarios (eg server not cleanly
closing a relevant named pipe). This has been worked around and
should be less problematic.
- OpenSSH 7.7 and older has a bug preventing it from understanding
how to perform SHA2 signature verification for RSA certificates
(specifically certs - not keys), so when we added SHA2 support it
broke all clients using RSA certificates with these servers. This
has been fixed in a manner similar to what OpenSSH’s own client
does: a version check is performed and the algorithm used is
downgraded if needed.
- Align signature verification algorithm with OpenSSH re: zero-padding
signatures which don’t match their nominal size/length. This shouldn’t
affect most users, but will help Paramiko-implemented SSH servers
handle poorly behaved clients such as PuTTY.
2.10.6:
- Raise SSHException explicitly when blank private key data is loaded,
instead of the natural result of IndexError. This should help more
bits of Paramiko or Paramiko-adjacent codebases to correctly handle
this class of error.
- Update SSHClient so it explicitly closes its wrapped socket object
upon encountering socket errors at connection time. This should help
somewhat with certain classes of memory leaks, resource warnings,
and/or errors (though we hasten to remind everyone that Client and
Transport have their own .close() methods for use in non-error
situations!).
https://www.paramiko.org/changelog.html
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>