mirror of
https://blitiri.com.ar/repos/chasquid
synced 2026-10-28 15:02:28 +00:00
9de93edf77d34b0196e54dcee65561198292d5b4
Today we rely on net/mail.ParseAddress to do most of the validation of the addresses, and it is quite effective at it. But it does not reject addresses with control characters, which could end up verbatim in problematic places (e.g. logs). Specifically the C1 characters, like U+009B (Control Sequence Introducer) will pass through and could be problematic, since it is interpreted by some terminals. It also allows (quoted) parenthesis, which could confuse Received header parsers. This is mainly harmless, but it can be confusing when troubleshooting. Today, we also reject addresses with more than one @, but as a side-effect of domain validation. To reduce the chances of problems later, this patch rejects addresses if they contain control characters (which is a behaviour change), or more than one @ (which is pre-existing, but now we fail in a more explicit way). It also escapes the addresses containing parenthesis in the Received header, to make debugging info clearer, and keep the header structure compliant.
chasquid
chasquid is an SMTP (email) server with a focus on simplicity, security, and ease of operation.
It is designed mainly for individuals and small groups.
It's written in Go, and distributed under the Apache license 2.0.
Features
- Easy
- Easy to configure.
- Hard to mis-configure in ways that are harmful or insecure (e.g. no open relay, or clear-text authentication).
- Monitoring HTTP server, with exported variables and tracing to help debugging.
- Integrated with Debian, Ubuntu, Arch, and Alpine.
- Supports using Dovecot for authentication.
- Useful
- Secure
- Tracking of per-domain TLS support, prevents connection downgrading.
- Multiple TLS certificates.
- Easy integration with Let's Encrypt.
- SPF and MTA-STS checking.
- DKIM support (signing and verification).
Documentation
The how-to guide and the installation guide are the best starting points on how to install, configure and run chasquid.
You will find all documentation here.
Contact
If you have any questions, comments or patches, please send them to the mailing
list,
chasquid@googlegroups.com.
To subscribe, send an email to chasquid+subscribe@googlegroups.com.
Security issues can be reported privately to albertito@blitiri.com.ar.
Bug reports and pull requests on GitHub are also welcome.
You can also reach out via IRC, #chasquid on OFTC.
Description
Languages
Go
84.1%
Shell
11.1%
Python
2.8%
Dockerfile
1%
CSS
0.7%
Other
0.3%