The NNTP dæmon transforms the posted messages that it receives from News User Agents to a canonical form. It also places requirements on messages that it receives from peer NetNews nodes, which it expects to already be in canonical form.
The transformation of a message to canonical form involves two things: a default client domain name and a default server domain name. NNTPD obtains both, for any given NNTP/TCP session, by constructing "domain literals" of the IP addresses of the server and client ends of the TCP connection.
Canonicalization applies to messages submitted in reader mode, via the
post verb. It transforms the following headers in the
message:
Content-Length:,
NNTP-Posting-Host:,
NNTP-Posting-Date:,
Path:, and
XRef:
Date:Subject:Message-ID:Newsgroups:Sender: and
From:
NNTPD rejects messages for reasons determined from header contents. These are not part of the message canonicalization process per se, however, and structly speaking apply to posted messages in their final, canonical, forms.
NNTPD requires messages submitted in "peer" mode, via the
ihave verb, to already be in canonical form. Such canonical
form requires the presence of syntactically correct
Message-ID:, Newsgroups:, and
From:headers; and the presence of Date: and
Path: headers.