v0.10.4
Some checks failed
trivy / Check (push) Has been cancelled

This commit is contained in:
mdecimus 2024-10-08 17:17:21 +02:00
parent 8ff2438f04
commit dcb8b4e8d5
18 changed files with 51 additions and 34 deletions

View file

@ -2,6 +2,23 @@
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
## [0.10.4] - 2024-10-08
To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin.
### Added
- Detect and ban port scanners as well as other forms of abuse (#820).
- ACME External Account Binding support (#379).
### Changed
- The settings `server.fail2ban.*` have been moved to `server.auto-ban.*`.
- The event `security.brute-force-ban` is now `security.scan-ban`.
### Fixed
- Do not send SPF failures reports to local domains.
- Allow `nonce` in OAuth code requests.
- Warn when there are errors migrating domains rather than aborting migration.
## [0.10.3] - 2024-10-07
To upgrade replace the `stalwart-mail` binary and then upgrade to the latest web-admin. Enterprise users wishing to use the new LLM-powered spam filter should also upgrade the spam filter rules.

28
Cargo.lock generated
View file

@ -1052,7 +1052,7 @@ dependencies = [
[[package]]
name = "common"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"aes-gcm-siv",
"ahash 0.8.11",
@ -1668,7 +1668,7 @@ dependencies = [
[[package]]
name = "directory"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"argon2",
@ -3010,7 +3010,7 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285"
[[package]]
name = "imap"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"common",
@ -3222,7 +3222,7 @@ dependencies = [
[[package]]
name = "jmap"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"aes",
"aes-gcm",
@ -3303,7 +3303,7 @@ dependencies = [
[[package]]
name = "jmap_proto"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"fast-float",
@ -3660,7 +3660,7 @@ dependencies = [
[[package]]
name = "mail-server"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"common",
"directory",
@ -3679,7 +3679,7 @@ dependencies = [
[[package]]
name = "managesieve"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"bincode",
@ -3957,7 +3957,7 @@ dependencies = [
[[package]]
name = "nlp"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"bincode",
@ -4511,7 +4511,7 @@ dependencies = [
[[package]]
name = "pop3"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"common",
"directory",
@ -6081,7 +6081,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "smtp"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"bincode",
@ -6197,7 +6197,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "stalwart-cli"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"clap",
"console",
@ -6228,7 +6228,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "store"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"arc-swap",
@ -6872,7 +6872,7 @@ dependencies = [
[[package]]
name = "trc"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"base64 0.22.1",
@ -7115,7 +7115,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "utils"
version = "0.10.3"
version = "0.10.4"
dependencies = [
"ahash 0.8.11",
"base64 0.22.1",

View file

@ -69,7 +69,7 @@ Key features:
- **Secure and robust**:
- Encryption at rest with **S/MIME** or **OpenPGP**.
- Automatic TLS certificate provisioning with [ACME](https://datatracker.ietf.org/doc/html/rfc8555) using `TLS-ALPN-01`, `DNS-01` or `HTTP-01` challenges.
- Automated blocking of hosts that perform brute-force attacks or scans (aka **fail2ban**).
- Automated blocking of IP addresses that attack, abuse or scan the server for exploits.
- Rate limiting.
- Security audited (read the [report](https://stalw.art/blog/security-audit)).
- Memory safe (thanks to Rust).

View file

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

View file

@ -1,6 +1,6 @@
[package]
name = "common"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -79,7 +79,7 @@ impl Security {
// Parse blocked HTTP paths
let mut http_banned_paths = config
.values("server.fail2ban.http-banned-paths")
.values("server.auto-ban.scan.paths")
.filter_map(|(_, v)| {
let v = v.trim();
if !v.is_empty() {
@ -117,17 +117,17 @@ impl Security {
allowed_ip_addresses,
allowed_ip_networks,
auth_fail_rate: config
.property_or_default::<Option<Rate>>("server.fail2ban.authentication", "100/1d")
.property_or_default::<Option<Rate>>("server.auto-ban.auth.rate", "100/1d")
.unwrap_or_default(),
rcpt_fail_rate: config
.property_or_default::<Option<Rate>>("server.fail2ban.invalid-rcpt", "35/1d")
.property_or_default::<Option<Rate>>("server.auto-ban.abuse.rate", "35/1d")
.unwrap_or_default(),
loiter_fail_rate: config
.property_or_default::<Option<Rate>>("server.fail2ban.loitering", "150/1d")
.property_or_default::<Option<Rate>>("server.auto-ban.loiter.rate", "150/1d")
.unwrap_or_default(),
http_banned_paths,
scanner_fail_rate: config
.property_or_default::<Option<Rate>>("server.fail2ban.scanner", "30/1d")
.property_or_default::<Option<Rate>>("server.auto-ban.scan.rate", "30/1d")
.unwrap_or_default(),
}
}

View file

@ -1,6 +1,6 @@
[package]
name = "directory"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "imap"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "jmap_proto"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "jmap"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

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

View file

@ -1,6 +1,6 @@
[package]
name = "managesieve"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "nlp"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "pop3"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

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

View file

@ -1,6 +1,6 @@
[package]
name = "store"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "trc"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"

View file

@ -1,6 +1,6 @@
[package]
name = "utils"
version = "0.10.3"
version = "0.10.4"
edition = "2021"
resolver = "2"