Commit Graph

1478 Commits

Author SHA1 Message Date
missytake c82412dc4c chore: integrate filtermail's .github directory into relay's 2026-07-29 16:06:10 +02:00
missytake 827bd5fc4f Merging chatmail/filtermail repository into chatmail/relay 2026-07-26 12:23:15 +02:00
link2xt 504fb249a9 refactor(postfix): remove unused "filter" lmtp service
It looks like the reason it exists in the default configuration
is an example for <https://www.postfix.org/FILTER_README.html>
Using this filter requires configuration such as
"-o content_filter=filter:dummy" and we don't have it.
2026-07-22 20:28:36 +00:00
dependabot[bot] 6b3d475c82 chore(deps): Bump dtolnay/rust-toolchain (#203)
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from fa04a1451ff1842e2626ccb99004d0195b455a88 to 2c7215f132e9ebf062739d9130488b56d53c060c.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](https://github.com/dtolnay/rust-toolchain/compare/fa04a1451ff1842e2626ccb99004d0195b455a88...2c7215f132e9ebf062739d9130488b56d53c060c)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-version: 2c7215f132e9ebf062739d9130488b56d53c060c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-20 15:35:16 +02:00
dependabot[bot] a0fe9c4b2c chore(deps): Bump taiki-e/install-action from 2.82.5 to 2.83.1 (#202)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.82.5 to 2.83.1.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/bffeee26d4db9be238a4ea78d8826604ebcb594d...2ca9b94c269419b7b0c711c09d0b21c4e1d51145)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.83.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-20 15:34:50 +02:00
link2xt deca1ef2a3 feat(postfix): disable processing of MIME headers
Default behavior is processing headers
that are actually part of the message body.
This is unlikely to be needed
as headers such as Received are not added into MIME parts,
but may result in broken DKIM signatures
if the body is modified.
2026-07-13 09:46:32 +00:00
W0rmsy 0323e757a9 chore: update Let's Encrypt Subscriber Agreement to 1.8
The changes are described in the announcement:
https://community.letsencrypt.org/t/updating-the-let-s-encrypt-subscriber-agreement-to-v1-8/248355
2026-07-13 09:45:41 +00:00
j4n 752957dae8 feat(mtail): add incoming_mailer_daemon_mail_count
Track volume of mailer-daemon messages separately from unencrypted.
2026-07-13 11:43:44 +02:00
link2xt e47740f45f refactor: do not evaluate smtp_write! argument twice 2026-07-10 08:03:45 +00:00
dependabot[bot] 678bf2a684 chore(deps): Bump taiki-e/install-action from 2.82.2 to 2.82.5 (#198) 2026-07-04 15:04:58 +09:00
dependabot[bot] 9613b2f14f chore(deps): Bump webpki-roots from 1.0.7 to 1.0.8 (#196) 2026-07-04 15:04:06 +09:00
dependabot[bot] 2bba729b6b chore(deps): Bump memchr from 2.8.1 to 2.8.2 (#195) 2026-07-04 15:02:50 +09:00
dependabot[bot] df6c9d777d chore(deps): Bump log from 0.4.30 to 0.4.33 (#194) 2026-07-04 15:02:06 +09:00
Jagoda Estera Ślązak 3a553f2286 chore(deps): Upgrade filtermail to v0.7.4 (#1014)
## 0.7.4 - 2026-07-01

### Features

- *(logs)* Log incoming mailer-daemon message sources

### Miscellaneous Tasks

- Update filtermail.mtail

### Testing

- Place #[tokio::test] after rstest case macros

## 0.7.3 - 2026-06-27

### Features

- *(transport)* Worker eviction

## 0.7.2 - 2026-06-26

### Documentation

- *(readme)* Disable colors in mermaid diagrams
- *(readme)* Update Transport mode doc

### Features

- *(transport)* Destination worker pool

### Refactor

- Implement Display for AddressDomain

### Testing

- Test filtermail-transport

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-07-04 15:01:06 +09:00
dependabot[bot] 88e2124d59 chore(deps): Bump hyper from 1.9.0 to 1.10.1 (#197)
Bumps [hyper](https://github.com/hyperium/hyper) from 1.9.0 to 1.10.1.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.9.0...v1.10.1)

---
updated-dependencies:
- dependency-name: hyper
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 08:29:20 +02:00
Jagoda Estera Ślązak 5717940ac1 chore(release): prepare for 0.7.4 (#193)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-07-01 15:15:41 +02:00
l ed5dfbe0ff test: place #[tokio::test] after rstest case macros (#192)
Otherwise only the first case is built.
2026-07-01 14:51:37 +02:00
dependabot[bot] 5cdae22d31 chore(deps): Bump dtolnay/rust-toolchain (#188)
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from 3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 to fa04a1451ff1842e2626ccb99004d0195b455a88.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](https://github.com/dtolnay/rust-toolchain/compare/3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9...fa04a1451ff1842e2626ccb99004d0195b455a88)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-version: 67ef31d5b988238dd797d409d6f9574278e20537
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 13:48:43 +02:00
dependabot[bot] d00d2b870b chore(deps): Bump taiki-e/install-action from 2.81.10 to 2.82.2 (#187)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.81.10 to 2.82.2.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/7a79fe8c3a13344501c80d99cae481c1c9085912...9e1e5806d4a4822de933115878265be9aaa786d9)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.82.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 19:01:23 +02:00
Jagoda Estera Ślązak 7f14693b31 feat(logs): Log incoming mailer-daemon message sources (#191)
Logs mailer-daemon messages separately from other unencrypted mails.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-30 19:00:13 +02:00
dependabot[bot] 0fce0a2191 chore(deps): Bump actions/checkout from 6.0.3 to 7.0.0 (#186)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 18:10:18 +02:00
Jagoda Estera Ślązak 4d7bcf51b7 chore: update filtermail.mtail (#190)
Logs for filtermail-transport changed in v0.7.2+.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-30 12:05:21 +02:00
Jagoda Estera Ślązak 222bf36712 chore(release): prepare for 0.7.3 (#189)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-27 17:13:53 +02:00
Jagoda Estera Ślązak d5ac67ecff feat(transport): Worker eviction (#185)
Adds max worker capacity of 500 to the worker pool,
and an automatic shutdown of idle workers.
Messages that would cause the capacity to be exceeded,
are deferred.

Additionally, ensures that the same worker
is not spawned by two tasks at the same time.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-27 10:54:38 +02:00
Jagoda Estera Ślązak ac9df36801 chore(release): prepare for 0.7.2 (#184) 2026-06-26 21:04:42 +09:00
Jagoda Ślązak 03ca4a010b docs(readme): Update Transport mode doc
Add information about workers,
and synchronization of deliveries.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-26 11:38:25 +02:00
Jagoda Ślązak db86cfc6ed refactor: Implement Display for AddressDomain
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-26 11:11:30 +02:00
Jagoda Ślązak c7452526fa test: Test filtermail-transport
Adds filtermail-transport tests and
a test setup for recording SMTP transactions.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-26 11:11:20 +02:00
Jagoda Ślązak 7ea7904ea0 feat(transport): Destination worker pool
Implements a per-destination worker pool,
so that connections to the same destination
are not parallelized, but instead queued.
If a queue is full, new messages are immediately
deferred, before mail data is sent from postfix.

Closes: #141

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-26 11:07:34 +02:00
dependabot[bot] 7d0db2c46e chore(deps): Bump taiki-e/install-action from 2.81.6 to 2.81.10 (#183)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.81.6 to 2.81.10.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/59012be0884e296ca2da49b530610e72c49039ad...7a79fe8c3a13344501c80d99cae481c1c9085912)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.81.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 18:29:12 +02:00
Hocuri cb1e4ff5bb docs(README.md): Clarify security enforcement (#1011)
Make it clear which security enforcement properties a chatmail server has
2026-06-17 12:38:37 +02:00
Jagoda Ślązak 8d7870db55 chore(deps): Upgrade filtermail to v0.7.1
## 0.7.1 - 2026-06-09

### Bug Fixes

- Switch ratelimiter to MonotonicClock
- *(smtp-server)* Correct error when EOF while reading DATA
- *(resolver)* Disable negative caching
- Ignore CNAME records when resolving TXT records

### Features

- Switch to aws-lc-rs cryptography provider

### Miscellaneous Tasks

- Add filtermail.mtail so filtermail failures can be monitored

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-17 10:16:35 +02:00
dependabot[bot] b36856a383 chore(deps): Bump taiki-e/install-action from 2.79.14 to 2.81.6 (#182)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.79.14 to 2.81.6.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/873c7452cadb7c034694a1282227095d93fbdf92...59012be0884e296ca2da49b530610e72c49039ad)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.81.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 13:42:27 +02:00
dependabot[bot] a66887b778 chore(deps): Bump actions/checkout from 6.0.2 to 6.0.3 (#181)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 13:41:54 +02:00
Jagoda Estera Ślązak 488bbcb182 docs(readme): Disable colors in mermaid diagrams (#180)
Previously used colors caused
diagrams to be unreadable in
light mode.
Removing styling completely,
as this was redundant anyway.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-10 22:31:53 +02:00
Jagoda Estera Ślązak 5a31ff475f docs(overview): Remove mermaid styles from 'Accepting and delivering mail' (#1009)
Previously used colors caused
diagrams to be unreadable in
light mode.
Removing styling completely,
as this was redundant anyway.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-10 22:31:26 +02:00
missytake 8c18aea18e fix: pass kwargs to files.put() 2026-06-10 16:49:34 +02:00
missytake ebf5a51964 fix: still overwrite /etc/resolv.conf if it is a symbolic link 2026-06-10 16:49:34 +02:00
feld f596d4b56d Merge pull request #1003 from chatmail/feld/crypt-r
fix: crypt-r dependency was declared for wrong Python version
2026-06-09 12:38:45 -07:00
Mark Felder 8e3c18019b fix: crypt-r dependency was declared for wrong Python version
The original crypt library was last supported in Python 3.12, so it's
not needed until Python 3.13 is default (Trixie)

> The crypt_r module is a renamed copy of the crypt module as it was present in Python 3.12 before it was removed.
2026-06-09 12:38:07 -07:00
Jagoda Estera Ślązak 81aac3cb77 chore(release): prepare for 0.7.1 (#179)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-09 13:45:03 +02:00
missytake 9da3f5c235 fix(acmetool): update let's encrypt ToS link 2026-06-08 16:28:21 +02:00
Jagoda Estera Ślązak d3f5412420 feat: switch to aws-lc-rs cryptography provider (#178)
Switches crypto provider to keep
chatmail codebase consistent,
analogous to https://github.com/chatmail/core/pull/8313

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-06-06 15:28:53 +02:00
dependabot[bot] 73b684f90c chore(deps): Bump log from 0.4.29 to 0.4.30 (#173)
Bumps [log](https://github.com/rust-lang/log) from 0.4.29 to 0.4.30.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.29...0.4.30)

---
updated-dependencies:
- dependency-name: log
  dependency-version: 0.4.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-06 10:20:04 +02:00
l fb5a25939c fix: ignore CNAME records when resolving TXT records (#177) 2026-06-06 16:55:18 +09:00
dependabot[bot] 939e5367c9 chore(deps): Bump taiki-e/install-action from 2.79.6 to 2.79.14
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.79.6 to 2.79.14.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/f48d2f8ba2b452934c948b7be1a768079c3632ff...873c7452cadb7c034694a1282227095d93fbdf92)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.79.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 22:51:57 +00:00
dependabot[bot] b0214a71d7 chore(deps): Bump memchr from 2.8.0 to 2.8.1
Bumps [memchr](https://github.com/BurntSushi/memchr) from 2.8.0 to 2.8.1.
- [Commits](https://github.com/BurntSushi/memchr/compare/2.8.0...2.8.1)

---
updated-dependencies:
- dependency-name: memchr
  dependency-version: 2.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 22:51:26 +00:00
feld 6def189d16 Revert "Aggressive LMTP header cleanup (#816)"
This reverts commit 921080125f.
2026-06-05 22:28:16 +02:00
Mark Felder 24612e9121 fix(deps): Remove domain-validator dependency
It is broken in multiple ways
2026-06-05 09:39:27 +02:00
dependabot[bot] 2538caa1b2 chore(deps): Bump lru from 0.17.0 to 0.18.0 (#171)
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.17.0 to 0.18.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.17.0...0.18.0)

---
updated-dependencies:
- dependency-name: lru
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 14:57:12 +02:00