Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement detached signal sender #56

Open
wants to merge 198 commits into
base: master
Choose a base branch
from

Commits on Aug 17, 2023

  1. v0.38.0

    Eugeny committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    8fa6892 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. Use ChannelMsg::WindowAdjusted during data transfer

    OpenSSH server sends `CHANNEL_WINDOW_ADJUST` messages before window_size is 0.
    
    Handle these message at each turn of the loop within `Channel.send_data`
    
    Signed-off-by: Joe Grund <[email protected]>
    jgrund committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    52e5eaa View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. bumb toolchain & add sftp client example

    AspectUnk authored and Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    7c03dd9 View commit details
    Browse the repository at this point in the history
  2. Update Cargo.toml

    AspectUnk authored and Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    6747f6b View commit details
    Browse the repository at this point in the history
  3. some clippy fixes

    AspectUnk authored and Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    d1fbdb6 View commit details
    Browse the repository at this point in the history
  4. fix tests for windows

    AspectUnk authored and Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    8c5acd5 View commit details
    Browse the repository at this point in the history
  5. fmt

    Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    2f56a64 View commit details
    Browse the repository at this point in the history
  6. lint

    Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    1191d0a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    59a604a View commit details
    Browse the repository at this point in the history
  8. Revert "Use ChannelMsg::WindowAdjusted during data transfer"

    This reverts commit 52e5eaa.
    Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    636460c View commit details
    Browse the repository at this point in the history
  9. Update rust.yml

    Eugeny committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    7bd1c40 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2023

  1. Configuration menu
    Copy the full SHA
    fc77c53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    acd744a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b09efbc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    588ab6f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    987e6a8 View commit details
    Browse the repository at this point in the history
  6. Moved handling of ChannelMsg::WindowAdjusted in the Session::server_r…

    …ead_authenticated() method
    lowlevl authored and Eugeny committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    8a29002 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0363576 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9e2dcc1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b56e636 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2deffd0 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    476d031 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f6d4360 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    698e752 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    737a49c View commit details
    Browse the repository at this point in the history
  15. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    79884e6 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    0e8cda2 View commit details
    Browse the repository at this point in the history
  17. v0.39.0-beta.1

    Eugeny committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    e5f1224 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2023

  1. Configuration menu
    Copy the full SHA
    0869a09 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    206991b View commit details
    Browse the repository at this point in the history
  3. Add back the doc-comment for ChannelStream

    lowlevl authored and Eugeny committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    fe3717f View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. Configuration menu
    Copy the full SHA
    df34137 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0d9481 View commit details
    Browse the repository at this point in the history
  3. updated homepage

    Eugeny committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    0347acf View commit details
    Browse the repository at this point in the history
  4. v0.39.0

    Eugeny committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    80281ca View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. Make winapi dep windows only

    rukai authored and Eugeny committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    e81db83 View commit details
    Browse the repository at this point in the history
  2. bumped cryptovec

    Eugeny committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    02899e9 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Add client-sent keepalives

    This is analogous to OpenSSH's ServerAliveInterval option.
    mmirate authored and Eugeny committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    4a683d2 View commit details
    Browse the repository at this point in the history
  2. fixup

    Timer wasn't being reset on each send of keepalive, causing lots of keepalives to be sent rather than just one.
    mmirate authored and Eugeny committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    a1169a3 View commit details
    Browse the repository at this point in the history
  3. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    d0ca12a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d3c4108 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    9c25fa2 View commit details
    Browse the repository at this point in the history
  2. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    cd59280 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6fdbb09 View commit details
    Browse the repository at this point in the history
  4. Fix handling of key constraints

    george-hopkins authored and Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    a904a08 View commit details
    Browse the repository at this point in the history
  5. Eliminate busywaiting in ChannelRx

    mmirate authored and Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    72afa2b View commit details
    Browse the repository at this point in the history
  6. Reduce busywaiting in ChannelTx

    Completely eliminating the busywaiting will require using a different or
    additional synchronization primitive for the window size.
    `tokio::sync::Notify` will not (yet) suffice because it has no "_owned"
    variant of its `Notified` future.
    mmirate authored and Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    84072f3 View commit details
    Browse the repository at this point in the history
  7. Add method to read known host key

    george-hopkins authored and Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    c4a0688 View commit details
    Browse the repository at this point in the history
  8. updated examples

    Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    42369c7 View commit details
    Browse the repository at this point in the history
  9. code reformat

    Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    abbdbf3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d86af4f View commit details
    Browse the repository at this point in the history
  11. Update rust.yml

    Eugeny committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    f09ba6a View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. Run rustfmt in check mode

    george-hopkins authored and Eugeny committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    75ec760 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2023

  1. Configuration menu
    Copy the full SHA
    92660ef View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. Fix ChannelMsg::Close docs

    rukai authored and Eugeny committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    3463ed0 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. Enforce client timeout

    amtelekom authored and Eugeny committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    cd59590 View commit details
    Browse the repository at this point in the history
  2. Close Channels on Disconnect

    amtelekom authored and Eugeny committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    43bdc07 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Configuration menu
    Copy the full SHA
    c66f4b0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c0f3458 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2023

  1. fixed Eugeny#218 - fixed padding calculation, AES-GCM rekey and hmac-…

    …sha2-256(-etm) MAC
    Eugeny committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    d0908de View commit details
    Browse the repository at this point in the history
  2. lint

    Eugeny committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    9589623 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'v0.39.0'

    Eugeny committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    39e6c52 View commit details
    Browse the repository at this point in the history
  4. v0.40.0

    Eugeny committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    271e362 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. Configuration menu
    Copy the full SHA
    a355c62 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. v0.40.1

    Eugeny committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    5f93b89 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Merge branch 'terrapin'

    Eugeny committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    1aa340a View commit details
    Browse the repository at this point in the history
  2. v0.40.2

    Eugeny committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    dca6a02 View commit details
    Browse the repository at this point in the history
  3. bump dev toolchain

    Eugeny committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    da4c040 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Improve keepalive and inactivity timers

    * Add an analogue of OpenSSH's `ServerAliveCountMax`.
    * Use disjunctive futures for cleanly making these timers optional.
    * Use the `Session` to pass information back to the main bg loop from
      the plaintext packet reader, so that only nontrivial data transfer
      will reset the inactivity timer. (And so that `ServerAliveCountMax`
      will be judged correctly.)
    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    b9dce87 View commit details
    Browse the repository at this point in the history
  2. Add ClientAliveInterval analogue to server

    Also bring client and server into parity regarding timers.
    
    Also, per OpenSSH documentation, only reset keepalive timer when
    receiving data, not when sending it.
    
    Also, always reset the inactivity timer unless the iteration was ended
    via sending a keepalive request.
    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    371b28a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5c7a79c View commit details
    Browse the repository at this point in the history
  4. Fix formatting

    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    21a0f19 View commit details
    Browse the repository at this point in the history
  5. v0.41.0-beta.1

    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    2a4b5a0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bd13e95 View commit details
    Browse the repository at this point in the history
  7. Receive data after exit status in example

    Yes, some SSH servers will send data after they've sent the exit status.
    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    9ef5b1c View commit details
    Browse the repository at this point in the history
  8. cargo fmt

    mmirate authored and Eugeny committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    54595f3 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. Support for NIST P-521 public keys

    akeamc authored and Eugeny committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2ce82f2 View commit details
    Browse the repository at this point in the history
  2. oops

    akeamc authored and Eugeny committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    0f3639d View commit details
    Browse the repository at this point in the history
  3. misc fixes

    Eugeny committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    91bce4b View commit details
    Browse the repository at this point in the history
  4. Add p521 parse test, loosen p521 version

    akeamc authored and Eugeny committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2f08873 View commit details
    Browse the repository at this point in the history
  5. updated contributors

    Eugeny committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    01e4ba8 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. added dh-gr16-512

    bho01 authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    93e36ec View commit details
    Browse the repository at this point in the history
  2. added dh-gr16-512

    bho01 authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    8f6af5e View commit details
    Browse the repository at this point in the history
  3. version number and kex priority changed

    bho01 authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    b3a5060 View commit details
    Browse the repository at this point in the history
  4. version number and kex priority changed

    bho01 authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    545415e View commit details
    Browse the repository at this point in the history
  5. doc

    Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    1d6d687 View commit details
    Browse the repository at this point in the history
  6. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    c8f1042 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6824b44 View commit details
    Browse the repository at this point in the history
  8. Add russh::server::run_on_socket to facilitate dropping privileges …

    …immediately after socket binding
    samuela authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    273fd88 View commit details
    Browse the repository at this point in the history
  9. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    10091b5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a42843 View commit details
    Browse the repository at this point in the history
  11. bump

    Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    5072f00 View commit details
    Browse the repository at this point in the history
  12. bump

    Eugeny committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    2c7858e View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. Configuration menu
    Copy the full SHA
    be6f5be View commit details
    Browse the repository at this point in the history
  2. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    a2a43ac View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2ce133d View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2024

  1. server/encrypted.rs: respect proceed_with_methods in "none" and "pa…

    …ssword" authentication methods
    samuela authored and Eugeny committed Feb 3, 2024
    Configuration menu
    Copy the full SHA
    44a2392 View commit details
    Browse the repository at this point in the history
  2. server/session.rs: typo

    Pretty sure this should be "client" since we are the server in this module.
    samuela authored and Eugeny committed Feb 3, 2024
    Configuration menu
    Copy the full SHA
    c7f6c5b View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2024

  1. clean up module docs

    Eugeny committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    cf7752f View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Fix Eugeny#232

    samuela authored and Eugeny committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    8a46833 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1541fe5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    859e685 View commit details
    Browse the repository at this point in the history
  4. all tests passing

    ricott1 committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    0763767 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3f164f1 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Configuration menu
    Copy the full SHA
    a592366 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'refactor/handler_trait' of github.com:ricott1/russh int…

    …o refactor/handler_trait
    ricott1 committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    c7cf00b View commit details
    Browse the repository at this point in the history
  3. Revert changes to KexDhDone

    ricott1 committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    07f8320 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2024

  1. Configuration menu
    Copy the full SHA
    42c98a6 View commit details
    Browse the repository at this point in the history
  2. lint

    Eugeny committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    63f19da View commit details
    Browse the repository at this point in the history
  3. v0.42.0

    Eugeny committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    f4e53e7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    06184f5 View commit details
    Browse the repository at this point in the history
  5. update README.md [skip ci]

    allcontributors[bot] authored and Eugeny committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    56a0dd2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c47f49f View commit details
    Browse the repository at this point in the history
  7. Merge branch 'pr/247'

    Eugeny committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    c19c6f4 View commit details
    Browse the repository at this point in the history
  8. v0.43.0-beta.1

    Eugeny committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    8934a80 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2024

  1. Configuration menu
    Copy the full SHA
    6795ef4 View commit details
    Browse the repository at this point in the history
  2. update examples to new APIs

    ricott1 committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    dcbe4ba View commit details
    Browse the repository at this point in the history
  3. docs

    Eugeny committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    41f25bf View commit details
    Browse the repository at this point in the history
  4. lint

    Eugeny committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    223c821 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Configuration menu
    Copy the full SHA
    a3d3129 View commit details
    Browse the repository at this point in the history
  2. Actually process global request results

    amtelekom authored and Eugeny committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    5c60d30 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Configuration menu
    Copy the full SHA
    45edb29 View commit details
    Browse the repository at this point in the history
  2. fix

    Eugeny committed Feb 26, 2024
    1 Configuration menu
    Copy the full SHA
    1c43473 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. Additional Disconnect Handling

    - Allow Server Handle to trigger Disconnect
    - Allow Client Handler to read Disconnect reason
    
    Rename Handler disconnect event
    
    Include all types of disconnect in disconnected callback
    
    Remove no longer valid comment
    amtelekom authored and Eugeny committed Feb 27, 2024
    1 Configuration menu
    Copy the full SHA
    1d7dab8 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Create FUNDING.yml

    Eugeny authored Mar 1, 2024
    1 Configuration menu
    Copy the full SHA
    f1985e1 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Allow retrieving peer SSH Protocol Version String (Eugeny#260)

    Allow retrieving peer SSH Protocol Version String
    amtelekom authored Mar 14, 2024
    1 Configuration menu
    Copy the full SHA
    0fcb1ec View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. Eugeny#259, Eugeny#245, ref Eugeny#227 - fixed host key algo selectio…

    …n when Preferred::key and the available host keys don't match (Eugeny#262)
    Eugeny authored Mar 21, 2024
    1 Configuration menu
    Copy the full SHA
    62366e9 View commit details
    Browse the repository at this point in the history
  2. lint

    Eugeny committed Mar 21, 2024
    1 Configuration menu
    Copy the full SHA
    6a1aa8b View commit details
    Browse the repository at this point in the history
  3. v0.43.0

    Eugeny committed Mar 21, 2024
    1 Configuration menu
    Copy the full SHA
    a375283 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Fix compilation error when using without the flate2 feature (Eugeny#263)

    When compiling without the default features, the compilation of russh
    fail with message concerning unknown Error type in compression.rs and
    unknown flate2 crate in lib.rs (when defining the error type)
    
    This PR specify the same Error type as the flate2-featured
    Compression/Decompression function and disable error cases specific to
    flate2.
    citorva authored Mar 27, 2024
    1 Configuration menu
    Copy the full SHA
    58d9274 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. 1 Configuration menu
    Copy the full SHA
    0915744 View commit details
    Browse the repository at this point in the history
  2. Updated curve25519-dalek to 4.1.2 (Eugeny#269)

    Due to [this
    issue](dalek-cryptography/curve25519-dalek#618)
    the current version of `russh` does not compile on the current nightly
    compiler. I have updated the dependency for curve25519-dalek to `4.1.2`
    which solves the problem.
    chanderlud authored Apr 22, 2024
    1 Configuration menu
    Copy the full SHA
    e745827 View commit details
    Browse the repository at this point in the history
  3. Implement ecdsa-sha2-nistp{256,384,521} (Eugeny#267)

    * Moved ECDSA into `ec` module.
    * Added support and tests for these algorithms.
    
    Ported and cleaned up from a different fork of thrussh by me.
    
    ---------
    
    Co-authored-by: Eugene <[email protected]>
    robertabcd and Eugeny authored Apr 22, 2024
    1 Configuration menu
    Copy the full SHA
    3041b0c View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2024

  1. Add pure-rust RSA implementation (Eugeny#273)

    * SSH encoding of RSA keys is moved into `protocol` module.
    * Decouple the SSH encoding into traits.
    * When `openssl` feature is not enabled, the pure-rust RSA impl is used.
    
    Alternative implementation for
    Eugeny#225
    robertabcd authored Apr 28, 2024
    1 Configuration menu
    Copy the full SHA
    c850dbd View commit details
    Browse the repository at this point in the history
  2. Fix ed25519 key format in pkcs8 (Eugeny#272)

    * Add support for decoding ed25519 keys in PrivateKeyInfo format
    * Fix ed25519 encoding and decoding in OneAsymmetricKey format
    
    Closes: Eugeny#271
    
    Co-authored-by: Eugene <[email protected]>
    robertabcd and Eugeny authored Apr 28, 2024
    1 Configuration menu
    Copy the full SHA
    8d582f6 View commit details
    Browse the repository at this point in the history
  3. Replace custom PKCS Eugeny#8 parsing with der crate and others (Eug…

    …eny#274)
    
    This makes code leaner but pulls in more dependencies. The benefit to us
    is that we don't have to maintain (and fix) our own DER encoders and
    decoders for PKCS#8 keys.
    
    ---------
    
    Co-authored-by: Eugene <[email protected]>
    robertabcd and Eugeny authored Apr 28, 2024
    1 Configuration menu
    Copy the full SHA
    4f749f4 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. 1 Configuration menu
    Copy the full SHA
    4b40f51 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2024

  1. Implements client support for OpenSSH Certificates (Eugeny#278)

    Adds support for using OpenSSH Certificates based on [OpenSSH
    Specs](https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.certkeys?annotate=HEAD)
    using the existing `PublicKey` authentication.
    
    **Approach:**
    Adds a new `authenticate_openssh_cert()` method, similar to
    `authenticate_publickey()` for passing certificate and the private key
    for authentication and signature generation. Internally a new
    `AuthMethod::OpenSSHCertificate` is added to handle certificate specific
    authentication flow.
    
    **Changes include -**
    - Updated example `examples/client_exec_interactive.rs` with an optional
    argument to pass the openssh certificate path.
    - Dependencies `ssh-key` and `ssh-encoding` are added from
    `RustCrypto/SSH` for parsing, encoding.
    
    The server-side support for this might be tricky, I am yet to explore.
    shoaibmerchant authored May 4, 2024
    1 Configuration menu
    Copy the full SHA
    b20504d View commit details
    Browse the repository at this point in the history
  2. format

    Eugeny committed May 4, 2024
    1 Configuration menu
    Copy the full SHA
    83ab968 View commit details
    Browse the repository at this point in the history
  3. 1 Configuration menu
    Copy the full SHA
    194430b View commit details
    Browse the repository at this point in the history
  4. add shoaibmerchant as a contributor for code (Eugeny#280)

    Adds @shoaibmerchant as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#278 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored May 4, 2024
    1 Configuration menu
    Copy the full SHA
    3751b33 View commit details
    Browse the repository at this point in the history
  5. extract common workspace deps

    Eugeny committed May 4, 2024
    1 Configuration menu
    Copy the full SHA
    d923101 View commit details
    Browse the repository at this point in the history
  6. Update README.md

    Eugeny committed May 4, 2024
    1 Configuration menu
    Copy the full SHA
    0452354 View commit details
    Browse the repository at this point in the history
  7. v0.44.0-beta.1

    Eugeny committed May 4, 2024
    1 Configuration menu
    Copy the full SHA
    0fc65ea View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. ecdh-sha2-nistp{256,384,521} kex support (Eugeny#282)

    Adds support for ecdh-sha2-nistp{256,384,521} key exchange algorithms
    using the
    [elliptic-curve](https://docs.rs/elliptic-curve/latest/elliptic_curve/index.html),
    [p256](https://docs.rs/p256/latest/p256/index.html),
    [p384](https://docs.rs/p384/latest/p384/), and
    [p521](https://docs.rs/p521/latest/p521/) crates.
    
    Intentionally avoids adding these to the preferred Kex list as the
    security of these curves is considered controversial. Users would need
    to explicitly use the kex via config
    
    Resolves Eugeny#210
    
    ---------
    
    Co-authored-by: Eugene <[email protected]>
    gleason-m and Eugeny authored May 10, 2024
    1 Configuration menu
    Copy the full SHA
    3bfd99f View commit details
    Browse the repository at this point in the history
  2. add gleason-m as a contributor for code (Eugeny#283)

    Adds @gleason-m as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#282 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored May 10, 2024
    1 Configuration menu
    Copy the full SHA
    f356408 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2024

  1. cryptovec: Fix a segmentation fault (Eugeny#288)

    The `CryptoVec::resize` implementation was running into a segmentation
    fault in some case. If the capacity of the vector was more than 0, and
    that the new allocation failed, the call to
    `std::ptr::copy_non_overlapping` would have a null pointer as
    destination. This was very easy to trigger by a malicious peer, they
    just had to send a packet with an announced size large enough for the
    allocation to fail. The code now correctly panics, which would only end
    the current thread and not crash the whole application without giving it
    a chance to continue running.
    elegaanz authored May 25, 2024
    1 Configuration menu
    Copy the full SHA
    e4584a4 View commit details
    Browse the repository at this point in the history
  2. add elegaanz as a contributor for code (Eugeny#289)

    Adds @elegaanz as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#288 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored May 25, 2024
    1 Configuration menu
    Copy the full SHA
    7e407d2 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2024

  1. Allow ssh-rsa keys to be used for rsa-sha2-* auth (Eugeny#290)

    This worked before [this
    change](Eugeny@194430b#diff-81b0128d04a2d9a37bdc6931dec1cb426a8ff7c6ad4ef10e1555ca3e29f08380L159),
    and is permitted by the specification, as can be seen in [the example in
    section 3.2 of
    RFC8332](https://www.rfc-editor.org/rfc/rfc8332#section-3.2).
    elegaanz authored May 26, 2024
    1 Configuration menu
    Copy the full SHA
    9cce48c View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. cryptovec v0.7.3

    Eugeny committed May 31, 2024
    1 Configuration menu
    Copy the full SHA
    b657732 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    7c73e00 View commit details
    Browse the repository at this point in the history
  3. docs

    Eugeny committed May 31, 2024
    1 Configuration menu
    Copy the full SHA
    461d62a View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Fix hardcoded public key auth negotiation (Eugeny#294)

    Authentication using RSA public keys was incorrectly hardcoded to use
    `ssh-rsa`, i.e., SHA1. This led to public keys set up to use
    `rsa-sha2-256` or `rsa-sha2-512` falling back to `ssh-rsa` and being
    rejected by modern SSH servers that are configured not to support SHA1
    by default.
    
    The solution derives the hash name from the public key instead of
    hardcoding it.
    tomknig authored Jun 2, 2024
    1 Configuration menu
    Copy the full SHA
    2bfe426 View commit details
    Browse the repository at this point in the history
  2. add tomknig as a contributor for code (Eugeny#295)

    Adds @tomknig as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#294 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored Jun 2, 2024
    1 Configuration menu
    Copy the full SHA
    63943cb View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. v0.44.0-beta.2

    Eugeny committed Jun 3, 2024
    1 Configuration menu
    Copy the full SHA
    2577754 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Fix block ciphers + HMAC_SHA1_ETM (Eugeny#298)

    Due to an incorrect specified array length, any combinaison of a cipher
    using `block.rs`and `HMAC_SHA1_ETM` such as:
    
    ```
    let mut config = client::Config::default();
    config.preferred.cipher = &[cipher::AES_128_CTR];
    config.preferred.mac = &[mac::HMAC_SHA1_ETM];
    ```
    
    Would fail during packet auth.
    
    ```
    [...]
    [2024-06-07T12:49:14Z DEBUG russh::cipher] reading, clear len = 276
    [2024-06-07T12:49:14Z DEBUG russh::cipher] read_exact 280
    [2024-06-07T12:49:14Z DEBUG russh::cipher] read_exact done
    [2024-06-07T12:49:14Z TRACE russh::client] disconnected
    [2024-06-07T12:49:14Z DEBUG russh::client] disconnected: Error(PacketAuth)
    [2024-06-07T12:49:14Z TRACE mio::poll] deregistering event source from poller
    [2024-06-07T12:49:14Z DEBUG russh::client] drop session
    [2024-06-07T12:49:14Z DEBUG russh::client] drop handle
    ```
    
    This PR fixes that.
    Barre authored Jun 7, 2024
    1 Configuration menu
    Copy the full SHA
    643be05 View commit details
    Browse the repository at this point in the history
  2. add Barre as a contributor for code (Eugeny#300)

    Adds @Barre as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#298 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored Jun 7, 2024
    1 Configuration menu
    Copy the full SHA
    8e02828 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2024

  1. 1 Configuration menu
    Copy the full SHA
    9e1ed09 View commit details
    Browse the repository at this point in the history
  2. add spoutn1k as a contributor for code (Eugeny#303)

    Adds @spoutn1k as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#302 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored Jun 8, 2024
    1 Configuration menu
    Copy the full SHA
    97294d8 View commit details
    Browse the repository at this point in the history
  3. Implement -cbc ciphers. (Eugeny#297)

    This PR addresses issues related to connecting to legacy Cisco devices
    with no upgrade path (similar to issue Eugeny#277).
    
    Changes Introduced
    
    • Refactored cipher/mod.rs: Make room to be able to implement CBC crypto
    support.
    • Updated cipher/block.rs: To provide an interface compatible with both
    streaming ciphers and CBC.
    • General Cipher Updates: Light modifications to other ciphers for
    compatibility with the new interface.
    
    Context
    
    I had trouble connecting to older Cisco devices which posed challenges
    due to their outdated cryptographic support.
    
    ---------
    
    Co-authored-by: Eugene <[email protected]>
    Barre and Eugeny authored Jun 8, 2024
    1 Configuration menu
    Copy the full SHA
    800969b View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. 1 Configuration menu
    Copy the full SHA
    88196a7 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    3f4646a View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2024

  1. Add support for glob pattern matching in Host directives (Eugeny#306)

    - update parse logic to perform host glob matching (using globset)
    - generalise token expansion so it can be used to qualify hosts as well
    as localising ProxyCommand
    - add proxyjump to the config structure
    
    ---------
    
    Co-authored-by: Adam Chappell <[email protected]>
    packetsource and Adam Chappell authored Jul 4, 2024
    1 Configuration menu
    Copy the full SHA
    1eaadfb View commit details
    Browse the repository at this point in the history
  2. add packetsource as a contributor for code (Eugeny#309)

    Adds @packetsource as a contributor for code.
    
    This was requested by Eugeny [in this
    comment](Eugeny#306 (comment))
    
    [skip ci]
    
    ---------
    
    Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
    allcontributors[bot] authored Jul 4, 2024
    1 Configuration menu
    Copy the full SHA
    1615319 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. algorithm names QoL changes

    Eugeny committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    77cc2f7 View commit details
    Browse the repository at this point in the history
  2. v0.44.0-beta.3

    Eugeny committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    3d4fed1 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. fmt

    Eugeny committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    3c4a0ca View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Configuration menu
    Copy the full SHA
    ea6823b View commit details
    Browse the repository at this point in the history
  2. formatting

    Eugeny committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    fe64362 View commit details
    Browse the repository at this point in the history
  3. v0.44.0-beta.4

    Eugeny committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    64c9b1a View commit details
    Browse the repository at this point in the history
  4. lint

    Eugeny committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    6a6f344 View commit details
    Browse the repository at this point in the history
  5. missing version bump

    Eugeny committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    f0de148 View commit details
    Browse the repository at this point in the history
  6. v0.44.0-beta.5

    Eugeny committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    512c441 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. re-export russh_keys

    Eugeny committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    9c2265e View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. fixed warp-tech/warpgate#996 - prevent offering unparsable keys from …

    …ending the session
    Eugeny committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    f2d94c0 View commit details
    Browse the repository at this point in the history
  2. v0.44.0

    Eugeny committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    4178268 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Update Cargo.toml (Eugeny#321)

    Bumps the dependency to at least 4.1.3 as per the advisory
    
    [Advisory](https://rustsec.org/advisories/RUSTSEC-2024-0344.html) 
    
    (even though this crate may not be using the function mentioned in the
    advisory, it is better to bump it to ensure that there is no chance of
    other dependencies pulling it)
    Dylan-DPC authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    0dae017 View commit details
    Browse the repository at this point in the history
  2. Consolidate dirs deps (Eugeny#320)

    It seems like the project ended up with two different dependencies
    providing access to the home directory.
    This PR consolidates these dependencies into a single dependency.
    
    I've done so by using the `home` crate since on linux it has 0
    dependencies and is well supported due to being a part of the cargo
    repo.
    But if you'd prefer I could swap this PR to use `dirs-next`.
    
    I would like to avoid `dirs` since it is pulling in strange dependencies
    dirs-dev/dirs-sys-rs#26
    rukai authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    9b9e145 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. added 3des-cbc cipher support

    Eugeny committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    4eaa080 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. fixed GHSA-vgvv-x7xg-6cqg - OOM Denial of Service due to allocation o…

    …f untrusted packet size
    Eugeny committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    f660ea3 View commit details
    Browse the repository at this point in the history
  2. v0.44.1

    Eugeny committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    ba8bde9 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'v0.44'

    Eugeny committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    45353c3 View commit details
    Browse the repository at this point in the history
  4. bumped russh

    Eugeny committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    ca5129f View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2024

  1. Configuration menu
    Copy the full SHA
    97dc08b View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. expose is_pageant_running

    Eugeny committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    ed1fec1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    26aae26 View commit details
    Browse the repository at this point in the history
  3. bump

    Eugeny committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    6c3b4d3 View commit details
    Browse the repository at this point in the history
  4. fixed pageant crate

    Eugeny committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    a78d798 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. Implement streamlocal-forward for remote => local UDS forwarding (Eug…

    …eny#312)
    
    I left a `// NEED HELP` comment on places where I didn't fully figure
    out what to do, so I'd really appreciate it if some maintainers helped
    me out in those places.
    
    ---------
    
    Co-authored-by: Eugene <[email protected]>
    kanpov and Eugeny authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    67a6ba8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b9759d4 View commit details
    Browse the repository at this point in the history
  3. bump

    Eugeny committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    934c784 View commit details
    Browse the repository at this point in the history
  4. added AgentClient::into_inner

    Eugeny committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    8b88465 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. Remove leftover extraneous debugging in host globbing function (Eugen…

    …y#328)
    
    Apologies. I accidentally left a stray dbg!() in when checking the glob
    expansion logic of hosts in the russh-config SSH config parsing code.
    This PR simply removes it.
    
    Co-authored-by: Adam Chappell <[email protected]>
    packetsource and Adam Chappell authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    b704f4c View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. fixed Error::Disconnect getting returned from connect instead of …

    …the more specific error type when connection fails during kex phase
    Eugeny committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c99f49c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    83b7f3e View commit details
    Browse the repository at this point in the history
  3. new rich NoCommonAlgo error

    Eugeny committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d6ee97a View commit details
    Browse the repository at this point in the history
  4. bump

    Eugeny committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4115b8f View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2024

  1. Implement detached signal sender

    Allow signals to be sent detached from the channel struct.
    
    This is done using a higher-order function and by cloning the sender so
    it can be used independently of the `Channel`.
    
    This is useful to be able to spawn a cancelation handler separately from
    the main `Channel` recieve loop.
    
    Signed-off-by: Joe Grund <[email protected]>
    f08f74
    
    Signed-off-by: Joe Grund <[email protected]>
    jgrund committed Aug 24, 2024
    Configuration menu
    Copy the full SHA
    34771f4 View commit details
    Browse the repository at this point in the history