mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
refactor password deadlock and password_security
This commit is contained in:
@@ -8,9 +8,7 @@ use hbb_common::{
|
||||
config::{self, Config, Config2},
|
||||
futures::StreamExt as _,
|
||||
futures_util::sink::SinkExt,
|
||||
log,
|
||||
password_security::password,
|
||||
timeout, tokio,
|
||||
log, password_security as password, timeout, tokio,
|
||||
tokio::io::{AsyncRead, AsyncWrite},
|
||||
tokio_util::codec::Framed,
|
||||
ResultType,
|
||||
|
||||
10
src/main.rs
10
src/main.rs
@@ -171,21 +171,19 @@ fn import_config(path: &str) {
|
||||
let path2 = std::path::Path::new(&path2);
|
||||
let path = std::path::Path::new(path);
|
||||
log::info!("import config from {:?} and {:?}", path, path2);
|
||||
let mut config: Config = load_path(path.into());
|
||||
let config: Config = load_path(path.into());
|
||||
if config.id.is_empty() || config.key_pair.0.is_empty() {
|
||||
log::info!("Empty source config, skipped");
|
||||
return;
|
||||
}
|
||||
if get_modified_time(&path) > get_modified_time(&Config::file()) {
|
||||
config.decrypt_password();
|
||||
if Config::set(config) {
|
||||
if store_path(Config::file(), config).is_err() {
|
||||
log::info!("config written");
|
||||
}
|
||||
}
|
||||
let mut config2: Config2 = load_path(path2.into());
|
||||
let config2: Config2 = load_path(path2.into());
|
||||
if get_modified_time(&path2) > get_modified_time(&Config2::file()) {
|
||||
config2.decrypt_password();
|
||||
if Config2::set(config2) {
|
||||
if store_path(Config2::file(), config2).is_err() {
|
||||
log::info!("config2 written");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
use crate::client::file_trait::FileManager;
|
||||
use crate::common::make_fd_to_json;
|
||||
use crate::mobile::connection_manager::{self, get_clients_length, get_clients_state};
|
||||
use crate::mobile::{self, Session};
|
||||
use crate::common::{make_fd_to_json};
|
||||
use flutter_rust_bridge::{StreamSink, ZeroCopyBuffer};
|
||||
use hbb_common::{ResultType, init_uuid};
|
||||
use hbb_common::password_security::password;
|
||||
use hbb_common::{
|
||||
config::{self, Config, LocalConfig, PeerConfig, ONLINE},
|
||||
fs, log,
|
||||
fs, log, password_security as password, ResultType,
|
||||
};
|
||||
use serde_json::{Number, Value};
|
||||
use std::{
|
||||
@@ -31,7 +29,6 @@ fn initialize(app_dir: &str) {
|
||||
init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "debug"));
|
||||
}
|
||||
*config::APP_DIR.write().unwrap() = app_dir.to_owned();
|
||||
init_uuid();
|
||||
crate::common::test_rendezvous_server();
|
||||
crate::common::test_nat_type();
|
||||
#[cfg(target_os = "android")]
|
||||
@@ -462,9 +459,7 @@ unsafe extern "C" fn set_by_name(name: *const c_char, value: *const c_char) {
|
||||
}
|
||||
}
|
||||
// Server Side
|
||||
"permanent_password" => {
|
||||
Config::set_permanent_password(value)
|
||||
}
|
||||
"permanent_password" => Config::set_permanent_password(value),
|
||||
"temporary_password" => {
|
||||
password::update_temporary_password();
|
||||
}
|
||||
|
||||
@@ -7,15 +7,14 @@ use crate::video_service;
|
||||
#[cfg(any(target_os = "android", target_os = "ios"))]
|
||||
use crate::{common::MOBILE_INFO2, mobile::connection_manager::start_channel};
|
||||
use crate::{ipc, VERSION};
|
||||
use hbb_common::fs::can_enable_overwrite_detection;
|
||||
use hbb_common::password_security::password;
|
||||
use hbb_common::{
|
||||
config::Config,
|
||||
fs,
|
||||
fs::can_enable_overwrite_detection,
|
||||
futures::{SinkExt, StreamExt},
|
||||
get_version_number,
|
||||
message_proto::{option_message::BoolOption, permission_info::Permission},
|
||||
sleep, timeout,
|
||||
password_security as password, sleep, timeout,
|
||||
tokio::{
|
||||
net::TcpStream,
|
||||
sync::mpsc,
|
||||
|
||||
Reference in New Issue
Block a user