default-connect-password option
This commit is contained in:
parent
22c6f5e589
commit
97f26f880b
@ -2113,6 +2113,7 @@ pub mod keys {
|
||||
pub const OPTION_HIDE_PROXY_SETTINGS: &str = "hide-proxy-settings";
|
||||
pub const OPTION_HIDE_USERNAME_ON_CARD: &str = "hide-username-on-card";
|
||||
pub const OPTION_HIDE_HELP_CARDS: &str = "hide-help-cards";
|
||||
pub const OPTION_DEFAULT_CONNECT_PASSWORD: &str = "default-connect-password";
|
||||
|
||||
// flutter local options
|
||||
pub const OPTION_FLUTTER_REMOTE_MENUBAR_STATE: &str = "remoteMenubarState";
|
||||
@ -2254,6 +2255,7 @@ pub mod keys {
|
||||
OPTION_HIDE_PROXY_SETTINGS,
|
||||
OPTION_HIDE_USERNAME_ON_CARD,
|
||||
OPTION_HIDE_HELP_CARDS,
|
||||
OPTION_DEFAULT_CONNECT_PASSWORD,
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -543,7 +543,7 @@ impl Client {
|
||||
conn: &mut Stream,
|
||||
) -> ResultType<Option<Vec<u8>>> {
|
||||
let rs_pk = get_rs_pk(if key.is_empty() {
|
||||
hbb_common::config::RS_PUB_KEY
|
||||
config::RS_PUB_KEY
|
||||
} else {
|
||||
key
|
||||
});
|
||||
@ -2625,7 +2625,7 @@ struct LoginErrorMsgBox {
|
||||
|
||||
lazy_static::lazy_static! {
|
||||
static ref LOGIN_ERROR_MAP: Arc<HashMap<&'static str, LoginErrorMsgBox>> = {
|
||||
use hbb_common::config::LINK_HEADLESS_LINUX_SUPPORT;
|
||||
use config::LINK_HEADLESS_LINUX_SUPPORT;
|
||||
let map = HashMap::from([(LOGIN_SCREEN_WAYLAND, LoginErrorMsgBox{
|
||||
msgtype: "error",
|
||||
title: "Login Error",
|
||||
@ -2791,6 +2791,20 @@ pub async fn handle_hash(
|
||||
if password.is_empty() {
|
||||
try_get_password_from_personal_ab(lc.clone(), &mut password);
|
||||
}
|
||||
|
||||
if password.is_empty() {
|
||||
let p =
|
||||
crate::ui_interface::get_buildin_option(config::keys::OPTION_DEFAULT_CONNECT_PASSWORD);
|
||||
if !p.is_empty() {
|
||||
let mut hasher = Sha256::new();
|
||||
hasher.update(p.clone());
|
||||
hasher.update(&hash.salt);
|
||||
let res = hasher.finalize();
|
||||
password = res[..].into();
|
||||
lc.write().unwrap().password_source = PasswordSource::SharedAb(p); // reuse SharedAb here
|
||||
}
|
||||
}
|
||||
|
||||
lc.write().unwrap().password = password.clone();
|
||||
let password = if password.is_empty() {
|
||||
// login without password, the remote side can click accept
|
||||
@ -2813,7 +2827,7 @@ pub async fn handle_hash(
|
||||
#[inline]
|
||||
fn try_get_password_from_personal_ab(lc: Arc<RwLock<LoginConfigHandler>>, password: &mut Vec<u8>) {
|
||||
let access_token = LocalConfig::get_option("access_token");
|
||||
let ab = hbb_common::config::Ab::load();
|
||||
let ab = config::Ab::load();
|
||||
if !access_token.is_empty() && access_token == ab.access_token {
|
||||
let id = lc.read().unwrap().id.clone();
|
||||
if let Some(ab) = ab.ab_entries.iter().find(|a| a.personal()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user