mirror of
https://github.com/Drop-OSS/drop-app.git
synced 2025-11-12 15:52:43 +10:00
Compare commits
4 Commits
31f7d5bcfa
...
113-bug-li
| Author | SHA1 | Date | |
|---|---|---|---|
| fe456cc2ef | |||
| 42ff3b1331 | |||
| db485b946b | |||
| 346ee1dddc |
@ -486,6 +486,9 @@ fn run_on_tray<T: FnOnce()>(f: T) {
|
|||||||
if match std::env::var("NO_TRAY_ICON") {
|
if match std::env::var("NO_TRAY_ICON") {
|
||||||
Ok(s) => s.to_lowercase() != "true",
|
Ok(s) => s.to_lowercase() != "true",
|
||||||
Err(_) => true,
|
Err(_) => true,
|
||||||
|
} || match option_env!("NO_TRAY_ICON") {
|
||||||
|
Some(s) => s.to_lowercase() != "true",
|
||||||
|
None => true,
|
||||||
} {
|
} {
|
||||||
(f)();
|
(f)();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
use std::{
|
use std::{
|
||||||
fs::{self, File},
|
fs::{self, File},
|
||||||
io::Read,
|
io::{self, Read},
|
||||||
sync::{LazyLock, Mutex},
|
sync::{LazyLock, Mutex},
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
@ -22,33 +22,48 @@ struct DropHealthcheck {
|
|||||||
app_name: String,
|
app_name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
static DROP_CERT_BUNDLE: LazyLock<Vec<Certificate>> = LazyLock::new(fetch_certificates);
|
static DROP_CERT_BUNDLE: LazyLock<Vec<Certificate>> = LazyLock::new(|| {
|
||||||
|
fetch_certificates().unwrap_or_else(|e| panic!("Failed to fetch certificates with error {}", e))
|
||||||
|
});
|
||||||
pub static DROP_CLIENT_SYNC: LazyLock<reqwest::blocking::Client> = LazyLock::new(get_client_sync);
|
pub static DROP_CLIENT_SYNC: LazyLock<reqwest::blocking::Client> = LazyLock::new(get_client_sync);
|
||||||
pub static DROP_CLIENT_ASYNC: LazyLock<reqwest::Client> = LazyLock::new(get_client_async);
|
pub static DROP_CLIENT_ASYNC: LazyLock<reqwest::Client> = LazyLock::new(get_client_async);
|
||||||
pub static DROP_CLIENT_WS_CLIENT: LazyLock<reqwest::Client> = LazyLock::new(get_client_ws);
|
pub static DROP_CLIENT_WS_CLIENT: LazyLock<reqwest::Client> = LazyLock::new(get_client_ws);
|
||||||
|
|
||||||
fn fetch_certificates() -> Vec<Certificate> {
|
fn fetch_certificates() -> Result<Vec<Certificate>, io::Error> {
|
||||||
let certificate_dir = DATA_ROOT_DIR.join("certificates");
|
let certificate_dir = DATA_ROOT_DIR.join("certificates");
|
||||||
|
|
||||||
let mut certs = Vec::new();
|
let mut certs = Vec::new();
|
||||||
match fs::read_dir(certificate_dir) {
|
match fs::read_dir(&certificate_dir) {
|
||||||
Ok(c) => {
|
Ok(c) => {
|
||||||
for entry in c {
|
for entry in c {
|
||||||
match entry {
|
match entry {
|
||||||
Ok(c) => {
|
Ok(c) => {
|
||||||
let mut buf = Vec::new();
|
let mut buf = Vec::new();
|
||||||
File::open(c.path()).unwrap().read_to_end(&mut buf).unwrap();
|
File::open(c.path())?.read_to_end(&mut buf)?;
|
||||||
|
|
||||||
for cert in Certificate::from_pem_bundle(&buf).unwrap() {
|
for cert in match Certificate::from_pem_bundle(&buf) {
|
||||||
|
Ok(certificates) => certificates,
|
||||||
|
Err(e) => {
|
||||||
|
warn!("Could not parse pem bundle with error {}. Skipping", e);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} {
|
||||||
certs.push(cert);
|
certs.push(cert);
|
||||||
}
|
}
|
||||||
info!(
|
info!(
|
||||||
"added {} certificate(s) from {}",
|
"added {} certificate(s) from {}",
|
||||||
certs.len(),
|
certs.len(),
|
||||||
c.file_name().into_string().unwrap()
|
c.file_name().display().to_string()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Err(_) => todo!(),
|
Err(e) => {
|
||||||
|
warn!(
|
||||||
|
"Could not open directory entry {} in certificates with error {}",
|
||||||
|
certificate_dir.display(),
|
||||||
|
e
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,7 +71,7 @@ fn fetch_certificates() -> Vec<Certificate> {
|
|||||||
debug!("not loading certificates due to error: {e}");
|
debug!("not loading certificates due to error: {e}");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
certs
|
Ok(certs)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_client_sync() -> reqwest::blocking::Client {
|
pub fn get_client_sync() -> reqwest::blocking::Client {
|
||||||
|
|||||||
@ -38,6 +38,14 @@
|
|||||||
},
|
},
|
||||||
"wix": null
|
"wix": null
|
||||||
},
|
},
|
||||||
|
"linux": {
|
||||||
|
"appimage": {
|
||||||
|
"bundleMediaFramework": false,
|
||||||
|
"files": {
|
||||||
|
"/usr/lib/libayatana-appindicator3.so.1": "/usr/lib/libayatana-appindicator3.so.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"icon": [
|
"icon": [
|
||||||
"icons/32x32.png",
|
"icons/32x32.png",
|
||||||
"icons/128x128.png",
|
"icons/128x128.png",
|
||||||
|
|||||||
Reference in New Issue
Block a user