Table of Contents

Struct TrustedAuthenticationAuthority

Namespace
MailFathom.Domain.Emails.Authentication
Assembly
MailFathom.Domain.dll

The authserv-id of the one server whose sender-authentication statements an account believes.

public readonly record struct TrustedAuthenticationAuthority : IEquatable<TrustedAuthenticationAuthority>
Implements
Inherited Members

Remarks

Authentication-Results is an ordinary header, so anything upstream of the receiving server can write one, and a message arriving with a fabricated header claiming that everything passed is precisely what an attacker sends. RFC 8601 answers that by having each producing server stamp its own identifier into the header it adds, and by having a consumer read only the headers carrying the identifier it trusts.

The value is a property of who receives an account's mail rather than of MailFathom, which is why it is configured per account and why None is a usable state rather than a misconfiguration to work around. An account that names no authority believes no header at all, and every message it holds carries the not-established verdict.

Only the comparison form is kept. Nothing displays an authserv-id, and the failure rules refuse a host name in any message a boundary publishes, so a second copy in the original casing would exist for nothing.

Fields

MaximumLength

The greatest length a configured authserv-id may have, which is the length of a domain name.

Properties

NamesAServer

Gets whether this authority names a server, which is false exactly for None.

None

Gets the authority that believes nothing, which is what an account configuring none has.

NormalizedValue

Gets the comparison form of the configured identifier, which a header's own identifier is matched against.

Methods

Produced(string?)

Answers whether one header's authserv-id is this authority's.

ToString()

Returns the fully qualified type name of this instance.

TryCreate(string?, out TrustedAuthenticationAuthority)

Builds an authority from what a deployment configured.