1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2026-10-28 15:02:28 +00:00
Alberto Bertogli b3b1f39d85 dkim: Use same header name folding for signing and verifying
Today, we fold header names with strings.EqualFold when signing, but
strings.ToLower when verifying.

This should be harmless for valid messages (that have only ASCII
characters in the header names), but if one contains an (invalid) header
with a non-ASCII character, we could fail to verify the message we sign.

The inconsistency would only happen if a header has a non-ASCII
character that strings.EqualFold and strings.ToLower handle differently
(like "ſubject", with U+017F).

To make signing and verifying consistent, this patch makes signing use
strings.ToLower.

This bug was found by fuzzing the sign-verify cycle, which will be added
in a later patch.
2026-10-09 21:34:17 +01:00
2026-10-09 00:00:12 +01:00
2023-10-03 23:34:23 +01:00
2016-11-03 00:51:59 +00:00
2026-10-04 18:39:56 +01:00

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.

Go tests Go Report Card Coverage
Docs OFTC IRC

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
    • Multiple/virtual domains, with per-domain users and aliases.
    • Suffix dropping (user+something@domain → user@domain).
    • Hooks for integration with greylisting, anti-virus, and anti-spam.
    • International usernames (SMTPUTF8) and domain names (IDNA).
  • 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.

S
Description
No description provided
Readme 2.5 MiB
Languages
Go 84.1%
Shell 11.1%
Python 2.8%
Dockerfile 1%
CSS 0.7%
Other 0.3%