Commit Graph
82 Commits
Author SHA1 Message Date
link2xt 83d3418dc8 Nicer /new URL for new accounts and redirect GET requests
If user types in https://nine.testrun.org/new manually
in the browser, at least Firefox and Brave suggest
to open the app after following the redirect.
2024-01-15 11:06:35 +00:00
link2xt 700256c273 Split DKIM checks into separate rules
Now errors distinguish between missing DKIM singature,
missing DNS entry or invalid DKIM signature.
2024-01-15 02:36:10 +00:00
link2xt d575d62b18 rspamd: give the reason to MTA when incoming mail is rejected
This is not secret but makes it easier for mail server admins
to debug why chatmail does not accept their emails.
If the server generates bounce messages, users will also see this
and can redirect to their server support.
It also shows up in /var/log/rspamd/rspamd.log on chatmail server.
2024-01-14 13:12:46 +00:00
link2xt 8cdf8ce376 Merge 'rspamd' branch, replacing OpenDKIM with rspamd
This adds DKIM and SPF checks and replaces OpenDKIM with rspamd for
DKIM signing.
2024-01-14 09:30:31 +00:00
link2xt 7c9abfbde3 Reject on DKIM PERMFAIL and SPF PERMFAIL as well 2024-01-14 09:19:04 +00:00
link2xt 95de87a325 Fixup rspamd disabled.conf deployment message 2024-01-14 08:45:39 +00:00
link2xt 5366df8dc6 Replace rspamd rule weights with a strict rule 2024-01-14 08:45:23 +00:00
link2xt 0a6db5161d Remove unused _configure_opendkim 2024-01-12 19:05:23 +00:00
link2xt 62e25e44fd Disable ratelimit module like other modules 2024-01-12 18:56:11 +00:00
link2xt ce9fe920dc Do not return anything from remove_opendkim() 2024-01-12 18:47:57 +00:00
link2xt c171866faf Actually disable phising, rbl and hfilter 2024-01-12 18:46:07 +00:00
link2xt 542d63888a nginx: redirect www. to non-www 2024-01-12 13:34:23 +00:00
link2xt 449f8a014c Fix indentation in nginx.conf.j2 2024-01-12 13:34:23 +00:00
link2xt 57764d0cf5 dns: require www. subdomain and request TLS certificate for it 2024-01-12 13:34:23 +00:00
link2xt c39a79e26a dns: check mta-sts CNAME directly without resolving to IP 2024-01-12 13:34:23 +00:00
link2xt b6622fc68e chore: run scripts/cmdeploy fmt 2024-01-12 12:18:28 +00:00
link2xt 75b41641f0 doveauth: fix home directory returned from lookup_passdb
It is currently unused, but better have it correct
in case of enabling debugging options such as rawlogs.
2024-01-08 16:40:08 +00:00
link2xtandholger krekel 30a61972fb Update autoconfig XML URL with RFC draft
Old page does not exist anymore and linking to web archive is not nice.
2024-01-08 16:33:04 +01:00
link2xtandmissytake 70b0e9d5e5 postfix: increase compatibility_level to 3.6 2023-12-27 00:29:12 +01:00
link2xt a44ed0aeb3 Use dig +short option to simplify DNS parsing
Without this option parsing of answer was flaky
as for long records like
_submission._tcp.nine.testrun.org.
dig printed the result with a space rather
than tab as a separator and .split("\t") did not work.

This change makes the `dig` command print the answer
in the form we need so there is no need for complex parsing
other than taking the first line.

