Commit Graph

421 Commits

Author SHA1 Message Date
Omid Zamani a995894dbd fix: use build-essential, enable universe repository, and add apt-get lock timeout for dependency installation. 2026-01-06 12:58:51 +01:00
Omid Zamani a8536c2af2 fix systemd resolved 2026-01-06 12:22:07 +01:00
Omid Zamani 971b57678b refactor: Remove create_remote_dir parameter from dovecot files.put call. 2026-01-06 11:52:12 +01:00
Omid Zamani a3ecad1179 fix: ensure Dovecot mailboxes and systemd override directories exist, and correct Postfix systemd override path 2026-01-06 11:36:23 +01:00
Omid Zamani e32b340fed Adjust systemd service runtime directory permissions and umask, correct Postfix systemd override path, and update opendkim socket path. 2026-01-06 10:04:58 +01:00
Omid Zamani 32f4017cb4 fix: Use double quotes for domain in acmetool desired file removal command. 2026-01-03 12:37:17 +01:00
Omid Zamani b58aad9099 fix: resolve issue on deployment 2026-01-03 12:24:44 +01:00
Omid Zamani 73dba02a62 refactor: move certificate permission commands to configure method and apply them conditionally. 2026-01-03 12:05:57 +01:00
Omid Zamani b28105bbfa fix: Introduce uv for dependency locking and update deployment configurations. 2026-01-02 20:02:01 +01:00
Omid Zamani 928b41aae2 fix: change config to work also on debian 11 2026-01-02 18:55:48 +01:00
Omid Zamani 68277cc929 fix: reoslve the uv issue 2026-01-02 16:50:08 +01:00
Omid Zamani d089e7e06f feat: Migrate to uv for dependency management and script execution. 2026-01-02 16:37:33 +01:00
Omid Zamani 58d82f04b5 fix: guard inotify sysctl limit updates against fact retrieval errors 2026-01-01 22:57:52 +01:00
Omid Zamani 740574fa1f refactor: simplify domain configuration by removing www and mta-sts subdomains, disabling opendkim milter, and adjusting DNS query behavior. 2025-12-31 05:01:42 +01:00
link2xt 0d890274fd feat: use daemon_name for OpenDKIM sign-verify decision instead of IP
On FreeBSD 127.0.0.2 is not assigned to any interface by default,
so 127.0.0.2 source address hack cannot be used to make OpenDKIM
verify the signature instead of signing.

