mirror of
https://github.com/rustdesk/rustdesk-server.git
synced 2026-02-28 09:03:11 +08:00
replace libs/hbb_common with submodule (#502)
cargo update -p schannel to fix crash on higher rust toolchain, https://github.com/seanmonstar/reqwest/issues/2311 Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
use clap::App;
|
||||
use hbb_common::{
|
||||
anyhow::{Context, Result},
|
||||
log, ResultType,
|
||||
allow_err, anyhow::{Context, Result}, get_version_number, log, tokio, ResultType
|
||||
};
|
||||
use ini::Ini;
|
||||
use sodiumoxide::crypto::sign;
|
||||
@@ -189,3 +188,31 @@ pub async fn listen_signal() -> Result<()> {
|
||||
let () = std::future::pending().await;
|
||||
unreachable!();
|
||||
}
|
||||
|
||||
|
||||
pub fn check_software_update() {
|
||||
const ONE_DAY_IN_SECONDS: u64 = 60 * 60 * 24;
|
||||
std::thread::spawn(move || loop {
|
||||
std::thread::spawn(move || allow_err!(check_software_update_()));
|
||||
std::thread::sleep(std::time::Duration::from_secs(ONE_DAY_IN_SECONDS));
|
||||
});
|
||||
}
|
||||
|
||||
#[tokio::main(flavor = "current_thread")]
|
||||
async fn check_software_update_() -> hbb_common::ResultType<()> {
|
||||
let (request, url) = hbb_common::version_check_request(hbb_common::VER_TYPE_RUSTDESK_SERVER.to_string());
|
||||
let latest_release_response = reqwest::Client::builder().build()?
|
||||
.post(url)
|
||||
.json(&request)
|
||||
.send()
|
||||
.await?;
|
||||
|
||||
let bytes = latest_release_response.bytes().await?;
|
||||
let resp: hbb_common::VersionCheckResponse = serde_json::from_slice(&bytes)?;
|
||||
let response_url = resp.url;
|
||||
let latest_release_version = response_url.rsplit('/').next().unwrap_or_default();
|
||||
if get_version_number(&latest_release_version) > get_version_number(crate::version::VERSION) {
|
||||
log::info!("new version is available: {}", latest_release_version);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
@@ -31,6 +31,7 @@ fn main() -> ResultType<()> {
|
||||
}
|
||||
let rmem = get_arg("rmem").parse::<usize>().unwrap_or(RMEM);
|
||||
let serial: i32 = get_arg("serial").parse().unwrap_or(0);
|
||||
crate::common::check_software_update();
|
||||
RendezvousServer::start(port, serial, &get_arg_or("key", "-".to_owned()), rmem)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ pub async fn start(port: &str, key: &str) -> ResultType<()> {
|
||||
let main_task = async move {
|
||||
loop {
|
||||
log::info!("Start");
|
||||
io_loop(listen_any(port, true).await?, listen_any(port2, true).await?, &key).await;
|
||||
io_loop(listen_any(port).await?, listen_any(port2).await?, &key).await;
|
||||
}
|
||||
};
|
||||
let listen_signal = crate::common::listen_signal();
|
||||
|
||||
@@ -1319,7 +1319,7 @@ async fn create_udp_listener(port: i32, rmem: usize) -> ResultType<FramedSocket>
|
||||
|
||||
#[inline]
|
||||
async fn create_tcp_listener(port: i32) -> ResultType<TcpListener> {
|
||||
let s = listen_any(port as _, true).await?;
|
||||
let s = listen_any(port as _).await?;
|
||||
log::debug!("listen on tcp {:?}", s.local_addr());
|
||||
Ok(s)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user