Skip to content

Releases: Eugeny/russh

v0.50.0-beta.9

14 Jan 17:00
Compare
Choose a tag to compare
v0.50.0-beta.9 Pre-release
Pre-release

Commits

  • c33d692: exported missing MethodKind type (Eugene)

v0.50.0-beta.8

14 Jan 16:59
Compare
Choose a tag to compare
v0.50.0-beta.8 Pre-release
Pre-release

Major changes

The russh_keys crate has been fully merged into russh. If you have been importing from russh::keys, no changes are needed, otherwise remove the russh_keys dependency and replace all use russh_keys imports with use russh::keys.

Other changes

  • d9fb484: Include error-reason when failining in CryptoVec unix (#443) (Adrian MΓΌller (DTT)) #443
  • 662ffa5: added From<[MethodKind]> for MethodSet

Fixes

v0.50.0-beta.7

14 Jan 14:03
Compare
Choose a tag to compare
v0.50.0-beta.7 Pre-release
Pre-release

Changes

  • 77f53ed: support for parsing X9.62 EC private keys

v0.50.0-beta.6

14 Jan 14:02
Compare
Choose a tag to compare
v0.50.0-beta.6 Pre-release
Pre-release

Changes

  • 9548f04: added missing AuthResult export (Eugene)

v0.50.0-beta.5

14 Jan 14:02
Compare
Choose a tag to compare
v0.50.0-beta.5 Pre-release
Pre-release

Changes

  • 4c7b27a: expose the "remaining methods" from auth failure responses (Eugene) #441
  • 44ed559: bumped ssh-key for PPKv2 support (Eugene)

v0.50.0-beta.4

06 Jan 01:30
Compare
Choose a tag to compare
v0.50.0-beta.4 Pre-release
Pre-release

Changes

  • 66f9416: Add an option to enable TCP_NODELAY (#435) (Patryk Wychowaniec)
  • c9baadf: DH GEX support (#440) - diffie-hellman-group-exchange-sha256 KEX is now on the default kex list. To take advantage of dynamic DH groups, pre-generate some safe primes and implement dynamic group lookup in the server::Handler::lookup_dh_gex_group method - see this method's docs for more info.

Fixes

  • 290bdbe: fixed unwrap panic in pageant (Eugene)

v0.50.0-beta.3

30 Dec 22:38
Compare
Choose a tag to compare
v0.50.0-beta.3 Pre-release
Pre-release

Changes

  • 571dbe3: added support for PPK format private keys

v0.50.0-beta.2

28 Dec 11:14
Compare
Choose a tag to compare
v0.50.0-beta.2 Pre-release
Pre-release

MSRV

russh now correctly builds on Rust 1.65

Changes

  • f89c19c: Add backpressure to Channel receivers (#412) (Eric Rodrigues Pires) #412 - set Config::channel_buffer_size to control how many channel messages can be buffered before backpressure propagates over the network.
  • 030468a: Add authentication_banner method to server::Handler (#415) (Eric Rodrigues Pires) #415 - you can now send a dynamic SSH banner to clients.
  • ab8aca8: migrate to a forked ssh-key lib, removed bundled workarounds - if you were relying on traits directly imported from ssh_key, you might need to import them from russh::keys::ssh_key instead.
  • 7c7cb1b: feature-gate des dependency (#424) (Eric Seppanen) #424
  • 49ab949: Enforce MSRV (#430) #430
  • 242b1e1: replace unmaintained tempdir dependency with tempfile (#423) (Eric Seppanen) #423

Fixes

  • ad56a8e: fixed #418 - client - incorrect kex signature verification for RSA-SHA2
  • 85c45cb: Remove calls to dbg!() (#414) (Eric Rodrigues Pires) #414
  • 65bc5e2: remove unused bcrypt-pbkdf dependency (#421) (Eric Seppanen) #421
  • 039054b: bump dependency versions to the minimum version that compiles. (#428) (Eric Seppanen) #428

v0.49.2

20 Dec 14:57
Compare
Choose a tag to compare

Fixes

  • cb5d3ba: fixed #418 - client - incorrect kex signature verification for RSA-SHA2
  • 97ec468: Remove calls to dbg!() (#414) (Eric Rodrigues Pires)

v0.49.0

10 Dec 23:15
Compare
Choose a tag to compare

Changes

This release fixes the regression in v0.48 which made it impossible to choose the hash algorithm when using RSA keys for authentication. Unfortunately, the fix is a breaking API change, hence the version bump.

client::Handle::authenticate_publickey now takes a russh_keys::key::PrivateKeyWithHashAlg which you can construct from an Arc<russh_keys::PrivateKey> + Option<russh_keys::HashAlg>.

The latter lets you choose between SHA1, SHA256 and SHA512 for RSA keys, and must be None for all other key types.

Example:

let key_pair = load_secret_key(key_path, None)?;

let auth_res = session
    .authenticate_publickey(
        user, 
        PrivateKeyWithHashAlg::new(Arc::new(key_pair), Some(HashAlg::Sha512))?
    )
    .await?;