This change sets InternalHosts to `-` so no IP addresses
make OpenDKIM sign the message. Instead of IP address,
OpenDKIM in the outgoing pipeline is explicitly told
to sign messages by setting `{daemon_name}` macro to `ORIGINATING`.
2025-12-19 17:09:33 +00:00
holger krekel abe0cb5d08 address cliff's comments about dovecot/postfix 2025-12-17 16:21:40 +01:00
missytake 8c8c37c822 postfix: restart automatically on failure 2025-12-17 16:21:40 +01:00
missytake e7bed4d2a1 dovecot: restart automatically on failure 2025-12-17 16:21:40 +01:00
j4n df21076e9b acmetool: use a fixed name and reconcile instead of want 2025-12-17 11:57:41 +01:00
missytake 70da217442 opendkim: only display last sigerror 2025-12-17 10:39:50 +01:00
missytake 40fd62c562 opendkim: report DKIM error code in SMTP response 2025-12-17 10:39:50 +01:00
cliffmccarthy bab3de9768 feat: Remove echobot user from deployment 2025-12-17 10:35:47 +01:00
missytake 96fc3d9ff6 tests: don't let test_status_cmd test server state 2025-12-12 14:00:53 +01:00
missytake 4b5e8feb96 ci: run test_status_cmd at the end to avoid flakiness 2025-12-12 14:00:53 +01:00
Simon Laux bad356503e Merge pull request #745 from chatmail/simon/i744
fix: Handle case where user followed the tutorial and set the CNAME reccord for mta-sts, but no TXT record for it yet.
2025-12-11 22:41:14 +01:00
adb 81391f4066 Update cmdeploy/src/cmdeploy/dovecot/dovecot.conf.j2
Co-authored-by: missytake <missytake@systemli.org>
2025-12-10 20:43:03 +01:00
adbenitez 55cfd00505 add imap_compress option to chatmail.ini 2025-12-09 09:32:53 +01:00
holger krekel b000213c68 remove echobot from relay deployment and make sure it's un-installed during "cmdeploy run" 2025-12-07 20:14:35 +01:00
j4n 166bf68915 Remove DKIM-Signature from incoming mail after checking (#747)
The original https://github.com/chatmail/relay/pull/533 attempted to remove the header through postfix, but that is too early. Instead, remove the headers in the OpenDKIM `final.lua` script after the validation.
2025-12-04 12:23:27 +01:00
Treefit abb70a6b14 Handle case where user followed the tutorial and set the CNAME reccord
for mta-sts, but no TXT record for it yet.
2025-11-28 09:34:44 +01:00
Maikel Frias Mosquea 96108bbaba fix: cmdeploy webdev now works as intended
Before: cmdeploy webdev just kept running non-stop regeneration of the
files with this it truly stop unless there's an actual change.
2025-11-25 22:26:47 +01:00
missytake fa5a6a64b3 opendkim: use opendkim as selector as before 2025-11-16 19:53:54 +01:00
holger krekel 6b7c002e24 use non-underscore naming for basedeploy helpers 2025-11-16 19:53:54 +01:00
holger krekel 4b2f98788d remove unneeded __init__ files 2025-11-16 19:53:54 +01:00
holger krekel 13faa42abd shift mtail deployer to subdir 2025-11-16 19:53:54 +01:00
holger krekel 7c12136991 move out nginx deployer 2025-11-16 19:53:54 +01:00
holger krekel 3637bba5dc move dovecot deployer out to dovecot/ directory 2025-11-16 19:53:54 +01:00
holger krekel e2b157bd96 move postfix deployer to postfix directory 2025-11-16 19:53:54 +01:00
holger krekel 83abb3a3e1 factor out opendkim deployer 2025-11-16 19:53:54 +01:00
missytake 213d68ed02 acmetool: accept new Let's Encrypt Terms of Services (#729) 2025-11-16 09:51:39 +01:00
link2xt 14ca95d25a fix(postfix): set smtpd_tls_mandatory_protocols for port 25
smtp_tls_mandatory_protocols does not affect port 25
because we require STARTTLS on port 25 since commit
8d7e1dad0e

We don't have any smtpd ports with opportunistic TLS.
Submission ports require TLSv1.3 and starting with this commit
MX port will require TLSv1.2 instead of TLSv1.

I have not managed to connect using TLSv1.1
even without this fix to reproduce the problem,
but I have checked that setting
`-o smtpd_tls_mandatory_protocols=>=TLSv1.3`
does not allow to connect using TLSv1.2 anymore using
`openssl s_client -connect example.org:25 -starttls smtp -tls1_2`.

`smtpd_tls_protocols` setting is removed
because it does not affect anything except the internal ports
and its `git blame` points to the wrong commit.
2025-11-15 10:51:04 +00:00
link2xt 3524b055db fix(postfix): set smtp_tls_mandatory_protocols to require TLSv1.2 for outgoing connections
According to
<https://www.postfix.org/postconf.5.html#smtp_tls_security_level>
for outgoing connections with smtp_tls_security_level
`encrypt` and higher (such as `verify` that we currently use)
the setting `smtp_tls_mandatory_protocols`
is used instead of `smtp_tls_protocols`.
According to `postconf -d`
(and `postconf` because the default is not changed)
current setting value is `smtp_tls_mandatory_protocols = >=TLSv1`.
But we only want to connect outside with TLS 1.2 and TLS 1.3.

`smtp_tls_protocols` which was already set to `>= TLSv1.2`
in commit 0155f32df6
only affected outgoing connections with the `may` level
exception set for nauta.cu domain via `smtp_tls_policy_maps`
which does not support STARTTLS at all.
2025-11-15 10:51:04 +00:00
holger krekel 81d2bf89c7 move all cleanup of historic artifacts into LegacyRemoveDeployer 2025-11-13 21:03:30 +01:00
holger krekel fc7240a1ad simplify importing of resource files (avoid importlib.resources.files boilerplate) 2025-11-13 18:59:03 +01:00
holger krekel bdcccd858c add a comment about absolute imports 2025-11-13 18:59:03 +01:00
holger krekel af30d2b55d fix import to work with "pyinfra" which needs a file location and thus does not start "run.py" as part of the package 2025-11-13 18:59:03 +01:00
holger krekel 5664b97db4 fixing path resolution for "fmt" command 2025-11-13 18:59:03 +01:00
holger krekel 81364bd523 fix an import 2025-11-13 18:59:03 +01:00
holger krekel 3c3e54fceb apply results of "cmdeploy fmt" 2025-11-13 18:59:03 +01:00
holger krekel ae96b752a3 rename "deployer.py" to "basedeploy.py" 2025-11-13 18:59:03 +01:00