From acba129cd6d3894f40f355cde36a00c2dd5b7636 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Tue, 3 Jun 2025 11:56:53 +0200 Subject: [PATCH] Bump to hickory-resolver 0.26 --- Cargo.lock | 120 ++++++---------------- crates/cli/Cargo.toml | 2 +- crates/common/Cargo.toml | 4 +- crates/common/src/config/smtp/resolver.rs | 17 +-- crates/http/Cargo.toml | 2 +- crates/jmap/Cargo.toml | 2 +- crates/migration/Cargo.toml | 2 +- crates/smtp/Cargo.toml | 2 +- crates/spam-filter/Cargo.toml | 2 +- crates/trc/Cargo.toml | 2 +- crates/utils/Cargo.toml | 2 +- tests/Cargo.toml | 2 +- 12 files changed, 52 insertions(+), 107 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f41d046c..3bd772f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1332,7 +1332,7 @@ dependencies = [ "whatlang", "x509-parser 0.17.0", "xxhash-rust", - "zip 3.0.0", + "zip", ] [[package]] @@ -1475,21 +1475,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - [[package]] name = "crc16" version = "0.4.0" @@ -3041,9 +3026,9 @@ dependencies = [ [[package]] name = "hickory-proto" -version = "0.25.2" +version = "0.26.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +checksum = "a62d7684f766b0f96344be88c023f9b6650039aea09d526b4974cce302eb61b1" dependencies = [ "async-trait", "bitflags 2.9.1", @@ -3072,13 +3057,13 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.25.2" +version = "0.26.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +checksum = "bbab5e26a7f82341145ba1fbd1f1858d0490624fcc46270db2d3c4a101f763f4" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.2", + "hickory-proto 0.26.0-alpha.1", "ipconfig", "moka", "once_cell", @@ -4148,6 +4133,26 @@ dependencies = [ "windows-targets 0.53.0", ] +[[package]] +name = "liblzma" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66352d7a8ac12d4877b6e6ea5a9b7650ee094257dc40889955bea5bc5b08c1d0" +dependencies = [ + "liblzma-sys", +] + +[[package]] +name = "liblzma-sys" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5839bad90c3cc2e0b8c4ed8296b80e86040240f81d46b9c0e9bc8dd51ddd3af1" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "libm" version = "0.2.15" @@ -4301,32 +4306,11 @@ dependencies = [ "twox-hash 1.6.3", ] -[[package]] -name = "lzma-rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" -dependencies = [ - "byteorder", - "crc", -] - -[[package]] -name = "lzma-sys" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "mail-auth" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "948946ae9bf1bb98f6101dad1a6b473f140eeb633e74d48c732464796924073b" +checksum = "628034968911ec4ac1d03468d55113c182af3848b4f6da19e736c5fa2bc684a3" dependencies = [ "ahash", "flate2", @@ -4342,7 +4326,7 @@ dependencies = [ "rustls-pemfile 2.2.0", "serde", "serde_json", - "zip 2.4.2", + "zip", ] [[package]] @@ -9657,15 +9641,6 @@ version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" -[[package]] -name = "xz2" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" -dependencies = [ - "lzma-sys", -] - [[package]] name = "yasna" version = "0.5.2" @@ -10236,39 +10211,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.4.2" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" -dependencies = [ - "aes", - "arbitrary", - "bzip2", - "constant_time_eq", - "crc32fast", - "crossbeam-utils", - "deflate64", - "displaydoc", - "flate2", - "getrandom 0.3.3", - "hmac 0.12.1", - "indexmap 2.9.0", - "lzma-rs", - "memchr", - "pbkdf2", - "sha1", - "thiserror 2.0.12", - "time", - "xz2", - "zeroize", - "zopfli", - "zstd", -] - -[[package]] -name = "zip" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308" +checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd" dependencies = [ "aes", "arbitrary", @@ -10280,12 +10225,11 @@ dependencies = [ "getrandom 0.3.3", "hmac 0.12.1", "indexmap 2.9.0", - "lzma-rs", + "liblzma", "memchr", "pbkdf2", "sha1", "time", - "xz2", "zeroize", "zopfli", "zstd", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index feb0c4ca..3c255dde 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -29,4 +29,4 @@ human-size = "0.4.2" futures = "0.3.28" pwhash = "1.0.0" rand = "0.9.0" -mail-auth = { version = "0.7" } +mail-auth = { version = "0.7.1" } diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index ee7cc8c9..26edcea1 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -15,7 +15,7 @@ imap_proto = { path = "../imap-proto" } sieve-rs = { version = "0.7", features = ["rkyv", "serde"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.7" } +mail-auth = { version = "0.7.1" } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } smtp-proto = { version = "0.1", features = ["rkyv"] } dns-update = { version = "0.1" } @@ -57,7 +57,7 @@ unicode-security = "0.1.0" infer = "0.19" bincode = { version = "2.0", features = ["serde"] } hostname = "0.4.0" -zip = "3.0" +zip = "4.0" pwhash = "1.0.0" xxhash-rust = { version = "0.8.5", features = ["xxh3"] } psl = "2" diff --git a/crates/common/src/config/smtp/resolver.rs b/crates/common/src/config/smtp/resolver.rs index 463d9ea8..fc07f861 100644 --- a/crates/common/src/config/smtp/resolver.rs +++ b/crates/common/src/config/smtp/resolver.rs @@ -15,9 +15,8 @@ use mail_auth::{ MessageAuthenticator, hickory_resolver::{ TokioResolver, - config::{NameServerConfig, ResolverConfig, ResolverOpts}, + config::{NameServerConfig, ProtocolConfig, ResolverConfig, ResolverOpts}, name_server::TokioConnectionProvider, - proto::xfer::Protocol, system_conf::read_system_conf, }, }; @@ -119,7 +118,7 @@ impl Resolvers { }) .unwrap_or_else(|_| (ResolverConfig::cloudflare(), ResolverOpts::default())), "custom" => { - let mut resolver_config = ResolverConfig::new(); + let mut resolver_config = ResolverConfig::default(); for url in config .values("resolver.custom") .map(|(_, v)| v.to_string()) @@ -131,21 +130,23 @@ impl Resolvers { { ( match proto.as_str() { - "udp" => Protocol::Udp, - "tcp" => Protocol::Tcp, - "tls" => Protocol::Tls, + "udp" => ProtocolConfig::Udp, + "tcp" => ProtocolConfig::Tcp, + "tls" => ProtocolConfig::Tls { + server_name: host.clone().into(), + }, _ => { config.new_parse_error( "resolver.custom", format!("Invalid custom resolver protocol {url:?}"), ); - Protocol::Udp + ProtocolConfig::Udp } }, host.to_string(), ) } else { - (Protocol::Udp, url) + (ProtocolConfig::Udp, url) }; let (host, port) = if let Some(host) = host.strip_prefix('[') { diff --git a/crates/http/Cargo.toml b/crates/http/Cargo.toml index 50b04f1d..32f16e36 100644 --- a/crates/http/Cargo.toml +++ b/crates/http/Cargo.toml @@ -22,7 +22,7 @@ services = { path = "../services" } smtp-proto = { version = "0.1" } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.7", features = ["generate"] } +mail-auth = { version = "0.7.1", features = ["generate"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } tokio = { version = "1.45", features = ["rt"] } hyper = { version = "1.0.1", features = ["server", "http1", "http2"] } diff --git a/crates/jmap/Cargo.toml b/crates/jmap/Cargo.toml index 7b35e9d8..be5c3842 100644 --- a/crates/jmap/Cargo.toml +++ b/crates/jmap/Cargo.toml @@ -21,7 +21,7 @@ smtp-proto = { version = "0.1" } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-builder = { version = "0.4" } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } -mail-auth = { version = "0.7", features = ["generate"] } +mail-auth = { version = "0.7.1", features = ["generate"] } sieve-rs = { version = "0.7", features = ["rkyv"] } serde = { version = "1.0", features = ["derive"]} serde_json = "1.0" diff --git a/crates/migration/Cargo.toml b/crates/migration/Cargo.toml index 65639902..9ed4658e 100644 --- a/crates/migration/Cargo.toml +++ b/crates/migration/Cargo.toml @@ -15,7 +15,7 @@ email = { path = "../email" } directory = { path = "../directory" } smtp = { path = "../smtp" } mail-parser = { version = "0.11", features = ["full_encoding"] } -mail-auth = { version = "0.7", features = ["rkyv"] } +mail-auth = { version = "0.7.1", features = ["rkyv"] } sieve-rs = { version = "0.7", features = ["rkyv"] } tokio = { version = "1.45", features = ["net", "macros"] } serde = { version = "1.0", features = ["derive"]} diff --git a/crates/smtp/Cargo.toml b/crates/smtp/Cargo.toml index 95b3ed30..e3c9e5f4 100644 --- a/crates/smtp/Cargo.toml +++ b/crates/smtp/Cargo.toml @@ -20,7 +20,7 @@ common = { path = "../common" } email = { path = "../email" } spam-filter = { path = "../spam-filter" } trc = { path = "../trc" } -mail-auth = { version = "0.7", features = ["rkyv"] } +mail-auth = { version = "0.7.1", features = ["rkyv"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } diff --git a/crates/spam-filter/Cargo.toml b/crates/spam-filter/Cargo.toml index d289501a..401bf5a7 100644 --- a/crates/spam-filter/Cargo.toml +++ b/crates/spam-filter/Cargo.toml @@ -13,7 +13,7 @@ common = { path = "../common" } smtp-proto = { version = "0.1", features = ["rkyv"] } mail-parser = { version = "0.11", features = ["full_encoding"] } mail-builder = { version = "0.4" } -mail-auth = { version = "0.7" } +mail-auth = { version = "0.7.1" } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } tokio = { version = "1.45", features = ["net", "macros"] } psl = "2" diff --git a/crates/trc/Cargo.toml b/crates/trc/Cargo.toml index bd4036de..cda1ac53 100644 --- a/crates/trc/Cargo.toml +++ b/crates/trc/Cargo.toml @@ -6,7 +6,7 @@ resolver = "2" [dependencies] event_macro = { path = "./event-macro" } -mail-auth = { version = "0.7" } +mail-auth = { version = "0.7.1" } mail-parser = { version = "0.11", features = ["full_encoding"] } base64 = "0.22.1" serde = "1.0" diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index 7845bd3f..f41ea7ad 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -12,7 +12,7 @@ rustls-pki-types = { version = "1" } tokio = { version = "1.45", features = ["net", "macros", "signal"] } tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12"] } serde = { version = "1.0", features = ["derive"]} -mail-auth = { version = "0.7" } +mail-auth = { version = "0.7.1" } smtp-proto = { version = "0.1" } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } ahash = { version = "0.8", features = ["serde"] } diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 22c2a336..7933f1e6 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -44,7 +44,7 @@ trc = { path = "../crates/trc" } managesieve = { path = "../crates/managesieve", features = ["test_mode", "enterprise"] } smtp-proto = { version = "0.1" } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } -mail-auth = { version = "0.7", features = ["test"] } +mail-auth = { version = "0.7.1", features = ["test"] } sieve-rs = { version = "0.7", features = ["rkyv"] } utils = { path = "../crates/utils", features = ["test_mode"] } jmap-client = { version = "0.3", features = ["websockets", "debug", "async"] }