This commit is contained in:
mdecimus 2023-07-27 20:39:32 +02:00
parent 61174ce02a
commit 8a2317eca7
7 changed files with 102 additions and 53 deletions

View file

@ -23,7 +23,7 @@ body:
id: problem-related
attributes:
label: Is your feature request related to a problem?
description: Wrote a clear and concise description of what the problem is.
description: Write a clear and concise description of what the problem is.
placeholder: Tell us what the problem is!
value: "I'm always frustrated when..."
- type: checkboxes

View file

@ -1,26 +1,71 @@
stalwart-smtp v0.3.1
================================
- Added: Milter filter support. Documentation is available [here](https://stalw.art/docs/smtp/filter/milter).
- Added: Match IP address type using /0 mask (#16).
- Fix: Support for OpenLDAP password hashing schemes between curly brackets (#8).
- Fix: Add CA certificates to Docker runtime (#5).
# Change Log
stalwart-smtp v0.3.0
================================
- Added **LDAP** support.
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
## [0.3.2] - 2023-07-28
### Added
- Sender and recipient address rewriting using regular expressions and sieve scripts.
- Subaddressing and catch-all addresses using regular expressions (#10).
- Dynamic variables in SMTP rules.
### Changed
- Added CLI to Docker container (#19).
### Fixed
- Workaround for a bug in `sqlx` that caused SQL time-outs (#15).
- Support for ED25519 certificates in PEM files (#20).
- Better handling of concurrent IMAP UID map modifications (#17).
- LDAP domain lookups from SMTP rules.
## [0.3.1] - 2023-07-22
### Added
- Milter filter support.
- Match IP address type using /0 mask (#16).
### Changed
### Fixed
- Support for OpenLDAP password hashing schemes between curly brackets (#8).
- Add CA certificates to Docker runtime (#5).
## [0.3.0] - 2023-07-16
### Added
- **LDAP** authentication.
- **subaddressing** and **catch-all** addresses.
### Changed
- Removed concept of `databases`, `lists`, `remotes` lists and replaced it with `directories`.
- Fixed error when using PKCS8 DKIM private keys.
### Fixed
- Error when using PKCS8 DKIM private keys.
stalwart-smtp v0.1.2
================================
- Fix: `sender-domain` key not available for evaluation.
## [0.1.2] - 2023-03-11
### Added
- **LDAP** authentication.
- **subaddressing** and **catch-all** addresses.
### Changed
- Bump to latest mail-auth.
### Fixed
- Error `sender-domain` key not available for evaluation.
stalwart-smtp v0.1.1
================================
- Fix: Only the first TLS certificate is used rather than the full chain (#3)
- Fix: Update name for `reject-non-fqdn` setting (#6).
## [0.1.1] - 2023-03-06
### Added
### Changed
### Fixed
- Only the first TLS certificate is used rather than the full chain (#3)
- Update name for `reject-non-fqdn` setting (#6).
## [0.1.0] - 2023-03-01
Initial release.
stalwart-smtp v0.1.0
================================
- Initial release.

54
Cargo.lock generated
View file

@ -1029,6 +1029,7 @@ dependencies = [
"argon2",
"async-trait",
"bb8",
"futures",
"ldap3",
"lru-cache",
"mail-builder",
@ -1039,6 +1040,7 @@ dependencies = [
"password-hash 0.5.0",
"pbkdf2 0.12.2",
"pwhash",
"regex",
"rustls 0.21.5",
"scrypt",
"sha1",
@ -1887,7 +1889,7 @@ dependencies = [
[[package]]
name = "imap"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"ahash 0.8.3",
"dashmap",
@ -2016,9 +2018,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "jemalloc-sys"
version = "0.5.3+5.3.0-patched"
version = "0.5.4+5.3.0-patched"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9bd5d616ea7ed58b571b2e209a65759664d7fb021a0819d7a790afc67e47ca1"
checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2"
dependencies = [
"cc",
"libc",
@ -2026,9 +2028,9 @@ dependencies = [
[[package]]
name = "jemallocator"
version = "0.5.0"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16c2514137880c52b0b4822b563fadd38257c1f380858addb74a400889696ea6"
checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc"
dependencies = [
"jemalloc-sys",
"libc",
@ -2051,7 +2053,7 @@ dependencies = [
[[package]]
name = "jmap"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"aes-gcm",
"aes-gcm-siv",
@ -2247,9 +2249,9 @@ dependencies = [
[[package]]
name = "libz-sys"
version = "1.1.9"
version = "1.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
dependencies = [
"cc",
"pkg-config",
@ -3231,9 +3233,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.31"
version = "1.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
dependencies = [
"proc-macro2",
]
@ -3458,9 +3460,9 @@ dependencies = [
[[package]]
name = "roaring"
version = "0.10.1"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef0fb5e826a8bde011ecae6a8539dd333884335c57ff0f003fbe27c25bbe8f71"
checksum = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873"
dependencies = [
"bytemuck",
"byteorder",
@ -3640,7 +3642,7 @@ checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
dependencies = [
"log",
"ring",
"rustls-webpki 0.101.1",
"rustls-webpki 0.101.2",
"sct",
]
@ -3677,9 +3679,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
version = "0.101.1"
version = "0.101.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e"
checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59"
dependencies = [
"ring",
"untrusted",
@ -3791,9 +3793,9 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.174"
version = "1.0.177"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1"
checksum = "63ba2516aa6bf82e0b19ca8b50019d52df58455d3cf9bdaf6315225fdd0c560a"
dependencies = [
"serde_derive",
]
@ -3809,9 +3811,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.174"
version = "1.0.177"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e"
checksum = "401797fe7833d72109fedec6bfcbe67c0eed9b99772f26eb8afd261f0abc6fd3"
dependencies = [
"proc-macro2",
"quote",
@ -3820,9 +3822,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.103"
version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
dependencies = [
"itoa",
"ryu",
@ -3938,7 +3940,7 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
[[package]]
name = "sieve-rs"
version = "0.3.1"
source = "git+https://github.com/stalwartlabs/sieve#0ab2dc8cd41ee5dadcc3ab5e932b9b92abc5e067"
source = "git+https://github.com/stalwartlabs/sieve#f9c01ba6947d73855fdd645b17c9a5d347724ee3"
dependencies = [
"ahash 0.8.3",
"bincode",
@ -3991,7 +3993,7 @@ checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "smtp"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"ahash 0.8.3",
"blake3",
@ -4291,7 +4293,7 @@ dependencies = [
[[package]]
name = "stalwart-install"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"base64 0.21.2",
"clap",
@ -4311,7 +4313,7 @@ dependencies = [
[[package]]
name = "stalwart-smtp"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"directory",
"jemallocator",
@ -5233,7 +5235,7 @@ version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
dependencies = [
"rustls-webpki 0.101.1",
"rustls-webpki 0.101.2",
]
[[package]]

View file

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

View file

@ -17,6 +17,8 @@ RUN useradd stalwart-mail -s /sbin/nologin -M
RUN mkdir -p /opt/stalwart-mail
RUN chown stalwart-mail:stalwart-mail /opt/stalwart-mail
EXPOSE 8080 25 587 465 8686 143 993 4190
VOLUME [ "/opt/stalwart-mail" ]
EXPOSE 25 587 465 8080
ENTRYPOINT ["/bin/sh", "/usr/local/bin/entrypoint.sh"]

View file

@ -24,11 +24,11 @@ Key features:
- SMTP TLS Reporting (**TLSRPT**) delivery and analysis.
- Inbound Filtering and Throttling:
- Sieve scripting language with support for all [registered extensions](https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml).
- **Milter** support.
- Filtering, modification and removal of MIME parts or headers.
- **Milter** support for integration with external content filtering systems such as SpamAssassin and ClamAV.
- Address rewriting.
- Filtering, modification and removal of message parts or headers.
- DNS block lists (**DNSBL**) & Greylisting.
- Inbound concurrency & rate limiting.
- Integration with external content filtering systems such as SpamAssassin and ClamAV.
- Flexible Queues:
- Unlimited virtual queues with custom routing rules.
- Delayed delivery with `FUTURERELEASE` and `DELIVERBY` extensions support.

2
main

@ -1 +1 @@
Subproject commit ee9d85a3182f129702ddd5caf4f072035b969cad
Subproject commit 9ff09c98bade0327bf114110890dacff601e7dd2