Bump to hickory-resolver 0.26

This commit is contained in:
mdecimus
2025-06-03 11:56:53 +02:00
parent fb1b95bb2a
commit acba129cd6
12 changed files with 52 additions and 107 deletions

120
Cargo.lock generated
View File

@@ -1332,7 +1332,7 @@ dependencies = [
"whatlang", "whatlang",
"x509-parser 0.17.0", "x509-parser 0.17.0",
"xxhash-rust", "xxhash-rust",
"zip 3.0.0", "zip",
] ]
[[package]] [[package]]
@@ -1475,21 +1475,6 @@ dependencies = [
"libc", "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]] [[package]]
name = "crc16" name = "crc16"
version = "0.4.0" version = "0.4.0"
@@ -3041,9 +3026,9 @@ dependencies = [
[[package]] [[package]]
name = "hickory-proto" name = "hickory-proto"
version = "0.25.2" version = "0.26.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" checksum = "a62d7684f766b0f96344be88c023f9b6650039aea09d526b4974cce302eb61b1"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bitflags 2.9.1", "bitflags 2.9.1",
@@ -3072,13 +3057,13 @@ dependencies = [
[[package]] [[package]]
name = "hickory-resolver" name = "hickory-resolver"
version = "0.25.2" version = "0.26.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" checksum = "bbab5e26a7f82341145ba1fbd1f1858d0490624fcc46270db2d3c4a101f763f4"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"futures-util", "futures-util",
"hickory-proto 0.25.2", "hickory-proto 0.26.0-alpha.1",
"ipconfig", "ipconfig",
"moka", "moka",
"once_cell", "once_cell",
@@ -4148,6 +4133,26 @@ dependencies = [
"windows-targets 0.53.0", "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]] [[package]]
name = "libm" name = "libm"
version = "0.2.15" version = "0.2.15"
@@ -4301,32 +4306,11 @@ dependencies = [
"twox-hash 1.6.3", "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]] [[package]]
name = "mail-auth" name = "mail-auth"
version = "0.7.0" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "948946ae9bf1bb98f6101dad1a6b473f140eeb633e74d48c732464796924073b" checksum = "628034968911ec4ac1d03468d55113c182af3848b4f6da19e736c5fa2bc684a3"
dependencies = [ dependencies = [
"ahash", "ahash",
"flate2", "flate2",
@@ -4342,7 +4326,7 @@ dependencies = [
"rustls-pemfile 2.2.0", "rustls-pemfile 2.2.0",
"serde", "serde",
"serde_json", "serde_json",
"zip 2.4.2", "zip",
] ]
[[package]] [[package]]
@@ -9657,15 +9641,6 @@ version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" 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]] [[package]]
name = "yasna" name = "yasna"
version = "0.5.2" version = "0.5.2"
@@ -10236,39 +10211,9 @@ dependencies = [
[[package]] [[package]]
name = "zip" name = "zip"
version = "2.4.2" version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd"
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"
dependencies = [ dependencies = [
"aes", "aes",
"arbitrary", "arbitrary",
@@ -10280,12 +10225,11 @@ dependencies = [
"getrandom 0.3.3", "getrandom 0.3.3",
"hmac 0.12.1", "hmac 0.12.1",
"indexmap 2.9.0", "indexmap 2.9.0",
"lzma-rs", "liblzma",
"memchr", "memchr",
"pbkdf2", "pbkdf2",
"sha1", "sha1",
"time", "time",
"xz2",
"zeroize", "zeroize",
"zopfli", "zopfli",
"zstd", "zstd",

View File

@@ -29,4 +29,4 @@ human-size = "0.4.2"
futures = "0.3.28" futures = "0.3.28"
pwhash = "1.0.0" pwhash = "1.0.0"
rand = "0.9.0" rand = "0.9.0"
mail-auth = { version = "0.7" } mail-auth = { version = "0.7.1" }

View File

@@ -15,7 +15,7 @@ imap_proto = { path = "../imap-proto" }
sieve-rs = { version = "0.7", features = ["rkyv", "serde"] } sieve-rs = { version = "0.7", features = ["rkyv", "serde"] }
mail-parser = { version = "0.11", features = ["full_encoding"] } mail-parser = { version = "0.11", features = ["full_encoding"] }
mail-builder = { version = "0.4" } 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"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
smtp-proto = { version = "0.1", features = ["rkyv"] } smtp-proto = { version = "0.1", features = ["rkyv"] }
dns-update = { version = "0.1" } dns-update = { version = "0.1" }
@@ -57,7 +57,7 @@ unicode-security = "0.1.0"
infer = "0.19" infer = "0.19"
bincode = { version = "2.0", features = ["serde"] } bincode = { version = "2.0", features = ["serde"] }
hostname = "0.4.0" hostname = "0.4.0"
zip = "3.0" zip = "4.0"
pwhash = "1.0.0" pwhash = "1.0.0"
xxhash-rust = { version = "0.8.5", features = ["xxh3"] } xxhash-rust = { version = "0.8.5", features = ["xxh3"] }
psl = "2" psl = "2"

View File

@@ -15,9 +15,8 @@ use mail_auth::{
MessageAuthenticator, MessageAuthenticator,
hickory_resolver::{ hickory_resolver::{
TokioResolver, TokioResolver,
config::{NameServerConfig, ResolverConfig, ResolverOpts}, config::{NameServerConfig, ProtocolConfig, ResolverConfig, ResolverOpts},
name_server::TokioConnectionProvider, name_server::TokioConnectionProvider,
proto::xfer::Protocol,
system_conf::read_system_conf, system_conf::read_system_conf,
}, },
}; };
@@ -119,7 +118,7 @@ impl Resolvers {
}) })
.unwrap_or_else(|_| (ResolverConfig::cloudflare(), ResolverOpts::default())), .unwrap_or_else(|_| (ResolverConfig::cloudflare(), ResolverOpts::default())),
"custom" => { "custom" => {
let mut resolver_config = ResolverConfig::new(); let mut resolver_config = ResolverConfig::default();
for url in config for url in config
.values("resolver.custom") .values("resolver.custom")
.map(|(_, v)| v.to_string()) .map(|(_, v)| v.to_string())
@@ -131,21 +130,23 @@ impl Resolvers {
{ {
( (
match proto.as_str() { match proto.as_str() {
"udp" => Protocol::Udp, "udp" => ProtocolConfig::Udp,
"tcp" => Protocol::Tcp, "tcp" => ProtocolConfig::Tcp,
"tls" => Protocol::Tls, "tls" => ProtocolConfig::Tls {
server_name: host.clone().into(),
},
_ => { _ => {
config.new_parse_error( config.new_parse_error(
"resolver.custom", "resolver.custom",
format!("Invalid custom resolver protocol {url:?}"), format!("Invalid custom resolver protocol {url:?}"),
); );
Protocol::Udp ProtocolConfig::Udp
} }
}, },
host.to_string(), host.to_string(),
) )
} else { } else {
(Protocol::Udp, url) (ProtocolConfig::Udp, url)
}; };
let (host, port) = if let Some(host) = host.strip_prefix('[') { let (host, port) = if let Some(host) = host.strip_prefix('[') {

View File

@@ -22,7 +22,7 @@ services = { path = "../services" }
smtp-proto = { version = "0.1" } smtp-proto = { version = "0.1" }
mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] }
mail-builder = { version = "0.4" } 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"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
tokio = { version = "1.45", features = ["rt"] } tokio = { version = "1.45", features = ["rt"] }
hyper = { version = "1.0.1", features = ["server", "http1", "http2"] } hyper = { version = "1.0.1", features = ["server", "http1", "http2"] }

View File

@@ -21,7 +21,7 @@ smtp-proto = { version = "0.1" }
mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] } mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] }
mail-builder = { version = "0.4" } mail-builder = { version = "0.4" }
mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } 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"] } sieve-rs = { version = "0.7", features = ["rkyv"] }
serde = { version = "1.0", features = ["derive"]} serde = { version = "1.0", features = ["derive"]}
serde_json = "1.0" serde_json = "1.0"

View File

@@ -15,7 +15,7 @@ email = { path = "../email" }
directory = { path = "../directory" } directory = { path = "../directory" }
smtp = { path = "../smtp" } smtp = { path = "../smtp" }
mail-parser = { version = "0.11", features = ["full_encoding"] } 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"] } sieve-rs = { version = "0.7", features = ["rkyv"] }
tokio = { version = "1.45", features = ["net", "macros"] } tokio = { version = "1.45", features = ["net", "macros"] }
serde = { version = "1.0", features = ["derive"]} serde = { version = "1.0", features = ["derive"]}

View File

@@ -20,7 +20,7 @@ common = { path = "../common" }
email = { path = "../email" } email = { path = "../email" }
spam-filter = { path = "../spam-filter" } spam-filter = { path = "../spam-filter" }
trc = { path = "../trc" } 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-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
mail-parser = { version = "0.11", features = ["full_encoding"] } mail-parser = { version = "0.11", features = ["full_encoding"] }
mail-builder = { version = "0.4" } mail-builder = { version = "0.4" }

View File

@@ -13,7 +13,7 @@ common = { path = "../common" }
smtp-proto = { version = "0.1", features = ["rkyv"] } smtp-proto = { version = "0.1", features = ["rkyv"] }
mail-parser = { version = "0.11", features = ["full_encoding"] } mail-parser = { version = "0.11", features = ["full_encoding"] }
mail-builder = { version = "0.4" } 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"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
tokio = { version = "1.45", features = ["net", "macros"] } tokio = { version = "1.45", features = ["net", "macros"] }
psl = "2" psl = "2"

View File

@@ -6,7 +6,7 @@ resolver = "2"
[dependencies] [dependencies]
event_macro = { path = "./event-macro" } event_macro = { path = "./event-macro" }
mail-auth = { version = "0.7" } mail-auth = { version = "0.7.1" }
mail-parser = { version = "0.11", features = ["full_encoding"] } mail-parser = { version = "0.11", features = ["full_encoding"] }
base64 = "0.22.1" base64 = "0.22.1"
serde = "1.0" serde = "1.0"

View File

@@ -12,7 +12,7 @@ rustls-pki-types = { version = "1" }
tokio = { version = "1.45", features = ["net", "macros", "signal"] } tokio = { version = "1.45", features = ["net", "macros", "signal"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12"] } tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12"] }
serde = { version = "1.0", features = ["derive"]} serde = { version = "1.0", features = ["derive"]}
mail-auth = { version = "0.7" } mail-auth = { version = "0.7.1" }
smtp-proto = { version = "0.1" } smtp-proto = { version = "0.1" }
mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
ahash = { version = "0.8", features = ["serde"] } ahash = { version = "0.8", features = ["serde"] }

View File

@@ -44,7 +44,7 @@ trc = { path = "../crates/trc" }
managesieve = { path = "../crates/managesieve", features = ["test_mode", "enterprise"] } managesieve = { path = "../crates/managesieve", features = ["test_mode", "enterprise"] }
smtp-proto = { version = "0.1" } smtp-proto = { version = "0.1" }
mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] } 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"] } sieve-rs = { version = "0.7", features = ["rkyv"] }
utils = { path = "../crates/utils", features = ["test_mode"] } utils = { path = "../crates/utils", features = ["test_mode"] }
jmap-client = { version = "0.3", features = ["websockets", "debug", "async"] } jmap-client = { version = "0.3", features = ["websockets", "debug", "async"] }