chore: update dependencies for RustSec advisories
This commit is contained in:
Generated
+584
-591
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -32,7 +32,7 @@ name = "pixelpass"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
iroh = "1.0.0-rc.0"
|
||||
iroh = "1.0.2"
|
||||
tokio = { version = "1", features = ["macros", "rt-multi-thread", "io-util", "net", "signal", "process", "sync", "time"] }
|
||||
tokio-util = { version = "0.7", features = ["io"] }
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
@@ -48,7 +48,7 @@ ashpd = { version = "0.9", default-features = false, features = ["tokio"] }
|
||||
pipewire = "0.9"
|
||||
x11rb = { version = "0.13", default-features = false, features = ["allow-unsafe-code"] }
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
iroh-tickets = "1.0.0-rc.0"
|
||||
iroh-tickets = "1.0.0"
|
||||
dialoguer = { version = "0.12", default-features = false }
|
||||
arboard = { version = "3", default-features = false, features = ["wayland-data-control"] }
|
||||
ureq = { version = "3", default-features = false, features = ["rustls"] }
|
||||
|
||||
+49
-22
@@ -191,8 +191,7 @@ fn encode_section() -> Section {
|
||||
/// no video — the exact silent failure `--no-hwencode` works around.
|
||||
fn hardware_encode_check() -> Check {
|
||||
if !deps::gst_element_exists("vah264enc") {
|
||||
return Check::warn("hardware H.264", "vah264enc plugin not installed")
|
||||
.with_hint(format!(
|
||||
return Check::warn("hardware H.264", "vah264enc plugin not installed").with_hint(format!(
|
||||
"{} — or just host with `--no-hwencode` (software x264)",
|
||||
deps::install_hint_for_gst_element("vah264enc")
|
||||
));
|
||||
@@ -207,9 +206,10 @@ fn hardware_encode_check() -> Check {
|
||||
}
|
||||
|
||||
match vainfo_output() {
|
||||
Some(out) if vainfo_has_h264_encode(&out) => {
|
||||
Check::ok("hardware H.264", "VA-API H.264 encode available (vah264enc)")
|
||||
}
|
||||
Some(out) if vainfo_has_h264_encode(&out) => Check::ok(
|
||||
"hardware H.264",
|
||||
"VA-API H.264 encode available (vah264enc)",
|
||||
),
|
||||
Some(_) => Check::warn(
|
||||
"hardware H.264",
|
||||
"vah264enc present, but VA-API reports no H.264 encode entrypoint",
|
||||
@@ -237,15 +237,28 @@ fn software_encode_check() -> Check {
|
||||
fn mux_audio_section() -> Section {
|
||||
// These live in plugins-bad/-good/-libav and plugins-base; all are required
|
||||
// for either backend, so a miss here is a hard Fail.
|
||||
let tail = ["h264parse", "mpegtsmux", "aacparse", "avenc_aac", "pulsesrc", "videoscale"];
|
||||
let missing: Vec<&str> = tail.iter().copied().filter(|e| !deps::gst_element_exists(e)).collect();
|
||||
let tail = [
|
||||
"h264parse",
|
||||
"mpegtsmux",
|
||||
"aacparse",
|
||||
"avenc_aac",
|
||||
"pulsesrc",
|
||||
"videoscale",
|
||||
];
|
||||
let missing: Vec<&str> = tail
|
||||
.iter()
|
||||
.copied()
|
||||
.filter(|e| !deps::gst_element_exists(e))
|
||||
.collect();
|
||||
|
||||
let tail_check = if missing.is_empty() {
|
||||
Check::ok("mux + audio tail", tail.join(", "))
|
||||
} else {
|
||||
Check::fail("mux + audio tail", format!("missing: {}", missing.join(", "))).with_hint(
|
||||
deps::install_hint_for_gst_element(missing[0]),
|
||||
Check::fail(
|
||||
"mux + audio tail",
|
||||
format!("missing: {}", missing.join(", ")),
|
||||
)
|
||||
.with_hint(deps::install_hint_for_gst_element(missing[0]))
|
||||
};
|
||||
|
||||
Section {
|
||||
@@ -278,7 +291,9 @@ fn viewer_section() -> Section {
|
||||
async fn network_section(relay: Option<&str>) -> Section {
|
||||
let check = match endpoint::bind(relay).await {
|
||||
Ok(ep) => {
|
||||
let online = tokio::time::timeout(Duration::from_secs(8), ep.online()).await.is_ok();
|
||||
let online = tokio::time::timeout(Duration::from_secs(8), ep.online())
|
||||
.await
|
||||
.is_ok();
|
||||
let relay_count = ep.addr().addrs.iter().filter(|a| a.is_relay()).count();
|
||||
let where_ = relay.map(|r| format!(" ({r})")).unwrap_or_default();
|
||||
// Close gracefully so iroh doesn't log a scary "Endpoint dropped
|
||||
@@ -288,11 +303,17 @@ async fn network_section(relay: Option<&str>) -> Section {
|
||||
if online && relay_count > 0 {
|
||||
Check::ok("relay", format!("home relay reachable{where_}"))
|
||||
} else if online {
|
||||
Check::warn("relay", format!("endpoint online but no relay address{where_}"))
|
||||
.with_hint("n0 DNS discovery may still connect peers, but relay fallback is degraded")
|
||||
Check::warn(
|
||||
"relay",
|
||||
format!("endpoint online but no relay address{where_}"),
|
||||
)
|
||||
.with_hint(
|
||||
"n0 DNS discovery may still connect peers, but relay fallback is degraded",
|
||||
)
|
||||
} else {
|
||||
Check::warn("relay", format!("no relay connected within 8s{where_}"))
|
||||
.with_hint("check connectivity/firewall; peers behind NAT rely on the relay to rendezvous")
|
||||
Check::warn("relay", format!("no relay connected within 8s{where_}")).with_hint(
|
||||
"check connectivity/firewall; peers behind NAT rely on the relay to rendezvous",
|
||||
)
|
||||
}
|
||||
}
|
||||
Err(e) => Check::fail("relay", format!("could not bind endpoint: {e}")),
|
||||
@@ -318,7 +339,10 @@ fn gst_check(element: &str, label: &str) -> Check {
|
||||
if deps::gst_element_exists(element) {
|
||||
Check::ok(label, element.to_string())
|
||||
} else {
|
||||
Check::fail(label, format!("GStreamer element `{element}` not available"))
|
||||
Check::fail(
|
||||
label,
|
||||
format!("GStreamer element `{element}` not available"),
|
||||
)
|
||||
.with_hint(deps::install_hint_for_gst_element(element))
|
||||
}
|
||||
}
|
||||
@@ -392,7 +416,12 @@ fn os_release_field(key: &str) -> Option<String> {
|
||||
|
||||
fn display_env_summary() -> String {
|
||||
let mut parts = Vec::new();
|
||||
for var in ["WAYLAND_DISPLAY", "DISPLAY", "XDG_SESSION_TYPE", "XDG_CURRENT_DESKTOP"] {
|
||||
for var in [
|
||||
"WAYLAND_DISPLAY",
|
||||
"DISPLAY",
|
||||
"XDG_SESSION_TYPE",
|
||||
"XDG_CURRENT_DESKTOP",
|
||||
] {
|
||||
if let Some(v) = std::env::var_os(var) {
|
||||
parts.push(format!("{var}={}", v.to_string_lossy()));
|
||||
}
|
||||
@@ -408,11 +437,9 @@ fn has_render_node() -> bool {
|
||||
let Ok(entries) = std::fs::read_dir("/dev/dri") else {
|
||||
return false;
|
||||
};
|
||||
entries.flatten().any(|e| {
|
||||
e.file_name()
|
||||
.to_string_lossy()
|
||||
.starts_with("renderD")
|
||||
})
|
||||
entries
|
||||
.flatten()
|
||||
.any(|e| e.file_name().to_string_lossy().starts_with("renderD"))
|
||||
}
|
||||
|
||||
fn vainfo_output() -> Option<String> {
|
||||
@@ -559,7 +586,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn summarize_counts_fails_and_warns_only() {
|
||||
let checks = vec![
|
||||
let checks = [
|
||||
Check::ok("a", "x"),
|
||||
Check::info("b", "x"),
|
||||
Check::warn("c", "x"),
|
||||
|
||||
Reference in New Issue
Block a user