mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
@@ -1678,13 +1678,19 @@ pub struct AbPeer {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
|
||||
pub struct Ab {
|
||||
pub struct AbEntry {
|
||||
#[serde(
|
||||
default,
|
||||
deserialize_with = "deserialize_string",
|
||||
skip_serializing_if = "String::is_empty"
|
||||
)]
|
||||
pub access_token: String,
|
||||
pub guid: String,
|
||||
#[serde(
|
||||
default,
|
||||
deserialize_with = "deserialize_string",
|
||||
skip_serializing_if = "String::is_empty"
|
||||
)]
|
||||
pub name: String,
|
||||
#[serde(default, deserialize_with = "deserialize_vec_abpeer")]
|
||||
pub peers: Vec<AbPeer>,
|
||||
#[serde(default, deserialize_with = "deserialize_vec_string")]
|
||||
@@ -1697,6 +1703,24 @@ pub struct Ab {
|
||||
pub tag_colors: String,
|
||||
}
|
||||
|
||||
impl AbEntry {
|
||||
pub fn personal(&self) -> bool {
|
||||
self.name == "My address book" || self.name == "Legacy address book"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
|
||||
pub struct Ab {
|
||||
#[serde(
|
||||
default,
|
||||
deserialize_with = "deserialize_string",
|
||||
skip_serializing_if = "String::is_empty"
|
||||
)]
|
||||
pub access_token: String,
|
||||
#[serde(default, deserialize_with = "deserialize_vec_abentry")]
|
||||
pub ab_entries: Vec<AbEntry>,
|
||||
}
|
||||
|
||||
impl Ab {
|
||||
fn path() -> PathBuf {
|
||||
let filename = format!("{}_ab", APP_NAME.read().unwrap().clone());
|
||||
@@ -1709,6 +1733,7 @@ impl Ab {
|
||||
let max_len = 64 * 1024 * 1024;
|
||||
if data.len() > max_len {
|
||||
// maxlen of function decompress
|
||||
log::error!("ab data too large, {} > {}", data.len(), max_len);
|
||||
return;
|
||||
}
|
||||
if let Ok(data) = symmetric_crypt(&data, true) {
|
||||
@@ -1858,6 +1883,7 @@ deserialize_default!(deserialize_vec_string, Vec<String>);
|
||||
deserialize_default!(deserialize_vec_i32_string_i32, Vec<(i32, String, i32)>);
|
||||
deserialize_default!(deserialize_vec_discoverypeer, Vec<DiscoveryPeer>);
|
||||
deserialize_default!(deserialize_vec_abpeer, Vec<AbPeer>);
|
||||
deserialize_default!(deserialize_vec_abentry, Vec<AbEntry>);
|
||||
deserialize_default!(deserialize_vec_groupuser, Vec<GroupUser>);
|
||||
deserialize_default!(deserialize_vec_grouppeer, Vec<GroupPeer>);
|
||||
deserialize_default!(deserialize_keypair, KeyPair);
|
||||
|
||||
Reference in New Issue
Block a user