Update dependencies. Update edition to 2021. Improve tests.
[?]
Mar 10, 2022, 10:30 AM
SI2QK7DHRFQU6KBF2WP4J76RYPSZZZZNDWZ7GAUZOXC4XRNOSIPACDependencies
- [2]
NLPZS76WMake AgentSigner::sign_request_signature return self on error - [3]
ORSEEVB5Version bump - [4]
NUTEO3OU - [5]
Q323RFJSVersion bump - [6]
CROEJT6QMinor fixes in Thrussh-keys (parsing key files) - [7]
634OYCNMTokio 0.3 - [8]
FT67GGO4Version bump (Pijul and Thrussh) - [9]
NHOSLQGGThrussh: making OpenSSL optional - [10]
ZQT6ZVJEFix broken links in crate metadata - [11]
F4WG4OHQSolving conflicts introduced by an old format change - [12]
ELRPPXSGFixing conflicts - [13]
AWVLXGAWRemoving anyhows on Windows - [14]
HDEDMPBTClient example - [15]
TFYJ3P2AVersion 0.30.8/0.19.4, and solving conflicts - [16]
ATOFE4ZXmore detailed error message when SSH_AUTH_SOCK points to a bad location - [17]
XCNFFN6ZThrussh-keys, version 0.19.3 - [18]
6TIVIM7MVersion of thrussh-keys - [19]
BITIYBKMRemoving Cargo.lock (tokio 0.3) - [20]
MFMCIUMJFixing authentication with RSA - [21]
2WEO7OZLVersion updates: getting rid of anyhow + moving to Tokio 1.0 - [22]
7S7FHFDVSolving name conflicts - [23]
2NUPA5PYinclude missing env var in error message - [24]
7FRJYUI6Reboot because of a bad change - [25]
KGIUIQYIExecuting a shell command example - [26]
2VTUKRLJVersion - [27]
BWU5BDAHThrussh-keys 0.19.5 - [28]
MCS77Y4VMaking OpenSSL optional
Change contents
- file move: thrussh-libsodium → thrussh-libsodium
- replacement in thrussh-libsodium/Cargo.toml at line 10
edition = "2018"edition = "2021" - file move: thrussh-keys → thrussh-keys
- replacement in thrussh-keys/src/lib.rs at line 121
#[error(transparent)]BlockMode(#[from] block_modes::BlockModeError),#[error("Block mode error")]BlockMode, - replacement in thrussh-keys/src/lib.rs at line 130
#[error("Unable to connect to ssh-agent. The environment variable `SSH_AUTH_SOCK` \was set, but it points to a nonexistent file or directory.")]#[error("Unable to connect to ssh-agent. The environment variable `SSH_AUTH_SOCK` \was set, but it points to a nonexistent file or directory.")] - edit in thrussh-keys/src/lib.rs at line 135
#[error("Cipher: Invalid nonce length")]InvalidKeyIvLength,#[error("Cipher: Unpadding failed")]UnpadError,#[error("Cipher: Padding failed")]PadError, - edit in thrussh-keys/src/lib.rs at line 146
}}impl From<aes::cipher::InvalidLength> for Error {fn from(_err: aes::cipher::InvalidLength) -> Self {Error::InvalidKeyIvLength}}impl From<aes::cipher::block_padding::UnpadError> for Error {fn from(_err: aes::cipher::block_padding::UnpadError) -> Self {Error::UnpadError - edit in thrussh-keys/src/lib.rs at line 158
impl From<aes::cipher::inout::PadError> for Error {fn from(_err: aes::cipher::inout::PadError) -> Self {Error::PadError}} - replacement in thrussh-keys/src/lib.rs at line 170
/// thrussh_keys::load_public_key("/home/pe/.ssh/id_ed25519.pub").unwrap();/// use std::env;/// let home_dir = env::var("HOME").unwrap_or_else(|_| "/home/pe".to_string());/// let key_file = format!("{}/.ssh/id_ed25519.pub", home_dir);/// thrussh_keys::load_public_key(key_file).unwrap(); - replacement in thrussh-keys/src/lib.rs at line 318
file.write(b"\n")?;file.write_all(b"\n")?; - replacement in thrussh-keys/src/lib.rs at line 326
file.write(b"\n")?;file.write_all(b"\n")?; - replacement in thrussh-keys/src/lib.rs at line 513
f.write(b"[localhost]:13265 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJdD7y3aLq454yWBdwLWbieU1ebz9/cu7/QEXn9OIeZJ\n#pijul.org,37.120.161.53 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA6rWI3G2sz07DnfFlrouTcysQlj2P+jpNSOEWD9OJ3X\npijul.org,37.120.161.53 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA6rWI3G1sz07DnfFlrouTcysQlj2P+jpNSOEWD9OJ3X\n").unwrap();f.write_all(b"[localhost]:13265 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJdD7y3aLq454yWBdwLWbieU1ebz9/cu7/QEXn9OIeZJ\n#pijul.org,37.120.161.53 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA6rWI3G2sz07DnfFlrouTcysQlj2P+jpNSOEWD9OJ3X\npijul.org,37.120.161.53 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA6rWI3G1sz07DnfFlrouTcysQlj2P+jpNSOEWD9OJ3X\n").unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 102[5.75090]→[5.6323:6374](∅→∅),[5.6374]→[5.75145:75183](∅→∅),[5.75145]→[5.75145:75183](∅→∅),[5.75203]→[5.75203:75215](∅→∅)
Ok(digest.map(|()| KeyDerivation::Pbkdf2 {salt,rounds,}))Ok(digest.map(|()| KeyDerivation::Pbkdf2 { salt, rounds })) - edit in thrussh-keys/src/format/pkcs8.rs at line 261
use aes::{Aes128, Aes256}; - edit in thrussh-keys/src/format/pkcs8.rs at line 263
use aes::*;use block_modes::block_padding::NoPadding;use block_modes::BlockMode;type Aes128Cbc = block_modes::Cbc<Aes128, NoPadding>;type Aes256Cbc = block_modes::Cbc<Aes256, NoPadding>; - edit in thrussh-keys/src/format/pkcs8.rs at line 283
let c = Aes256Cbc::new_from_slices(&dkey, &iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 284
c.encrypt(&mut plaintext, n).unwrap();super::cbc_encrypt::<Aes256>(&mut plaintext, n, &dkey, &iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 371
KeyDerivation::Pbkdf2 {ref salt,rounds,} => {KeyDerivation::Pbkdf2 { ref salt, rounds } => { - replacement in thrussh-keys/src/format/pkcs8.rs at line 374
},} - edit in thrussh-keys/src/format/pkcs8.rs at line 416
let c = Aes128Cbc::new_from_slices(key, iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 417
c.decrypt(&mut dec)?;super::cbc_decrypt::<Aes128>(&mut dec, key, iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 420
},} - edit in thrussh-keys/src/format/pkcs8.rs at line 422
let c = Aes256Cbc::new_from_slices(key, iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 423
c.decrypt(&mut dec)?;super::cbc_decrypt::<Aes256>(&mut dec, key, iv).unwrap(); - replacement in thrussh-keys/src/format/pkcs8.rs at line 426
},} - replacement in thrussh-keys/src/format/pkcs8.rs at line 432
Pbkdf2 {salt: Vec<u8>,rounds: u64,},Pbkdf2 { salt: Vec<u8>, rounds: u64 }, - replacement in thrussh-keys/src/format/pkcs5.rs at line 5
use aes::*;use block_modes::block_padding::NoPadding;use block_modes::BlockMode;type Aes128Cbc = block_modes::Cbc<Aes128, NoPadding>;use aes::Aes128; - edit in thrussh-keys/src/format/pkcs5.rs at line 23
let c = Aes128Cbc::new_from_slices(&md5.0, &iv[..]).unwrap(); - replacement in thrussh-keys/src/format/pkcs5.rs at line 24
c.decrypt(&mut dec).unwrap();super::cbc_decrypt::<Aes128>(&mut dec, &md5.0, &iv[..]).unwrap(); - replacement in thrussh-keys/src/format/openssh.rs at line 83
use aes::*;use block_modes::block_padding::NoPadding;type Aes128Cbc = block_modes::Cbc<Aes128, NoPadding>;type Aes256Cbc = block_modes::Cbc<Aes256, NoPadding>;use aes::{cipher::{KeyIvInit, StreamCipher},Aes128, Aes256,};use ctr::Ctr128BE;type Aes128Ctr = Ctr128BE<Aes128>;type Aes256Ctr = Ctr128BE<Aes256>; - edit in thrussh-keys/src/format/openssh.rs at line 127
use aes::cipher::{NewCipher, StreamCipher};use block_modes::BlockMode; - replacement in thrussh-keys/src/format/openssh.rs at line 129
let cipher = Aes128Cbc::new_from_slices(key, iv).unwrap();let n = cipher.decrypt(&mut dec)?.len();let n = super::cbc_decrypt::<Aes128>(&mut dec, key, iv)?; - replacement in thrussh-keys/src/format/openssh.rs at line 133
let cipher = Aes256Cbc::new_from_slices(key, iv).unwrap();let n = cipher.decrypt(&mut dec)?.len();let n = super::cbc_decrypt::<Aes256>(&mut dec, key, iv)?; - edit in thrussh-keys/src/format/mod.rs at line 12
use aes::cipher::{block_padding::NoPadding, BlockCipher, BlockDecryptMut, BlockEncryptMut, KeyInit, KeyIvInit,};use cbc::{Decryptor as CbcDecryptor, Encryptor as CbcEncryptor}; - edit in thrussh-keys/src/format/mod.rs at line 153[5.96052]
fn cbc_encrypt<C>(dest: &mut [u8], len: usize, key: &[u8], iv: &[u8]) -> Result<usize, Error>whereC: BlockCipher + BlockEncryptMut + KeyInit,{Ok(CbcEncryptor::<C>::new_from_slices(key, iv)?.encrypt_padded_mut::<NoPadding>(dest, len)?.len())}fn cbc_decrypt<C>(dest: &mut [u8], key: &[u8], iv: &[u8]) -> Result<usize, Error>whereC: BlockCipher + BlockDecryptMut + KeyInit,{Ok(CbcDecryptor::<C>::new_from_slices(key, iv)?.decrypt_padded_mut::<NoPadding>(dest)?.len())} - replacement in thrussh-keys/Cargo.toml at line 4[3.19]→[5.157076:157093](∅→∅),[5.19]→[5.157076:157093](∅→∅),[5.19]→[5.157076:157093](∅→∅),[5.19]→[5.157076:157093](∅→∅),[5.19]→[5.157076:157093](∅→∅),[5.119]→[5.157076:157093](∅→∅),[5.165]→[5.157076:157093](∅→∅),[5.184]→[5.157076:157093](∅→∅),[5.292]→[5.157076:157093](∅→∅),[5.454]→[5.157076:157093](∅→∅),[5.4463]→[5.157076:157093](∅→∅),[5.157076]→[5.157076:157093](∅→∅)
edition = "2018"edition = "2021" - replacement in thrussh-keys/Cargo.toml at line 38
yasna = { version = "0.4.0", features = [ "bit-vec", "num-bigint" ] }yasna = { version = "0.5.0", features = [ "bit-vec", "num-bigint" ] } - replacement in thrussh-keys/Cargo.toml at line 45
dirs = "3.0"dirs = "4.0" - replacement in thrussh-keys/Cargo.toml at line 49
sha2 = "0.9"pbkdf2 = "0.8"hmac = "0.11"sha2 = "0.10"pbkdf2 = "0.10"hmac = "0.12" - replacement in thrussh-keys/Cargo.toml at line 53
block-modes = "0.8"aes = { version = "0.7", features = [ "ctr" ] }bcrypt-pbkdf = "0.6"aes = "0.8"cbc = { version = "0.1", features = ["zeroize"] }ctr = { version = "0.9", features = ["zeroize"] }bcrypt-pbkdf = "0.8" - replacement in thrussh-keys/Cargo.toml at line 60
env_logger = "0.8"env_logger = "0.9" - file move: thrussh-config → thrussh-config
- replacement in thrussh-config/Cargo.toml at line 10
edition = "2018"edition = "2021" - file move: thrussh → thrussh
- replacement in thrussh/src/lib.rs at line 309
type Sha256Hash = generic_array::GenericArray<u8, <sha2::Sha256 as digest::FixedOutputDirty>::OutputSize>;type Sha256Hash =generic_array::GenericArray<u8, <sha2::Sha256 as digest::OutputSizeUser>::OutputSize>; - replacement in thrussh/examples/remote_shell_call.rs at line 4
use thrussh::*;use thrussh_keys::*;use thrussh::{client, Disconnect};use thrussh_keys::{agent, key}; - edit in thrussh/examples/client.rs at line 1
extern crate env_logger;extern crate futures;extern crate thrussh;extern crate thrussh_keys;extern crate tokio; - replacement in thrussh/examples/client.rs at line 3
use thrussh::*;use thrussh_keys::*;use thrussh::{client, Disconnect};use thrussh_keys::key; - replacement in thrussh/Cargo.toml at line 39
edition = "2018"edition = "2021" - replacement in thrussh/Cargo.toml at line 57
sha2 = "0.9"sha2 = "0.10" - replacement in thrussh/Cargo.toml at line 59
digest = "0.9"digest = "0.10" - replacement in thrussh/Cargo.toml at line 62
env_logger = "0.7"env_logger = "0.9" - file move: shell.nix → shell.nix
- file move: cryptovec → cryptovec
- replacement in cryptovec/src/lib.rs at line 403
/// CryptoVec::from_slice(b"test");/// cryptovec::CryptoVec::from_slice(b"test"); - file move: README.md → README.md
- file move: LICENSE-2.0.txt → LICENSE-2.0.txt
- file move: Cargo.toml → Cargo.toml