diff --git a/Cargo.lock b/Cargo.lock index c23208e7..616e550b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1879,8 +1879,8 @@ dependencies = [ "base64 0.21.7", "libc", "log", - "netlink-packet-core 0.7.0", - "netlink-packet-generic 0.3.3", + "netlink-packet-core", + "netlink-packet-generic", "netlink-packet-route 0.17.1", "netlink-packet-utils", "netlink-packet-wireguard", @@ -2304,7 +2304,7 @@ dependencies = [ "moka", "multimap", "natpmp", - "netlink-packet-core 0.7.0", + "netlink-packet-core", "netlink-packet-route 0.21.0", "netlink-packet-utils", "netlink-sys", @@ -5150,7 +5150,7 @@ dependencies = [ "dlopen2 0.5.0", "ipnet", "libc", - "netlink-packet-core 0.7.0", + "netlink-packet-core", "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", @@ -5169,15 +5169,6 @@ dependencies = [ "netlink-packet-utils", ] -[[package]] -name = "netlink-packet-core" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3463cbb78394cb0141e2c926b93fc2197e473394b761986eca3b9da2c63ae0f4" -dependencies = [ - "paste", -] - [[package]] name = "netlink-packet-generic" version = "0.3.3" @@ -5186,19 +5177,10 @@ checksum = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b" dependencies = [ "anyhow", "byteorder", - "netlink-packet-core 0.7.0", + "netlink-packet-core", "netlink-packet-utils", ] -[[package]] -name = "netlink-packet-generic" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f891b2e0054cac5a684a06628f59568f841c93da4e551239da6e518f539e775" -dependencies = [ - "netlink-packet-core 0.8.1", -] - [[package]] name = "netlink-packet-route" version = "0.17.1" @@ -5209,7 +5191,7 @@ dependencies = [ "bitflags 1.3.2", "byteorder", "libc", - "netlink-packet-core 0.7.0", + "netlink-packet-core", "netlink-packet-utils", ] @@ -5224,7 +5206,7 @@ dependencies = [ "byteorder", "libc", "log", - "netlink-packet-core 0.7.0", + "netlink-packet-core", "netlink-packet-utils", ] @@ -5242,14 +5224,16 @@ dependencies = [ [[package]] name = "netlink-packet-wireguard" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598962d9067d3153a00106da10e7b8276cea68f396f4a22f5b4a079270d92e29" +checksum = "60b25b050ff1f6a1e23c6777b72db22790fe5b6b5ccfd3858672587a79876c8f" dependencies = [ + "anyhow", + "byteorder", "libc", "log", - "netlink-packet-core 0.8.1", - "netlink-packet-generic 0.4.0", + "netlink-packet-generic", + "netlink-packet-utils", ] [[package]] diff --git a/easytier/src/instance/dns_server/server_instance.rs b/easytier/src/instance/dns_server/server_instance.rs index fbd6ab84..4c077e92 100644 --- a/easytier/src/instance/dns_server/server_instance.rs +++ b/easytier/src/instance/dns_server/server_instance.rs @@ -277,7 +277,10 @@ impl ResponseHandler for ResponseWrapper { let mut encoder = BinEncoder::new(&mut buffer); // `max_size` should be u16::MAX for protocol other than UDP. - let max_size = dns_udp::MAX_RECEIVE_BUFFER_SIZE as u16; + let max_size = response + .edns() + .map(|edns| edns.max_payload()) + .unwrap_or(dns_udp::MAX_RECEIVE_BUFFER_SIZE as u16); encoder.set_max_size(max_size); response