fix: more cleaning up for FreeBSD

This commit is contained in:
Andrew Rioux
2024-09-19 02:42:32 -04:00
parent f6428b92fe
commit 1dfd7e0499
12 changed files with 58 additions and 29 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "sparse-05-server"
version = "0.5.0"
version = "0.7.0"
edition = "2021"
[dependencies]
@@ -13,7 +13,7 @@ libc = { version = "0.2.147" }
serde = { version = "1.0.188", features = ["derive"] }
rmp-serde = "1.1.2"
catconf = "0.1.2"
sparse-05-common = { version = "0.1.0", path = "../sparse-05-common" }
sparse-05-common = { version = "0.7.0", path = "../sparse-05-common" }
ecies-ed25519 = { version = "0.5.1", features = ["serde"] }
packets = { path = "../../packets" }
pcap-sys = { path = "../../pcap-sys", optional = true }

View File

@@ -34,7 +34,7 @@ impl Interface {
.ok_or(anyhow!("could not get an ethernet interface"))?
} else {
interfaces
.find(|eth| eth.starts_with("eth") || eth.starts_with("en"))
.find(|eth| eth.starts_with("eth") || eth.starts_with("en") || eth.starts_with("vtnet") || eth.starts_with("vmx"))
.ok_or(anyhow!("could not get an ethernet interface"))?
};
@@ -57,27 +57,24 @@ impl Interface {
}};
}
log::debug!("opening interface {interface_name}...");
let mut interface = retry!(pcap_sys::Interface::<pcap_sys::DevDisabled>::new(
&interface_name
));
retry!(interface.set_buffer_size(1024));
retry!(interface.set_buffer_size(2048));
retry!(interface.set_non_blocking(false));
retry!(interface.set_promisc(false));
retry!(interface.set_timeout(10));
log::debug!("Configured raw listener interface");
let interface = retry!(interface.activate());
log::debug!("Activated raw listener interface");
if cfg!(windows) {
retry!(interface.set_filter(&format!("udp port {port}"), true, None));
} else {
log::debug!("setting pcap filter");
if cfg!(linux) {
retry!(interface.set_filter(&format!("inbound and udp port {port}"), true, None));
} else {
retry!(interface.set_filter(&format!("udp port {port}"), true, None));
}
log::debug!("Updated filter for listener interface");
if interface.datalink() != pcap_sys::consts::DLT_EN10MB {