mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2024-11-13 04:39:02 +08:00
parent
8ff2438f04
commit
dcb8b4e8d5
18 changed files with 51 additions and 34 deletions
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -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
28
Cargo.lock
generated
|
@ -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",
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "common"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -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(),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "directory"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "imap"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "jmap_proto"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "jmap"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "managesieve"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "nlp"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "pop3"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "store"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "trc"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "utils"
|
||||
version = "0.10.3"
|
||||
version = "0.10.4"
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
|
||||
|
|
Loading…
Reference in a new issue