Commit Graph
1406 Commits
Author SHA1 Message Date
Jagoda Estera Ślązakandmissytake 0dfc3fae4e refactor: Remove unnecessary Arc (#36)
`Arc` around handler configs are not needed,
as they are not shared.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e7becac980 chore(deps): Bump taiki-e/install-action from 2.67.6 to 2.67.16 (#34)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.6 to 2.67.16.
- [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/8444b4f2165ec93147f3ee41e06495653063ad11...a362280ea100b5bb920cf9040c038ce9a50c7943)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.67.16
  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-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake ebaa3587a6 chore(dist): Switch to musl targets (#31)
Ensures filtermail binaries are 100% statically linked.

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake a5b1cada7b chore(release): prepare for 0.2.0 (#30)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake f2941c9807 feat: Configurable rate limiter max burst size (#28)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f4d9a7e747 chore(deps): Bump taiki-e/install-action from 2.66.7 to 2.67.6 (#24)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.66.7 to 2.67.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/542cebaaed782771e619bd5609d97659d109c492...8444b4f2165ec93147f3ee41e06495653063ad11)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.67.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-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e99f71aadd chore(deps): Bump actions/checkout from 6.0.1 to 6.0.2 (#25)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [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/8e8c483db84b4bee98b60c0593521ed34d9990e8...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  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-08-18 12:21:27 +02:00
link2xtandmissytake 71739d3334 refactor: remove Mutex around rate limiter
Rate limiter handles all the necessary locking internally.
2026-08-18 12:21:27 +02:00
link2xtandmissytake fa762d0cb5 perf: disable Nagle's algorithm and do own buffering on server connections
I don't know if Postfix as the client disables delayed ACKs,
but if delayed ACKs are enabled, Nagle's algorithm introduces unnecessary delays.
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 5dc49d20dd chore(release): prepare for 0.1.2 (#22)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake ac5042a3d5 fix: Make inbound/outbound log messages consistent (#23)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake ac3ea7fd8e fix: Set logs required by grafana to INFO (#21)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 62de6d824c perf: Use governor for rate limiting (#20)
Fixes: #19

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 02976942b9 chore(release): prepare for 0.1.1
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 1d981ccbf4 chore: Configure git-cliff
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 8eee767e85 refactor: Apply more lints (#17)
Sets lint rules and applies required changes.

Fixes: #16

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 44c8c1906f feat: Improve logging (#13)
Improves logs and reduces verbosity.

Fixes: #8

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 8ba2bc22c5 fix(config): Set default values for internal SMTP ports and max message size (#12)
Fixes: #7

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 3c9fd2718d chore(dist): Configure cargo-dist (#10)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 0f8a02d4d2 fix: Correct a typo in SMTP answer (#11)
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
landmissytake 3ac927ed2d refactor: get rid of indexing and slicing in check_armored_payload() (#15)
Indexing can potentially panic, without indexing
it is easier to make sure there will be no crash.
2026-08-18 12:21:27 +02:00
Jagoda Estera Ślązakandmissytake 6f5dd21c8e fix: Improve address extraction from SMTP commands (#14)
Prevents extraction failing on SRS.

Fixes: #9

Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2350cbabeb chore(deps): Bump dtolnay/rust-toolchain (#4)
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from 6d653acede28d24f02e3cd41383119e8b1b35921 to f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](https://github.com/dtolnay/rust-toolchain/compare/6d653acede28d24f02e3cd41383119e8b1b35921...f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-version: f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561
  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-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ba11f37eed chore(deps): Bump Swatinem/rust-cache from 2.8.1 to 2.8.2 (#5)
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/f13886b937689c021905a6b90929199931d60db1...779680da715d629ac1d338a641029a2f4372abb5)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-version: 2.8.2
  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-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
91f5fbf193 chore(deps): Bump thiserror from 2.0.17 to 2.0.18 (#3)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.17 to 2.0.18.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.18
  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-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cfd1092d21 chore(deps): Bump actions/checkout from 5.0.0 to 6.0.1 (#6)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.1.
- [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/08c6903cd8c0fde910a37f88322edcfb5dd907a8...8e8c483db84b4bee98b60c0593521ed34d9990e8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  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-08-18 12:21:27 +02:00
dependabot[bot]missytakedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
94b582681e chore(deps): Bump taiki-e/install-action from 2.62.49 to 2.66.7 (#2)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.62.49 to 2.66.7.
- [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/44c6d64aa62cd779e873306675c7a58e86d6d532...542cebaaed782771e619bd5609d97659d109c492)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.66.7
  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-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 324a6f3da9 chore(cargo): Add metadata
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake a8119e125f docs(license): Add LICENSE
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 1e16b4de52 docs(readme): Add README.md
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake e0b24715e0 chore(dependabot): Add github-actions to dependabot
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 11034c9374 chore(ci): Setup CI
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake b5f7169337 chore(dependabot): Setup dependabot
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 81b4aecce9 feat: Initial implementation
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
Jagoda Ślązakandmissytake 61261170ad chore: Init repository
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com>
2026-08-18 12:21:27 +02:00
holger krekel 33f9cddb1b feat: serve an APPVERSIONS.json index file to clients via IMAP metadata
This is designed to help implement self-updating APKs (and later other clients),
see counterpart https://github.com/chatmail/core/pull/8557
2026-08-13 12:54:47 +02:00
missytakeandGitHub dc8e0a34a2 chore(release): prepare for 1.12.0 (#1034) 1.12.0 2026-07-31 11:48:16 +02:00
holger krekel efc24fcdf3 cleanup: contents:read not needed for relay repo
public repos need no contents::read and there were permissions: {}
2026-07-30 20:44:04 +02:00
missytake 9a9bda80b1 fix: ss -tulpn can sometimes show dovecot first 2026-07-30 12:12:27 +02:00
missytake 74f4721f2b ci: fix docs upload path 2026-07-30 09:38:41 +02:00
holger krekel 14f829003d fix: List Iroh proxy endpoints used by 0.35 and 1.0, drop stale /relay/probe from earlier versions 2026-07-29 22:44:21 +02:00
link2xt 5da9aaeb37 refactor: install dns-root-data instead of using unbound-anchor
unbound-anchor retrieves root trust anchor directly via HTTPS,
but Debian already distributes the same files in dns-root-data package.
2026-07-29 19:28:06 +00:00
holger krekel d068052f0c restrict usable workflow to read permissions 2026-07-29 14:15:35 +02:00
holger krekel fa5afadaaa feat!: introduce configurable system limits to reject new address creation and limit imap/smtp connections.
The default values are geared towards minimal-requirements server.
If you have a big server, you will need to set chatmail.ini parameters.
2026-07-28 19:08:19 +02:00
j4n eb862f1645 chore(ci): update doc staging upload path 2026-07-27 17:38:50 +02:00
holger krekel 6f3039509c feat(dovecot): advertise privacy_mail as admin contact, drop server comment
- The hardcoded root@relaydomain address was unusued/unrooted
  and no one knew about it, it was used nowhere.
  Better to use privacy_mail which operators can set
  which might eventually be shown in the UI's relay list.

- remove generic useless mail_server_comment string.
  Clients receive these values as IMAP METADATA /shared/admin and
  /shared/comment only for internal debugging/info purposes.
2026-07-26 14:13:08 +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
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
W0rmsyandGitHub 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