Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
396 commits
Select commit Hold shift + click to select a range
e4584a4
cryptovec: Fix a segmentation fault (#288)
elegaanz May 25, 2024
7e407d2
add elegaanz as a contributor for code (#289)
allcontributors[bot] May 25, 2024
9cce48c
Allow ssh-rsa keys to be used for rsa-sha2-* auth (#290)
elegaanz May 26, 2024
b657732
cryptovec v0.7.3
Eugeny May 25, 2024
7c73e00
fixed #285 - NISTP 384/521 kex using wrong hash
Eugeny May 31, 2024
461d62a
docs
Eugeny May 31, 2024
2bfe426
Fix hardcoded public key auth negotiation (#294)
tomknig Jun 2, 2024
63943cb
add tomknig as a contributor for code (#295)
allcontributors[bot] Jun 2, 2024
2577754
v0.44.0-beta.2
Eugeny Jun 3, 2024
643be05
Fix block ciphers + HMAC_SHA1_ETM (#298)
Barre Jun 7, 2024
8e02828
add Barre as a contributor for code (#300)
allcontributors[bot] Jun 7, 2024
9e1ed09
Overachiever host key checking (#302)
spoutn1k Jun 8, 2024
97294d8
add spoutn1k as a contributor for code (#303)
allcontributors[bot] Jun 8, 2024
800969b
Implement `-cbc` ciphers. (#297)
Barre Jun 8, 2024
88196a7
allow converting ChannelId into u32
Eugeny Jun 28, 2024
3f4646a
removed use of unstable Option::inspect
Eugeny Jun 28, 2024
1eaadfb
Add support for glob pattern matching in Host directives (#306)
packetsource Jul 4, 2024
1615319
add packetsource as a contributor for code (#309)
allcontributors[bot] Jul 4, 2024
77cc2f7
algorithm names QoL changes
Eugeny Jul 9, 2024
3d4fed1
v0.44.0-beta.3
Eugeny Jul 9, 2024
3c4a0ca
fmt
Eugeny Jul 10, 2024
ea6823b
fixed incorrect PKCS#8 Ed25519 key serialization
Eugeny Jul 16, 2024
fe64362
formatting
Eugeny Jul 16, 2024
64c9b1a
v0.44.0-beta.4
Eugeny Jul 16, 2024
6a6f344
lint
Eugeny Jul 16, 2024
f0de148
missing version bump
Eugeny Jul 16, 2024
512c441
v0.44.0-beta.5
Eugeny Jul 16, 2024
9c2265e
re-export russh_keys
Eugeny Jul 17, 2024
f2d94c0
fixed Eugeny/warpgate#996 - prevent offering unparsable keys from end…
Eugeny Jul 18, 2024
4178268
v0.44.0
Eugeny Jul 18, 2024
0dae017
Update Cargo.toml (#321)
Dylan-DPC Aug 2, 2024
9b9e145
Consolidate dirs deps (#320)
rukai Aug 2, 2024
4eaa080
added 3des-cbc cipher support
Eugeny Aug 5, 2024
f660ea3
fixed GHSA-vgvv-x7xg-6cqg - OOM Denial of Service due to allocation o…
Eugeny Aug 14, 2024
ba8bde9
v0.44.1
Eugeny Aug 14, 2024
45353c3
Merge branch 'v0.44'
Eugeny Aug 14, 2024
ca5129f
bumped russh
Eugeny Aug 14, 2024
97dc08b
Support Pageant as agent (#326)
Eugeny Aug 17, 2024
ed1fec1
expose is_pageant_running
Eugeny Aug 19, 2024
26aae26
added named pipe support for AgentClient and .dynamic()
Eugeny Aug 19, 2024
6c3b4d3
bump
Eugeny Aug 19, 2024
a78d798
fixed pageant crate
Eugeny Aug 19, 2024
67a6ba8
Implement streamlocal-forward for remote => local UDS forwarding (#312)
kanpov Aug 20, 2024
b9759d4
client channel handling changes
Eugeny Aug 20, 2024
934c784
bump
Eugeny Aug 20, 2024
8b88465
added AgentClient::into_inner
Eugeny Aug 20, 2024
b704f4c
Remove leftover extraneous debugging in host globbing function (#328)
packetsource Aug 21, 2024
c99f49c
fixed `Error::Disconnect` getting returned from `connect` instead of …
Eugeny Aug 22, 2024
83b7f3e
Merge branch 'main' of github.com:warp-tech/russh
Eugeny Aug 22, 2024
d6ee97a
new rich NoCommonAlgo error
Eugeny Aug 22, 2024
4115b8f
bump
Eugeny Aug 22, 2024
d5b303c
fix: process multiple host entries (#331)
CertainLach Aug 24, 2024
aac16a0
add CertainLach as a contributor for code (#332)
allcontributors[bot] Aug 24, 2024
6e64af1
doc(fix typo): add a missing word. (#342)
pipelight Sep 17, 2024
73fa3e5
Improve echoserver example, bump Rust toolchain to 1.81 (#339)
JuliDi Sep 17, 2024
cb8d9e9
fixed #338 - make KeyPair::generate_ed25519 infallible
Eugeny Sep 17, 2024
4d54f0c
add JuliDi as a contributor for code (#343)
allcontributors[bot] Sep 17, 2024
9444608
Add a way to open an agent forwarding channel (#344)
grampelberg Sep 18, 2024
3a33a76
add grampelberg as a contributor for code (#345)
allcontributors[bot] Sep 18, 2024
6df962d
Minor accuracy improvements to server documentation (#346)
belak Sep 19, 2024
451e74b
add belak as a contributor for doc (#347)
allcontributors[bot] Sep 19, 2024
f587d13
Reject unsupported key types instead of failing (#352)
nbdd0121 Sep 22, 2024
459544a
add nbdd0121 as a contributor for code (#353)
allcontributors[bot] Sep 22, 2024
d03df31
feat(wasm-support): add wasm support (#351)
irvingoujAtDevolution Sep 23, 2024
572e87b
add irvingoujAtDevolution as a contributor for code (#354)
allcontributors[bot] Sep 23, 2024
4cc3e09
doc: add adopters to readme (#356)
grampelberg Sep 27, 2024
cd84f4d
Update sftp examples (#357)
AspectUnk Sep 29, 2024
3f7271b
fixed #358 - relax strict kex checks to match OpenSSH
Eugeny Sep 29, 2024
348e522
Merge branch 'main' of github.com:warp-tech/russh
Eugeny Sep 29, 2024
52f9a0e
formatting
Eugeny Oct 17, 2024
ee59e07
Add ed25519 to ALL_KEY_TYPES (#360)
Tehforsch Oct 17, 2024
0e6a19c
add Tehforsch as a contributor for code (#361)
allcontributors[bot] Oct 17, 2024
9fe7301
Create funding-manifest-urls
Eugeny Oct 17, 2024
72aa097
Update deps (#363)
rukai Oct 21, 2024
a4ff04c
docs: fix typo, minor phrasing for `encode_pkcs8` docs (#364)
nicmr Oct 21, 2024
1ace573
Add Devolutions Gateway to the adopter list in README.md (#367)
CBenoit Oct 29, 2024
a3ae983
add Nathy-bajo as a contributor for code (#369)
allcontributors[bot] Oct 31, 2024
e7a9ee9
v0.46.0
Eugeny Nov 3, 2024
ce6cd79
Use ssh-key instead of local key handling (#368)
Eugeny Nov 3, 2024
aa9bdb4
added support for [email protected] and sk-…
Eugeny Nov 3, 2024
791db1e
separate semver check workflow
Eugeny Nov 3, 2024
a02871a
rename authenticate_agent to authenticate_publickey_with
Eugeny Nov 3, 2024
d07f9e2
`ssh-encoding` migration (#371)
Eugeny Nov 10, 2024
a04ec7f
0.47.0-beta.1
Eugeny Nov 10, 2024
ad2403b
v0.47.0-beta.2
Eugeny Nov 10, 2024
bd6dc3a
impl Drop for server examples (#376)
EpicEric Nov 14, 2024
9786a3f
add EpicEric as a contributor for code (#377)
allcontributors[bot] Nov 14, 2024
47ca41d
Send proper algorithm for certificates (#378)
jeromegn Nov 15, 2024
7dee935
add jeromegn as a contributor for code (#379)
allcontributors[bot] Nov 15, 2024
2dca3c6
Document how to reply to channel requests (#381)
qsantos Nov 17, 2024
e088945
add qsantos as a contributor for doc (#383)
allcontributors[bot] Nov 17, 2024
981cf7b
Derive Debug where possible (#374)
qsantos Nov 17, 2024
2d8c08a
ratatui examples fixed. (#388)
ogedei-khan Nov 21, 2024
33e6b72
add ogedei-khan as a contributor for code (#389)
allcontributors[bot] Nov 21, 2024
68fff93
Add support for StrictHostKeyChecking and UserKnownHostsFile (#386)
snaggen Nov 22, 2024
b1afeba
add snaggen as a contributor for code (#390)
allcontributors[bot] Nov 22, 2024
c328558
Implement From<&str> and From<&[u8]> for CryptoVec (#391)
joshka Nov 24, 2024
e435955
add joshka as a contributor for code (#393)
allcontributors[bot] Nov 24, 2024
f602e45
re-added support for ssh-rsa signatures
Eugeny Nov 24, 2024
ff95994
v0.47.0-beta.3
Eugeny Nov 24, 2024
0bb5938
bump ubuntu image in ci
Eugeny Dec 1, 2024
2a4f451
Fix improper RSA key conversion from `ssh_key` crate (#400)
EpicEric Dec 1, 2024
fb8d3ea
Fix ChannelStream's channel not being closed (#397)
EpicEric Dec 1, 2024
c75c775
Unpin RSA version (#405)
EpicEric Dec 3, 2024
873614f
Fix a typo: `Hnts` -> `Hints` (#404)
wiktor-k Dec 3, 2024
f002457
v0.47.0-beta.4
Eugeny Dec 3, 2024
785cfbf
updated contributors
Eugeny Dec 3, 2024
ac441a6
fix:remove unused memcpy function (#406)
irvingoujAtDevolution Dec 4, 2024
a5c4adc
An attempt at #401 - removing TX busywait (#408)
Eugeny Dec 7, 2024
c14bad3
v0.48.0
Eugeny Dec 7, 2024
457706e
v0.48.1
Eugeny Dec 7, 2024
044da62
fixed handling of rsa-sha2-* key algorithms
Eugeny Dec 7, 2024
02c86e0
v0.48.2
Eugeny Dec 7, 2024
5511842
lints
Eugeny Dec 7, 2024
be64d14
added the missing option to specify the hash algorithm to be used wit…
Eugeny Dec 10, 2024
e456efe
v0.49.0
Eugeny Dec 10, 2024
f89c19c
Add backpressure to Channel receivers (#412)
EpicEric Dec 12, 2024
3f2088d
v0.50.0-beta.1
Eugeny Dec 12, 2024
85c45cb
Remove calls to dbg!() (#414)
EpicEric Dec 13, 2024
030468a
Add `authentication_banner` method to server::Handler (#415)
EpicEric Dec 16, 2024
65bc5e2
remove unused bcrypt-pbkdf dependency (#421)
eric-seppanen Dec 20, 2024
ad56a8e
fixed #418 - client - incorrect kex signature verification for RSA-SHA2
Eugeny Dec 20, 2024
242b1e1
replace tempdir with tempfile (#423)
eric-seppanen Dec 20, 2024
7c7cb1b
feature-gate `des` dependency (#424)
eric-seppanen Dec 20, 2024
36800c7
Add Sandhole to adopters (#426)
EpicEric Dec 20, 2024
9b3caee
add eric-seppanen as a contributor for code (#425)
allcontributors[bot] Dec 20, 2024
039054b
bump dependency versions to the minimum version that compiles. (#428)
ericseppanen Dec 21, 2024
85f75dd
add ericseppanen as a contributor for code (#429)
allcontributors[bot] Dec 21, 2024
49ab949
Enforce MSRV (#430)
Eugeny Dec 22, 2024
ab8aca8
migrate to the forked ssh-key lib, remove bundled workarounds
Eugeny Dec 28, 2024
7833d4f
v0.50.0-beta.2
Eugeny Dec 28, 2024
21ac760
fmt
Eugeny Dec 28, 2024
571dbe3
added support for PPK format private keys
Eugeny Dec 29, 2024
f70cac6
Update Cargo.toml
Eugeny Dec 29, 2024
912b939
v0.50.0-beta.3
Eugeny Dec 30, 2024
66f9416
Add an option to enable TCP_NODELAY (#435)
Patryk27 Jan 2, 2025
387c299
add Patryk27 as a contributor for code (#437)
allcontributors[bot] Jan 2, 2025
290bdbe
fixed unwrap panic in pageant
Eugeny Jan 5, 2025
9d32b96
more pageant cleanup
Eugeny Jan 5, 2025
307c7eb
bumped pageant
Eugeny Jan 5, 2025
59314be
bump pageant dep
Eugeny Jan 5, 2025
e2e3a11
bump ssh-key dep
Eugeny Jan 5, 2025
4f0a0d4
removed incorrect dev deps
Eugeny Jan 5, 2025
e0bc545
Rewrite kex as a state machine (#439)
Eugeny Jan 5, 2025
c9baadf
DH GEX support (#440)
Eugeny Jan 6, 2025
9ab87ef
v0.50.0-beta.4
Eugeny Jan 6, 2025
4c7b27a
expose the "remaining methods" from auth failure responses
Eugeny Jan 6, 2025
44ed559
bumped ssh-key for PPKv2 support
Eugeny Jan 6, 2025
56b280b
v0.50.0-beta.5
Eugeny Jan 6, 2025
9548f04
added fixed missing AuthResult export
Eugeny Jan 6, 2025
77f53ed
support for parsing X9.62 EC private keys
Eugeny Jan 8, 2025
683af19
v0.50.0-beta.7
Eugeny Jan 8, 2025
b3cc63a
Update README.md
Eugeny Jan 8, 2025
bd75f3c
more debug logging
Eugeny Jan 10, 2025
c4dd59d
bumped rust edition
Eugeny Jan 10, 2025
20eedc5
update docstring
Eugeny Jan 10, 2025
477d6b6
updated docstring
Eugeny Jan 10, 2025
d9fb484
Include error-reason when failining in CryptoVec unix (#443)
amtelekom Jan 10, 2025
cb22369
src/platform/unix.rs:cfg detect macos (#447)
RandyMcMillan Jan 13, 2025
ae15db0
add RandyMcMillan as a contributor for code (#448)
allcontributors[bot] Jan 13, 2025
662ffa5
added From<[MethodKind]> for MethodSet
Eugeny Jan 14, 2025
23cc724
merge russh-keys into russh (#450)
Eugeny Jan 14, 2025
38a1e47
v0.50.0-beta.8
Eugeny Jan 14, 2025
c33d692
exported missing MethodKind type
Eugeny Jan 14, 2025
2ca72c9
fmt
Eugeny Jan 14, 2025
902010f
Allow setting hash algorithm to use for signing requests of SSH agent…
wiktor-k Jan 15, 2025
7c1060f
fixed client k-i auth not working as second auth method
Eugeny Jan 16, 2025
84b871d
v0.50.0-beta.10
Eugeny Jan 16, 2025
7ca359e
fmt
Eugeny Jan 16, 2025
4fe938e
Send proper algorithm for certificates (#451)
jeromegn Jan 23, 2025
72847a7
support automatic RSA key hash detection using server-sig-algs extens…
Eugeny Jan 24, 2025
d4d3605
added best_supported_rsa_hash (#453)
Eugeny Jan 25, 2025
7109917
bump russh for auth rsa hash
Eugeny Jan 25, 2025
3e04597
Native async traits encore (#455) - note: MSRV: 1.75
Eugeny Jan 27, 2025
2c6d72b
v0.50.0-beta.12
Eugeny Jan 27, 2025
89fed88
v0.50.0
Eugeny Jan 29, 2025
6a59d0e
Add client demo that implement open direct tcpip. (#454)
handewo Feb 8, 2025
463699a
removed a dbg! call
Eugeny Feb 8, 2025
ae80ac4
v0.50.1
Eugeny Feb 8, 2025
2342b82
add handewo as a contributor for code (#462)
allcontributors[bot] Feb 9, 2025
43b0428
Update README.md
Eugeny Feb 9, 2025
f51bd64
fmt
Eugeny Feb 9, 2025
e574068
fixed #460 - do not panic on mlock failures (#464)
Eugeny Feb 9, 2025
f4ba544
v0.50.2
Eugeny Feb 9, 2025
b5e244b
populate comments for agent identities (#466)
ccbrown Feb 18, 2025
ac3d015
add ccbrown as a contributor for code (#467)
allcontributors[bot] Feb 18, 2025
07d6243
Add a function to send ExitStatus message to Channel (#465)
procr1337 Feb 19, 2025
de7706e
add procr1337 as a contributor for code (#469)
allcontributors[bot] Feb 19, 2025
783b16f
cryptovec v0.50.2
Eugeny Feb 9, 2025
16a18bc
fixed #470 - broken agent auth with rsa-sha2-* algos
Eugeny Feb 20, 2025
5403ed2
fmt
Eugeny Feb 20, 2025
01c58ad
v0.50.3
Eugeny Feb 20, 2025
83aacd1
re-fixed #470 - correctly ignore hash_alg argument when signing with …
Eugeny Feb 20, 2025
bf235bc
fixed #470 - incorrect hash passed for an RSA key offer in agent auth…
Eugeny Feb 21, 2025
e549330
v0.50.4
Eugeny Feb 21, 2025
71cd4ab
fixed #468 - allow RSA keys below 2048bit length
Eugeny Feb 24, 2025
65ea839
v0.51.0-beta.1
Eugeny Feb 24, 2025
32a9ee1
Add a crate feature to enable DSA support (#473)
EdMcBane Feb 25, 2025
0665aac
Cryptovec/Windows: Add reference counting per Page, improve error-msg…
amtelekom Feb 25, 2025
0b4cf36
Optimize examples/client_open_direct_tcpip.rs (#477)
handewo Feb 27, 2025
3d45813
Merge branch 'main' of github.com:warp-tech/russh
Eugeny Feb 27, 2025
0c722b8
partial_success support (#478)
Eugeny Feb 27, 2025
a563b91
v0.51.0-beta.2
Eugeny Feb 27, 2025
2fa01ac
refactor: replace libc with nix (#483)
Itsusinn Mar 4, 2025
0d0a99c
add Itsusinn as a contributor for code (#484)
allcontributors[bot] Mar 4, 2025
92362fc
Introduce Channel::split() to allow splitting a channel into a read h…
psychon Mar 4, 2025
6261bef
add psychon as a contributor for code (#485)
allcontributors[bot] Mar 4, 2025
450b4b6
Create SECURITY.md
Eugeny Mar 6, 2025
32667df
Updating support for additional diffie-helman. (#486)
jvanbrunt Mar 6, 2025
ca9b023
add jvanbrunt as a contributor for code (#487)
allcontributors[bot] Mar 6, 2025
db5e5ba
wait for extension info from the server in the `best_supported_rsa_ha…
Eugeny Mar 9, 2025
f7523c0
v0.51.0-beta.3
Eugeny Mar 9, 2025
77bf308
only disconnect due to a keepalive timeout if the server actually eve…
Eugeny Mar 11, 2025
ffc5726
Remove unused dependencies (#488)
psychon Mar 11, 2025
e8799b4
v0.51.0
Eugeny Mar 11, 2025
a98e84c
revert incorrect keepalive behaviour from 0.51.0
Eugeny Mar 11, 2025
5254202
v0.51.1
Eugeny Mar 11, 2025
00cf987
fixed #490 - windows build (#492)
Eugeny Mar 12, 2025
154f820
[email protected]
Eugeny Mar 12, 2025
20ea6a0
Handle unexpected EOF as expected in session closure (#495)
lgmugnier Mar 19, 2025
095fc68
add lgmugnier as a contributor for code (#497)
allcontributors[bot] Mar 19, 2025
d2d0058
feat: make `ChannelWriteHalf::make_writer[_ext]` public, fix #498 (#499)
MingweiSamuel Mar 25, 2025
ef50df9
feat: add `ChannelReadHalf::make_reader[_ext]`, #498 (#502)
MingweiSamuel Mar 25, 2025
6a6fa80
make ChannelCloseOnDrop async
Eugeny Mar 25, 2025
7b09302
add MingweiSamuel as a contributor for code (#503)
allcontributors[bot] Mar 25, 2025
d7de9cb
fixed wasm build
Eugeny Mar 27, 2025
b438dc4
bump russh-sftp (#505)
AspectUnk Apr 3, 2025
c2fa2df
fixed #506 - removed faulty server-sig-algs timeout on wasm (#508)
Eugeny Apr 3, 2025
ec273f8
Add Handle::send_keepalive() (#511)
psychon Apr 4, 2025
fd9da16
Added `client::Handle::debug` (#510)
pgrange Apr 5, 2025
f8ef48b
add pgrange as a contributor for code (#513)
allcontributors[bot] Apr 5, 2025
83a3ec1
v0.52.0-beta.1
Eugeny Apr 23, 2025
3d09c20
Support of SSH 1.99 (#514)
jvanbrunt Apr 24, 2025
a404ae3
v0.52.0
Eugeny Apr 24, 2025
5e91396
fixed #515 - unexpected pre-kex message causing panic (#516)
Eugeny May 11, 2025
d9d3405
v0.52.1
Eugeny May 11, 2025
1d7e52f
Fail when accept returns an Error (#518)
pgrange May 21, 2025
70ea737
Add Motor OS to the list of adopters. (#522)
lasiotus Jun 4, 2025
45ed043
Update rust in github actions (#523)
Eugeny Jun 6, 2025
04e529e
added [email protected] cipher support (#526)
handewo Jun 10, 2025
cfe45e5
Support sending "[email protected]" requests (#527)
handewo Jun 12, 2025
fe85327
fix typo, honyepot -> honeypot :nerd_face: (#528)
Sovenok-Hacker Jun 16, 2025
1d49e7d
#323 - direct-streamlocal support on server side (#529)
Eugeny Jun 18, 2025
f53716d
Fix: Dead loop when client receives messages (#524)
wyhaya Jun 20, 2025
4635a9d
add wyhaya as a contributor for code (#530)
allcontributors[bot] Jun 20, 2025
501e73a
cipher benchmarking (#537)
Eugeny Jun 28, 2025
052109c
fixed #531 - merge fix from RustCrypto/SSH#351
Eugeny Jun 28, 2025
c41d4f6
Use `aws-lc-rs`/`ring` implementation for AEAD ciphers (#535)
EpicEric Jun 29, 2025
0fc70c3
v0.53.0-beta.1
Eugeny Jun 29, 2025
5e77f26
Implement detached signal sender
Jun 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
407 changes: 406 additions & 1 deletion .all-contributorsrc

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github: eugeny
open_collective: tabby
ko_fi: eugeny
69 changes: 60 additions & 9 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ name: Rust

on:
push:
branches: [ master ]
branches: [ main ]
pull_request:
branches: [ master ]
branches: [ main ]

env:
CARGO_TERM_COLOR: always

jobs:
Build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
Expand All @@ -22,13 +22,51 @@ jobs:
- name: Build (all features enabled)
run: cargo build --verbose --all-features

- name: Check semver compatibility (russh)
uses: obi1kenobi/cargo-semver-checks-action@v2
with:
package: russh
Build-Windows:
runs-on: windows-latest

steps:
- uses: actions/checkout@v2

- name: install nasm
run: |
choco install nasm
echo "C:\Program Files\NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Build (no features enabled)
run: cargo build --verbose

- name: Build (all features enabled)
run: cargo build --verbose --all-features

Build-WASM:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2

- name: Install target
run: |
rustup toolchain add 1.81.0
rustup target add --toolchain 1.81.0 wasm32-wasip1

- name: Build (WASM-compatible features)
run: cargo +1.81.0 build --verbose --target wasm32-wasip1 --no-default-features --features flate2,ring -p russh

Formatting:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2

- name: Install rustfmt
run: rustup component add rustfmt

- name: rustfmt
run: cargo fmt --check

Clippy:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
Expand All @@ -43,7 +81,7 @@ jobs:
run: cargo clippy --all-features -- -D warnings

Test:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
Expand All @@ -61,3 +99,16 @@ jobs:
cargo test --verbose --all-features
env:
RUST_BACKTRACE: 1

Minimal-versions:
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
- uses: taiki-e/install-action@cargo-hack
- uses: taiki-e/install-action@cargo-minimal-versions

- name: Check with minimal dependency versions
run: |
rustup toolchain add 1.75.0
cargo +1.75.0 minimal-versions check --all-features --no-dev-deps
26 changes: 26 additions & 0 deletions .github/workflows/semver.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Semver check

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

env:
CARGO_TERM_COLOR: always

jobs:
Build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Build (no features enabled)
run: cargo build --verbose

- name: Check semver compatibility (russh)
uses: obi1kenobi/cargo-semver-checks-action@v2
continue-on-error: true
with:
package: russh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
target
Cargo.lock
.cargo-ok
ca-test*
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"rust-analyzer.check.command": "check"
}
1 change: 1 addition & 0 deletions .well-known/funding-manifest-urls
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://null.page/funding.json
40 changes: 34 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,36 @@
[workspace]
members = [ "russh-keys", "russh", "russh-config", "cryptovec"]
members = ["russh", "russh-config", "cryptovec", "pageant", "russh-util"]
resolver = "2"

[patch.crates-io]
russh = { path = "russh" }
russh-keys = { path = "russh-keys" }
russh-cryptovec = { path = "cryptovec" }
russh-config = { path = "russh-config" }
[workspace.dependencies]
aes = "0.8"
async-trait = "0.1.50"
byteorder = "1.4"
bytes = "1.7"
digest = "0.10"
delegate = "0.13"
env_logger = "0.6"
futures = "0.3"
home = "0.5"
hmac = "0.12"
log = "0.4.11"
rand = "0.8"
rsa = "0.9"
sha1 = { version = "0.10.5", features = ["oid"] }
sha2 = { version = "0.10.6", features = ["oid"] }
signature = "2.2"
ssh-encoding = { version = "0.2", features = ["bytes"] }
ssh-key = { version = "=0.6.11", features = [
"ed25519",
"rsa",
"rsa-sha1",
"p256",
"p384",
"p521",
"encryption",
"ppk",
"hazmat-allow-insecure-rsa-keys",
], package = "internal-russh-forked-ssh-key" }
thiserror = "1.0.30"
tokio = { version = "1.17.0" }
tokio-stream = { version = "0.1.3", features = ["net", "sync"] }
154 changes: 132 additions & 22 deletions README.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Security Policy

## Reporting a Vulnerability

Please report vunerabilities using GitHub's Private Vulnerability Reporting tool.

You can expect a response within a few days.
2 changes: 2 additions & 0 deletions bench.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh
RUSTFLAGS="-Ctarget-cpu=native" cargo bench -F _bench
28 changes: 24 additions & 4 deletions cryptovec/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,33 @@
authors = ["Pierre-Étienne Meunier <[email protected]>", "Eugeny <[email protected]"]
description = "A vector which zeroes its memory on clears and reallocations."
documentation = "https://docs.rs/russh-cryptovec"
edition = "2018"
include = ["Cargo.toml", "src/lib.rs"]
edition = "2021"
license = "Apache-2.0"
name = "russh-cryptovec"
repository = "https://github.com/warp-tech/russh"
version = "0.7.0"
version = "0.52.0"
rust-version = "1.75"

[dependencies]
ssh-encoding = { workspace = true, optional = true }
log.workspace = true

[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["mman"] }

[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3", features = [
"basetsd",
"minwindef",
"memoryapi",
"errhandlingapi",
"sysinfoapi",
"impl-default",
] }
libc = "0.2"
winapi = {version = "0.3", features = ["basetsd", "minwindef", "memoryapi"]}

[dev-dependencies]
wasm-bindgen-test = "0.3.46"

[features]
ssh-encoding = ["dep:ssh-encoding"]
Loading