diff --git a/Cargo.toml b/Cargo.toml index 07eecfb..c2a7034 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,10 @@ name = "redox-ssh" version = "0.1.0" edition = "2021" -authors = ["Thomas Gatzweiler "] +authors = [ + "Thomas Gatzweiler ", + "C0ffeeCode" +] [lib] name = "ssh" @@ -35,7 +38,7 @@ rand = "^0.8.5" # This crate is deprecated in favor of serde: # rustc-serialize = "^0.3.25" # Not updated for 8 years, depends and blocks build on Redox -# rust-crypto = "^0.2.36" +# rust-crypto = "^0.2.36" curve25519-dalek = "^4.1.3" ed25519-dalek = { version = "^2.1.1", features = ["rand_core"] } diff --git a/README.md b/README.md index 8eaf7ae..0eac241 100644 --- a/README.md +++ b/README.md @@ -2,25 +2,46 @@ A ssh client and server written entirely in Rust, primarily targeted at [Redox OS](http://redox-os.org). +Please note that implementation is far from compleation +and currently is not suitable for real usage. + ## Features Currently implemented features, ordered by priority: - - [x] SSH Server - - [ ] SSH Client - - Key Exchange algorithms - - [x] `curve25519-sha256` (via [rust-crypto](https://github.com/DaGenix/rust-crypto)) - - [ ] `diffie-hellman-group-exchange-sha1` - - Public Key algorithms - - [x] `ssh-ed25519` (via [rust-crypto](https://github.com/DaGenix/rust-crypto)) - - [ ] `ssh-rsa` - - Encryption algorithms - - [x] `aes256-ctr` (via [rust-crypto](https://github.com/DaGenix/rust-crypto)) - - [ ] `aes256-gcm` - - MAC algorithms - - [x] `hmac-sha2-256` (via [rust-crypto](https://github.com/DaGenix/rust-crypto)) - - [ ] Port forwarding - - [ ] SCP File Transfers +- [x] SSH Server +- [ ] SSH Client +- Key Exchange algorithms + - [x] `curve25519-sha256` (via + [~~rust-crypto~~](https://github.com/DaGenix/rust-crypto) + [curve25519-dalek](https://crates.io/crates/curve25519-dalek)) + - [ ] `diffie-hellman-group-exchange-sha1` +- Public Key algorithms + - [x] `ssh-ed25519` (via + [~~rust-crypto~~](https://github.com/DaGenix/rust-crypto) + [ed25519-dalek](https://crates.io/crates/ed25519-dalek)) + - [ ] `ssh-rsa` +- Encryption algorithms + - [x] `aes256-ctr` (via + [~~rust-crypto~~](https://github.com/DaGenix/rust-crypto) + [ctr](https://crates.io/crates/ctr) and [aes](https://crates.io/crates/aes)) + - [ ] `aes256-gcm` +- MAC algorithms + - [x] `hmac-sha2-256` (via + [~~rust-crypto~~](https://github.com/DaGenix/rust-crypto) + [sha2](https://crates.io/crates/sha2) and [hmac](https://crates.io/crates/hmac)) +- Shell + - [x] Std(in|out|err) without PTY + - [ ] PTY + - [x] Passing of environment variables + - [ ] Return exit status codes + - [ ] Signals + - [ ] Specification of a command +- [ ] Authentication and executing as a specific user + - [ ] Password validation (not hardcoded) + - [ ] SSH keys +- [ ] Port forwarding +- [ ] SCP File Transfers ## License