3 Commits

Author SHA1 Message Date
rustdesk
79f0eb497b trim private key 2024-01-31 11:30:42 +08:00
Paolo Asperti
94ae51458c fix Pk size check (#361)
* more descriptive error

* fix key size check
2024-01-31 11:21:00 +08:00
rustdesk
778c89efb1 bump to 1.1.10-3 2024-01-31 11:20:04 +08:00
6 changed files with 11 additions and 6 deletions

2
Cargo.lock generated
View File

@@ -779,7 +779,7 @@ dependencies = [
[[package]]
name = "hbbs"
version = "1.1.10-2"
version = "1.1.10-3"
dependencies = [
"async-speed-limit",
"async-trait",

View File

@@ -1,6 +1,6 @@
[package]
name = "hbbs"
version = "1.1.10-2"
version = "1.1.10-3"
authors = ["rustdesk <info@rustdesk.com>"]
edition = "2021"
build = "build.rs"

Binary file not shown.

3
debian/changelog vendored
View File

@@ -1,3 +1,6 @@
rustdesk-server (1.1.10-3) UNRELEASED; urgency=medium
* fix on -2
rustdesk-server (1.1.10-2) UNRELEASED; urgency=medium
* fix hangup signal exit when run with nohup

View File

@@ -113,13 +113,18 @@ pub fn gen_sk(wait: u64) -> (String, Option<sign::SecretKey>) {
if let Ok(mut file) = std::fs::File::open(sk_file) {
let mut contents = String::new();
if file.read_to_string(&mut contents).is_ok() {
let sk = base64::decode(&contents).unwrap_or_default();
let contents = contents.trim();
let sk = base64::decode(contents).unwrap_or_default();
if sk.len() == sign::SECRETKEYBYTES {
let mut tmp = [0u8; sign::SECRETKEYBYTES];
tmp[..].copy_from_slice(&sk);
let pk = base64::encode(&tmp[sign::SECRETKEYBYTES / 2..]);
log::info!("Private key comes from {}", sk_file);
return (pk, Some(sign::SecretKey(tmp)));
} else {
// don't use log here, since it is async
println!("Fatal error: malformed private key in {sk_file}.");
std::process::exit(1);
}
}
} else {

View File

@@ -1174,9 +1174,6 @@ impl RendezvousServer {
let mut tmp = [0u8; sign::SECRETKEYBYTES];
tmp[..].copy_from_slice(&sk);
out_sk = Some(sign::SecretKey(tmp));
} else {
log::error!("Malformed private key");
std::process::exit(1);
}
}