Class AuthenticationResultsHeader
- Namespace
- MailFathom.Domain.Emails.Authentication
- Assembly
- MailFathom.Domain.dll
One Authentication-Results header of a message, read but not yet believed.
public sealed record AuthenticationResultsHeader : IEquatable<AuthenticationResultsHeader>
- Inheritance
-
AuthenticationResultsHeader
- Implements
- Inherited Members
Remarks
The header is grouped rather than flattened because the grouping is the security property. RFC 8601 has every producing server write its own identifier into the header it adds, and a consumer reads only the headers bearing the identifier it trusts — so a set of outcomes with the identifier stripped off is a set nothing can be trusted from, however true each outcome is.
Both bounds below exist because a message decides how many headers it carries and how much each of them says. What falls past a bound is the tail of a repetition an attacker could have written, and the topmost headers — the ones a receiving server adds and the only ones a trusted reading ever uses — are the ones kept.
Constructors
- AuthenticationResultsHeader(string, IReadOnlyList<ReportedAuthenticationMethod>)
One
Authentication-Resultsheader of a message, read but not yet believed.
Fields
- MaximumHeaderValueLength
The greatest length one header's value may have before it is passed over unread. It is generous against every header a mail server actually writes and small enough that a message cannot spend its whole size allowance on a single header for a parser to walk.
- MaximumHeadersPerMessage
The greatest number of
Authentication-Resultsheaders read from one message, counted from the top.
- MaximumMethodsPerHeader
The greatest number of method outcomes read from one header.
- MaximumPropertiesPerMethod
The greatest number of properties read from one method outcome.
Properties
- AuthorityIdentifier
The authserv-id the producing server wrote, which is what a trusted reading matches on.
- Methods
The outcomes the header stated, in the order it wrote them.