`-r` option is added to make sure options are not changed by .digrc
in the root home directory.
2023-12-22 21:49:12 +00:00
link2xt f5bfa6bd56 test: test scanning QR code 2023-12-21 22:22:38 +00:00
link2xt 81a6f8808b fix: escape login and password when passed from dovecot to doveauth
This should allow to use / in the password
2023-12-21 22:22:38 +00:00
link2xt be3685519f Document ports 80 and 443 and add more hyperlinks 2023-12-21 16:16:17 +00:00
link2xtandmissytake 85a9183b61 Do not call show_dns with run args 2023-12-19 19:39:49 +01:00
link2xt 3d00ca1672 doveauth: add support for Dovecot 2.3.16 2023-12-18 19:44:11 +00:00
link2xtandholger krekel 485bbb9cbd Let acmetool manage port 80
This avoids circular dependency with nginx.
nginx needs a certificate to start
and getting a certificate requires someone
listening on port 80.
2023-12-18 16:36:36 +01:00
link2xt 92ca3283fd Add metrics 2023-12-14 22:22:10 +00:00
1c0543cb46 Update README.md
Co-authored-by: missytake <missytake@systemli.org>
2023-12-12 23:37:16 +01:00
link2xtandholger krekel dde879c7fc Add scripts/cmdeploy 2023-12-12 23:37:16 +01:00
link2xt cf95dfd49d Setup unbound DNS resolver 2023-12-12 21:52:05 +00:00
link2xt 4a96f19faf s/fuff/ruff/ 2023-12-12 20:29:34 +00:00
link2xt a2a78c0aff Do not attmpt to activate venv from scripts/initenv.sh
If you run it as scripts/initenv.sh,
activating venv is useless as bash will exit immediately afterwards.

If you `source` it as suggested by README.md,
`set -e` will set the flag for the current shell
and your shell will exit as soon as some command returns non-zero status,
e.g. cmdeploy fails or you simply do `ls /foo/bar/baz` and `ls`
complains that `/foo/bar/baz` does not exist.
2023-12-12 20:22:34 +00:00
link2xtandmissytake d7683ed3f7 Move ssl_certificate back to http and fix indentation 2023-11-25 00:39:27 +01:00
link2xt 322bc9a3aa Set critical flag on generated CAA record
This does not really matter as Let's Encrypt
supports current CAA `issue` syntax,
but may be useful if more records are added and this flag is copy-pasted.

For reference: <https://www.rfc-editor.org/rfc/rfc8659#name-critical-flag>
2023-11-13 15:12:32 +00:00
link2xtandholger krekel e4009854dc Add NOTIFY capability
Delta Chat does not use it now,
but should: <https://github.com/deltachat/deltachat-core-rust/issues/4983>
Having no capability will confuse whoever develops it.
2023-11-12 20:41:29 +01:00
link2xt 9e14a741c3 Autoformat tests with black 2023-11-08 20:29:44 +00:00
link2xt 01fcb9ae0e Fix None dereference in benchmarks 2023-11-08 20:29:21 +00:00
link2xt 064f6d36ad Fix path in scripts/bench.sh 2023-11-08 20:23:14 +00:00
link2xt 251aac18fb fix(dictproxy): check that user exists and create it in a transaction
Otherwise user may be already created by another connection
as checking if the user exists happens
in a different read-only transaction.
This happens when Delta Chat connects IMAP and SMTP at the same time.

