v0.47.0-beta.3
Breaking changes
russh v0.47 will drop its own data parsing and key handling code in favor of the RustCrypto project's ssh-key (#368) and ssh-encoding (#371) crates. This means there are some breaking changes, which are listed here:
Important for library users
-
russh_keys::key::PublicKeyis replaced withrussh_keys::PublicKey(ssh_key::PublicKey) -
russh_keys::key::KeyPairis replaced withrussh_keys::PrivateKey(ssh_key::PrivateKey) -
russh_keys::key::parse_public_keyno longer takes a hash algorithm argument as RSA keys are no longer locked down to a specific algorithm internally. RSA key specific hash algorithms are only used inPreferred::key. -
Key type constants in
russh_keys::keyandrussh_keys::key::Nameare removed - use therussh_keys::Algorithmenum instead.Config::preferred::keynow also takesrussh_keys::Algorithms instead ofrussh_key::key::Names. -
russh::client::Handle::authenticate_futureis renamed torussh::client::Handle::authenticate_publickey_with
Less important
-
new
russh::Errorenum variants:Error:SignatureError:SshKeyError:SshEncoding
-
new
russh_keys::Errorenum variants:Error::RsaError::Utf8
-
russh::auth::Signeris now anasync_trait -
russh_keys::ecis removed -
russh_keys::encodingis removed (userussh_keys::ssh_encoding) -
russh_keys::signatureis removed -
russh_keys::protocolis removed -
russh_keys::key::SignatureHashis replaced withrussh_keys::HashAlg(ssh_key::HashAlg) -
russh_keys::key::SignatureBytesis removed -
russh_keys::key::RsaPrivateis removed (userussh_keys::ssh_key::private::RsaPrivateKey) -
russh_keys::key::RsaPublicis removed (userussh_keys::ssh_key::public::RsaPublicKey) -
russh_keys::key::RsaCrtExtrais removed -
russh_keys::key::Signatureis replaced withrussh_keys::signature::Signature(signature::Signature)
Features
- aa9bdb4: added support for sk-ecdsa-sha2-nistp256-cert-v01@openssh.com and sk-ssh-ed25519-cert-v01@openssh.com keys in client
- 68fff93: Add support for StrictHostKeyChecking and UserKnownHostsFile (#386) (Mattias Eriksson) #386
- 981cf7b: Derive Debug where possible (#374) (Quentin Santos) #374
- c328558: Implement From<&str> and From<&[u8]> for CryptoVec (#391) (Josh McKinney) #391
Fixes
- 47ca41d: Send proper algorithm for certificates (#378) (Jerome Gravel-Niquet) #378
- 2d8c08a: ratatui examples fixed. (#388) (André Almeida) #388
- bd6dc3a: impl Drop for server examples (#376) (Eric Rodrigues Pires) #376