Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions cmdeploy/src/cmdeploy/postfix/lmtp_header_cleanup
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
/^DKIM-Signature:/ IGNORE
/^Authentication-Results:/ IGNORE
/^Received:/ IGNORE
# List of headers for incoming messages
# that must be retained for functionality and compatibility reasons
/^From:/ DUNNO
/^Message-Id:/ DUNNO
/^Chat-/ DUNNO
/^Content-Type:/ DUNNO

# For receiving clear-text messages (still supported in May 2026)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not only for cleartext, but any incoming encrypted messages that don't have header protection for these headers.

Copy link
Copy Markdown
Contributor

@hpk42 hpk42 May 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, maybe best if you suggest a wording?

sidenote: ultimately, end-to-end encryption should require header protection, and anything else is roughly considered cleartext, as are messages today that are only encrypted and not signed. we don't need to cargo-carry forward some Autocrypt L1 scope from 8 years ago.

/^Subject:/ DUNNO
/^Date:/ DUNNO
Comment thread
feld marked this conversation as resolved.
/^To:/ DUNNO
/^CC:/ DUNNO
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these checks case-sensitive? Is Cc: accepted?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, header comparisons are generally case-insensitive, and postfix defaults to case-insensitive. you have to do something special like "/^xal:/i DUNNO" if you want to have case sensitive IIRC.

/^References:/ DUNNO
/^In-Reply-To:/ DUNNO

# Senders might support Autocrypt 1 but not RFC9788 (Header Protection)
/^Autocrypt:/ DUNNO

# SecureJoin V2 protocol headers (for backward compatibility)
/^Secure-Join/ DUNNO

# Ignore all other headers
/.*/ IGNORE
Comment thread
feld marked this conversation as resolved.