You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ARC headers which are calculated all contain "\r\n" line terminations.
./lib/Sympa/Message.pm "as_string()" then combines various headers with different
line terminations to end up with (^M is a "\r" carriage return character)
If a bare CR is encountered within a header line, an extra space is added after the line terminator so as not to end the header line. The reasoning behind this is that bare CRs in header lines are most likely either to be mistakes, or people trying to play silly games.
If the first header line received in a message ends with CRLF, a subsequent bare LF in a header line is treated in the same way as a bare CR in a header line.
Consequently all of the headers after "ARC-Authentication-Results:" are indented by one character.
I think that the solution may be as simple as removing stray \r characters from the ARC headers.
ikedas
changed the title
Bad interaction between arc_feature and Exim Mail Transport Agent
Newlines in header fields added by ARC feature should be normalized
May 12, 2021
ikedas
added a commit
to ikedas/sympa
that referenced
this issue
May 12, 2021
Version
Sympa 6.2.62.
Exim 4.94.2
Installation method
My own RPM on RHEL 7, derived from official source RPM
Expected behavior
Sympa should be able to add:
ARC-Seal:
ARC-Message-Signature:
ARC-Authentication-Results:
without breaking the message headers that it is signing.
Actual behavior
Exim indents all the following message headers by one space (yes really: I will explain why below) so the headers are not shown to Mail User Agents.
Additional information
./lib/Sympa/Message.pm arc_seal() adds \r characters to message headers before it calculates the ARC headers:
The ARC headers which are calculated all contain "\r\n" line terminations.
./lib/Sympa/Message.pm "as_string()" then combines various headers with different
line terminations to end up with (^M is a "\r" carriage return character)
Postfix may be able to cope with the mixture of "\r\n" and "\n" line endings.
Unfortunately Exim concludes that the input is broken and takes (rather amusing) countermeasures:
https://www.exim.org/exim-html-current/doc/html/spec_html/ch-message_processing.html
Consequently all of the headers after "ARC-Authentication-Results:" are indented by one character.
I think that the solution may be as simple as removing stray \r characters from the ARC headers.
The text was updated successfully, but these errors were encountered: