From d4ac752276e048495d5d39ceca6f66338ece2c2c Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sun, 9 Mar 2025 17:32:32 +0100 Subject: [PATCH] Add eDNS option + fix blob range bug --- crates/common/src/config/smtp/resolver.rs | 10 +++++++--- crates/store/src/dispatch/blob.rs | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/common/src/config/smtp/resolver.rs b/crates/common/src/config/smtp/resolver.rs index 27b33e11..4524e66b 100644 --- a/crates/common/src/config/smtp/resolver.rs +++ b/crates/common/src/config/smtp/resolver.rs @@ -12,17 +12,17 @@ use std::{ }; use mail_auth::{ + MessageAuthenticator, hickory_resolver::{ + AsyncResolver, TokioAsyncResolver, config::{NameServerConfig, Protocol, ResolverConfig, ResolverOpts}, system_conf::read_system_conf, - AsyncResolver, TokioAsyncResolver, }, - MessageAuthenticator, }; use serde::{Deserialize, Serialize}; use utils::{ cache::CacheItemWeight, - config::{utils::ParseValue, Config}, + config::{Config, utils::ParseValue}, }; use crate::Server; @@ -215,6 +215,10 @@ impl Resolvers { if let Some(attempts) = config.property("resolver.attempts") { opts.attempts = attempts; } + opts.edns0 = config + .property_or_default("resolver.edns", "true") + .unwrap_or(true); + // We already have a cache, so disable the built-in cache opts.cache_size = 0; diff --git a/crates/store/src/dispatch/blob.rs b/crates/store/src/dispatch/blob.rs index 3c4cbc6c..02a9bc24 100644 --- a/crates/store/src/dispatch/blob.rs +++ b/crates/store/src/dispatch/blob.rs @@ -77,7 +77,7 @@ impl BlobStore { _ => return result, }; - if range.end >= decompressed.len() { + if range.end > decompressed.len() { Ok(Some(decompressed)) } else { Ok(Some(