fix: more cleaning up for FreeBSD
This commit is contained in:
@@ -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 }
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user