This commit is contained in:
mdecimus 2025-03-23 16:23:18 +01:00
parent a8bdf3949b
commit c0fdee6843
23 changed files with 78 additions and 55 deletions

View file

@ -2,6 +2,27 @@
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
## [0.11.7] - 2025-03-23
To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin.
### Added
- LDAP attribute to indicate password change (#1156).
### Changed
- Lazy DKIM key parsing (#1211).
- Enable `edns0` for system resolver by default (#1282).
- Bump FoundationDB to `7.3`.
### Fixed
- Fix incorrect `UIDNEXT` when mailbox is empty (#1201).
- Sender variable not set when evaluating `must-match-sender` (#1294).
- Do not panic when mailboxId is not found (#1293).
- Prioritize local over span keys when serializing webhook payloads (#1250).
- Allow TLS name mismatch as per RFC7671 Section 5.1.
- Try with implicit MX when no MX records are found.
- SQL `secrets` directory query.
## [0.11.5] - 2025-02-01 ## [0.11.5] - 2025-02-01
To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin.

40
Cargo.lock generated
View file

@ -1204,7 +1204,7 @@ dependencies = [
[[package]] [[package]]
name = "common" name = "common"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"aes-gcm-siv", "aes-gcm-siv",
"ahash 0.8.11", "ahash 0.8.11",
@ -1799,7 +1799,7 @@ dependencies = [
[[package]] [[package]]
name = "directory" name = "directory"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"argon2", "argon2",
@ -2046,7 +2046,7 @@ dependencies = [
[[package]] [[package]]
name = "email" name = "email"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"aes", "aes",
"aes-gcm", "aes-gcm",
@ -2163,7 +2163,7 @@ dependencies = [
[[package]] [[package]]
name = "event_macro" name = "event_macro"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -3281,7 +3281,7 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285"
[[package]] [[package]]
name = "imap" name = "imap"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"common", "common",
@ -3307,7 +3307,7 @@ dependencies = [
[[package]] [[package]]
name = "imap_proto" name = "imap_proto"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"chrono", "chrono",
@ -3532,7 +3532,7 @@ dependencies = [
[[package]] [[package]]
name = "jmap" name = "jmap"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"aes-gcm", "aes-gcm",
"aes-gcm-siv", "aes-gcm-siv",
@ -3607,7 +3607,7 @@ dependencies = [
[[package]] [[package]]
name = "jmap_proto" name = "jmap_proto"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"fast-float", "fast-float",
@ -3988,7 +3988,7 @@ dependencies = [
[[package]] [[package]]
name = "mail-server" name = "mail-server"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"common", "common",
"directory", "directory",
@ -4008,7 +4008,7 @@ dependencies = [
[[package]] [[package]]
name = "managesieve" name = "managesieve"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"bincode", "bincode",
@ -4286,7 +4286,7 @@ dependencies = [
[[package]] [[package]]
name = "nlp" name = "nlp"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"bincode", "bincode",
@ -4831,7 +4831,7 @@ dependencies = [
[[package]] [[package]]
name = "pop3" name = "pop3"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"common", "common",
"directory", "directory",
@ -4990,7 +4990,7 @@ dependencies = [
[[package]] [[package]]
name = "proc_macros" name = "proc_macros"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -6520,7 +6520,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]] [[package]]
name = "smtp" name = "smtp"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"bincode", "bincode",
@ -6609,7 +6609,7 @@ dependencies = [
[[package]] [[package]]
name = "spam-filter" name = "spam-filter"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"common", "common",
"decancer", "decancer",
@ -6663,7 +6663,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]] [[package]]
name = "stalwart-cli" name = "stalwart-cli"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"clap", "clap",
"console", "console",
@ -6694,7 +6694,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]] [[package]]
name = "store" name = "store"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"arc-swap", "arc-swap",
@ -6903,7 +6903,7 @@ dependencies = [
[[package]] [[package]]
name = "tests" name = "tests"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"async-trait", "async-trait",
@ -7342,7 +7342,7 @@ dependencies = [
[[package]] [[package]]
name = "trc" name = "trc"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"base64 0.22.1", "base64 0.22.1",
@ -7589,7 +7589,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]] [[package]]
name = "utils" name = "utils"
version = "0.11.5" version = "0.11.7"
dependencies = [ dependencies = [
"ahash 0.8.11", "ahash 0.8.11",
"base64 0.22.1", "base64 0.22.1",

View file

@ -5,7 +5,7 @@ authors = ["Stalwart Labs Ltd. <hello@stalw.art>"]
license = "AGPL-3.0-only OR LicenseRef-SEL" license = "AGPL-3.0-only OR LicenseRef-SEL"
repository = "https://github.com/stalwartlabs/cli" repository = "https://github.com/stalwartlabs/cli"
homepage = "https://github.com/stalwartlabs/cli" homepage = "https://github.com/stalwartlabs/cli"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
readme = "README.md" readme = "README.md"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "common" name = "common"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "directory" name = "directory"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "email" name = "email"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "imap_proto" name = "imap_proto"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "imap" name = "imap"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "jmap_proto" name = "jmap_proto"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "jmap" name = "jmap"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -7,7 +7,7 @@ homepage = "https://stalw.art"
keywords = ["imap", "jmap", "smtp", "email", "mail", "server"] keywords = ["imap", "jmap", "smtp", "email", "mail", "server"]
categories = ["email"] categories = ["email"]
license = "AGPL-3.0-only OR LicenseRef-SEL" license = "AGPL-3.0-only OR LicenseRef-SEL"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "managesieve" name = "managesieve"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "nlp" name = "nlp"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pop3" name = "pop3"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -7,7 +7,7 @@ homepage = "https://stalw.art/smtp"
keywords = ["smtp", "email", "mail", "server"] keywords = ["smtp", "email", "mail", "server"]
categories = ["email"] categories = ["email"]
license = "AGPL-3.0-only OR LicenseRef-SEL" license = "AGPL-3.0-only OR LicenseRef-SEL"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "spam-filter" name = "spam-filter"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "store" name = "store"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "trc" name = "trc"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "event_macro" name = "event_macro"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
[lib] [lib]

View file

@ -1,6 +1,6 @@
[package] [package]
name = "utils" name = "utils"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "proc_macros" name = "proc_macros"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
[lib] [lib]

View file

@ -1,6 +1,6 @@
[package] [package]
name = "tests" name = "tests"
version = "0.11.5" version = "0.11.7"
edition = "2024" edition = "2024"
resolver = "2" resolver = "2"

View file

@ -5,8 +5,8 @@
*/ */
use directory::{ use directory::{
backend::{internal::manage::ManageDirectory, RcptType}, QueryBy, ROLE_USER, Type,
QueryBy, Type, ROLE_USER, backend::{RcptType, internal::manage::ManageDirectory},
}; };
use mail_send::Credentials; use mail_send::Credentials;
@ -14,7 +14,7 @@ use mail_send::Credentials;
use store::{InMemoryStore, Store}; use store::{InMemoryStore, Store};
use crate::directory::{ use crate::directory::{
map_account_id, map_account_ids, DirectoryTest, IntoTestPrincipal, TestPrincipal, DirectoryTest, IntoTestPrincipal, TestPrincipal, map_account_id, map_account_ids,
}; };
use super::DirectoryStore; use super::DirectoryStore;
@ -39,7 +39,7 @@ async fn sql_directory() {
let store = DirectoryStore { let store = DirectoryStore {
store: config.stores.stores.remove(directory_id).unwrap(), store: config.stores.stores.remove(directory_id).unwrap(),
}; };
let base_store = config.stores.stores.get(directory_id).unwrap(); let base_store = &store.store;
let core = config.server; let core = config.server;
// Create tables // Create tables
@ -193,7 +193,8 @@ async fn sql_directory() {
..Default::default() ..Default::default()
} }
); );
assert!(handle assert!(
handle
.query( .query(
QueryBy::Credentials(&Credentials::Plain { QueryBy::Credentials(&Credentials::Plain {
username: "bill".to_string(), username: "bill".to_string(),
@ -203,7 +204,8 @@ async fn sql_directory() {
) )
.await .await
.unwrap() .unwrap()
.is_none()); .is_none()
);
// Get user by name // Get user by name
assert_eq!( assert_eq!(