Also update last_login time on login.
2023-11-08 19:34:17 +00:00
link2xtandholger krekel f46bf2f670 Remove authentication logs from dictproxy
They log the passwords and make it difficult to spot actual exceptions.
2023-11-07 21:04:33 +01:00
link2xt 5633c0612e dovecot: increase number of simultaneous connections handled by imap-login
Otherwise deltachat core CI running fails with "Connection queue full"
error on IMAP connections.
2023-10-29 19:09:33 +00:00
link2xt f75eb0658c Require that passwords are at least 10 characters long 2023-10-28 13:38:15 +00:00
link2xt 7c5ec1e0df Add scripts/generate-dns-zone.sh 2023-10-24 21:23:20 +00:00
link2xtandholger krekel 7ee84b44df Use tox -c option 2023-10-22 14:48:30 +02:00
link2xtandholger krekel 02205246dd Setup deltachat dependency in init.sh 2023-10-22 14:48:30 +02:00
link2xtandholger krekel eb69dd58f7 Setup CI 2023-10-20 15:18:17 +02:00
link2xtandholger krekel 31c45f951d dictproxy: use crypt instead of doveadm pw 2023-10-20 14:05:25 +02:00
link2xt 902f98c9ba Set syslog name for reinject proxy 2023-10-19 03:22:27 +00:00
link2xtandGitHub 89311063f8 Turn filtermail into a beforequeue handler and implement rate limit 2023-10-19 03:04:00 +00:00
link2xt 1cdc5d1351 Revert "open a persistent client between the BeforeQueueHandler and postfix smtpd without content filter"
This reverts commit fb2ea27477.
2023-10-19 02:22:38 +00:00
link2xt 30680cb170 filtermail: port is args[0], not args[1] 2023-10-19 02:22:30 +00:00
link2xt c514fb00a3 Import SMTP from aiosmtpd.lmtp, not aiosmtpd.smtp 2023-10-19 02:22:15 +00:00
link2xtandholger krekel 329b845c79 Configure journald to retain logs for 3 days 2023-10-18 22:54:50 +02:00
link2xtandholger krekel 76765164dc Deploy nginx and autoconfig XML 2023-10-18 18:32:28 +02:00
link2xt 1ea25eb28c Add /etc/mailname 2023-10-17 19:27:57 +00:00
link2xt 5936f7a3be postfix: disable virtual and local MDAs
We do not need them, all mails are delivered to Dovecot over LMTP.
2023-10-16 22:21:39 +00:00
link2xt 983ffa6236 Disable acmetool redirector 2023-10-16 22:12:45 +00:00
link2xt 179c79a052 Allow to send securejoin 2023-10-16 21:15:56 +00:00
link2xt 408da296f1 test.sh: do not run slow tests by default 2023-10-16 20:13:41 +00:00
link2xt cf1be90115 Switch from BLF-CRYPT to SHA512-CRYPT 2023-10-15 21:42:14 +00:00
link2xt 5781d3b04e Make scripts/measure_tls_and_logins.py executable 2023-10-15 21:42:14 +00:00
link2xt 862b09d268 dovecot: enable authentication cache 2023-10-15 21:42:14 +00:00
link2xt 9b438a7a96 Test different users logging in with the same password 2023-10-15 21:42:14 +00:00
link2xt a107fb3cca Avoid reusing accounts between tests
Add time as a prefix.
2023-10-15 21:42:14 +00:00
link2xt 2a59cd4702 Do not apt update more than once a day 2023-10-15 20:31:13 +00:00
link2xt 57df5e254c Require that encrypted messages have "..." as a Subject 2023-10-15 19:10:25 +00:00
link2xt 20b7af9d71 filtermail: more robust check_encrypted() 2023-10-15 19:10:14 +00:00
link2xt b05154b818 Remove chatmaild merging from the plan 2023-10-15 16:09:29 +00:00
link2xt aab0a1f992 Update chatmaild README 2023-10-15 16:08:58 +00:00
link2xt 40ad67dc20 Merge doveauth and filtermail folders 2023-10-15 16:07:26 +00:00
link2xt b548a8ddbd Merge doveauth and filtermail into chatmaild 2023-10-15 15:57:36 +00:00
link2xt 262eb36a5c Rename chatmail-pyinfra into deploy-chatmail 2023-10-15 15:40:17 +00:00
link2xt 08a88d0fb3 dictproxy: log to stderr 2023-10-15 12:59:59 +00:00
link2xtandholger krekel 23145cad28 Encrypt the passwords in the database
There is also no need to compare the passwords manually,
dovecot does it for us.
2023-10-15 14:49:44 +02:00
link2xt f85e4cdbd5 Add scripts/remote-deploy.sh
It is faster than deploying over SSH,
23 seconds vs 40 seconds here.
2023-10-15 01:06:38 +00:00
link2xtandGitHub 1d7ebfa7a5 Do not build wheels and use a single dist/ directory (#11)
Only sdists are used for deployment.
2023-10-14 23:35:06 +00:00
link2xt c9dc32bd10 Add filtermail 2023-10-14 21:52:47 +00:00
link2xtandmissytake 453910c57e Remove hardcoded domain from doveauth.py 2023-10-13 21:12:56 +02:00
link2xtandmissytake dd9b33907a Log the lookup command in doveauth.lua 2023-10-13 21:12:56 +02:00
link2xt 3b0037dc3a scripts/deploy.sh: allow to set $CHATMAIL_DOMAIN externally 2023-10-13 17:29:41 +00:00
link2xtandGitHub 4b82fd6f77 Add init.sh and deploy.sh scripts (#2) 2023-10-13 16:14:02 +02:00
link2xt 9da375cf5c README: add --ssh-user root 2023-10-13 14:06:30 +00:00