mirror of
https://github.com/rustdesk/hbb_common.git
synced 2025-07-01 15:36:53 +00:00
fix sync socks from advanced options to config file
Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
parent
6e556f7e17
commit
cbaaf6f75f
@ -1069,10 +1069,47 @@ impl Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_socks(socks: Option<Socks5Server>) {
|
pub fn set_socks(socks: Option<Socks5Server>) {
|
||||||
|
if OVERWRITE_SETTINGS
|
||||||
|
.read()
|
||||||
|
.unwrap()
|
||||||
|
.contains_key(keys::OPTION_PROXY_URL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let mut config = CONFIG2.write().unwrap();
|
let mut config = CONFIG2.write().unwrap();
|
||||||
if config.socks == socks {
|
if config.socks == socks {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if config.socks.is_none() {
|
||||||
|
let equal_to_default = |key: &str, value: &str| {
|
||||||
|
DEFAULT_SETTINGS
|
||||||
|
.read()
|
||||||
|
.unwrap()
|
||||||
|
.get(key)
|
||||||
|
.map_or(false, |x| *x == value)
|
||||||
|
};
|
||||||
|
let contains_url = DEFAULT_SETTINGS
|
||||||
|
.read()
|
||||||
|
.unwrap()
|
||||||
|
.get(keys::OPTION_PROXY_URL)
|
||||||
|
.is_some();
|
||||||
|
let url = equal_to_default(
|
||||||
|
keys::OPTION_PROXY_URL,
|
||||||
|
&socks.clone().unwrap_or_default().proxy,
|
||||||
|
);
|
||||||
|
let username = equal_to_default(
|
||||||
|
keys::OPTION_PROXY_USERNAME,
|
||||||
|
&socks.clone().unwrap_or_default().username,
|
||||||
|
);
|
||||||
|
let password = equal_to_default(
|
||||||
|
keys::OPTION_PROXY_PASSWORD,
|
||||||
|
&socks.clone().unwrap_or_default().password,
|
||||||
|
);
|
||||||
|
if contains_url && url && username && password {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
config.socks = socks;
|
config.socks = socks;
|
||||||
config.store();
|
config.store();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user