draft-ietf-usefor-article-11.txt   draft-ietf-usefor-article-12.txt 
INTERNET-DRAFT Charles H. Lindsey INTERNET-DRAFT Charles H. Lindsey
Usenet Format Working Group University of Manchester Usenet Format Working Group University of Manchester
June 2003 November 2003
News Article Format News Article Format and Transmission
<draft-ietf-usefor-article-11.txt> <draft-ietf-usefor-article-12.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. all provisions of Section 10 of RFC 2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 55 skipping to change at page 1, line 54
Backward compatibility has been a major goal of this endeavour, but Backward compatibility has been a major goal of this endeavour, but
where this standard and earlier documents or practices conflict, this where this standard and earlier documents or practices conflict, this
standard should be followed. In most such cases, current practice is standard should be followed. In most such cases, current practice is
already compatible with these changes. already compatible with these changes.
[Draft-10 removed all the Internationalization features (i.e. those [Draft-10 removed all the Internationalization features (i.e. those
involving the use of the UTF-8 charset in headers). This is being done involving the use of the UTF-8 charset in headers). This is being done
so as to facilitate publishing those features, or similar ones, as an so as to facilitate publishing those features, or similar ones, as an
experimental protocol at a later stage. experimental protocol at a later stage.
This present draft is derived from draft-10 by removing many A companion Current Best Practice document [USEAGE], addressing
requirements which were present for Social rather than Normative reasons requirements which are present for Social rather than Normative reasons
News Article Format June 2003 News Article Format and Transmission November 2003
(and in particular the word "Ought" with its specially defined meaning is in preparation.
is no longer used). These former requirements will now appear in a
companion Informational document/*(us.
There may well be a further split of the present draft into a There may well be a further split of the present draft into a
syntax/semantics part and a protocol part. Thus this present draft is syntax/semantics part and a protocol part. Thus this present draft is
but an intermediate stage in an ongoing development process.] but an intermediate stage in an ongoing development process.]
[The use of the words "this standard" within this document when [The use of the words "this standard" within this document when
referring to itself does not imply that this draft yet has pretensions referring to itself does not imply that this draft yet has pretensions
to be a standard, but rather indicates what will become the case if and to be a standard, but rather indicates what will become the case if and
when it is accepted as an RFC with the status of a proposed or draft when it is accepted as an RFC with the status of a proposed or draft
standard.] standard.]
[Remarks enclosed in square brackets and aligned with the left margin, [Remarks enclosed in square brackets and aligned with the left margin,
such as this one, are not part of this draft, but are editorial notes to such as this one, are not part of this draft, but are editorial notes to
explain matters amongst ourselves, or to point out alternatives, or to explain matters amongst ourselves, or to point out alternatives, or to
assist the RFC Editor.] assist the RFC Editor.]
skipping to change at page 2, line 27 skipping to change at page 2, line 26
standard.] standard.]
[Remarks enclosed in square brackets and aligned with the left margin, [Remarks enclosed in square brackets and aligned with the left margin,
such as this one, are not part of this draft, but are editorial notes to such as this one, are not part of this draft, but are editorial notes to
explain matters amongst ourselves, or to point out alternatives, or to explain matters amongst ourselves, or to point out alternatives, or to
assist the RFC Editor.] assist the RFC Editor.]
[In this draft, references to [NNTP] are to be replaced by [RFC 977], or [In this draft, references to [NNTP] are to be replaced by [RFC 977], or
else by references to the RFC arising from the series of drafts draft- else by references to the RFC arising from the series of drafts draft-
ietf-nntpext-base-*.txt, in the event that such RFC has been accepted at ietf-nntpext-base-*.txt, in the event that such RFC has been accepted at
the time this document is published. Likewise, if may be possible to the time this document is published.]
replace references to [RFC 2279] by references to [RFC 2279bis].]
Table of Contents Table of Contents
1. Introduction .................................................. 6 1. Introduction .................................................. 6
1.1. Basic Concepts ............................................ 6 1.1. Basic Concepts ............................................ 6
1.2. Objectives ................................................ 6 1.2. Objectives ................................................ 6
1.3. Historical Outline ........................................ 7 1.3. Historical Outline ........................................ 7
1.4. Transport ................................................. 7 1.4. Transport ................................................. 7
2. Definitions, Notations and Conventions ........................ 7 2. Definitions, Notations and Conventions ........................ 7
2.1. Definitions ............................................... 7 2.1. Definitions ............................................... 7
2.2. Textual Notations ......................................... 9 2.2. Textual Notations ......................................... 9
2.3. Relation To Email and MIME ................................ 10 2.3. Relation To Email and MIME ................................ 10
2.4. Syntax .................................................... 10 2.4. Syntax .................................................... 10
2.4.1. Syntax Notation ....................................... 10 2.4.1. Syntax Notation ....................................... 10
2.4.2. Syntax adapted from Email and MIME .................... 11 2.4.2. Syntax copied from other standards .................... 11
2.4.3. Syntax copied from other standards .................... 13 2.4.3. Syntax adapted from Email and MIME .................... 13
2.5. Language .................................................. 15 2.5. Language .................................................. 15
3. Changes to the existing protocols ............................. 15 3. Changes to the existing protocols ............................. 15
3.1. Principal Changes ......................................... 15 3.1. Principal Changes ......................................... 15
3.2. Transitional Arrangements ................................. 16 3.2. Transitional Arrangements ................................. 16
4. Basic Format .................................................. 17 4. Basic Format .................................................. 17
4.1. Syntax of News Articles ................................... 17 4.1. Syntax of News Articles ................................... 17
4.2. Headers ................................................... 18 4.2. Headers ................................................... 18
4.2.1. Naming of Headers ..................................... 18 4.2.1. Naming of Headers ..................................... 18
4.2.2. MIME-style Parameters ................................. 19 4.2.2. MIME-style Parameters ................................. 19
4.2.3. White Space and Continuations ......................... 20 4.2.3. White Space and Continuations ......................... 20
4.2.4. Comments .............................................. 21 4.2.4. Comments .............................................. 21
4.2.5. Header Properties ..................................... 22 4.2.5. Header Properties ..................................... 22
4.2.5.1. Experimental Headers .............................. 22 4.2.5.1. Experimental Headers .............................. 22
4.2.5.2. Inheritable Headers ............................... 22 4.2.5.2. Inheritable Headers ............................... 22
News Article Format June 2003
4.2.5.3. Variant Headers ................................... 22 4.2.5.3. Variant Headers ................................... 22
4.2.6. Undesirable Headers ................................... 23
4.3. Body ...................................................... 23 4.3. Body ...................................................... 23
4.3.1. Body Format Issues .................................... 23 News Article Format and Transmission November 2003
4.3.2. Body Conventions ...................................... 23
4.4. Characters and Character Sets ............................. 23 4.4. Octets, Characters and Character Sets ..................... 23
4.4.1. Character Sets within Article Headers ................. 24 4.4.1. Character Sets within Article Headers ................. 24
4.4.2. Character Sets within Article Bodies .................. 25 4.4.2. Character Sets within Article Bodies .................. 24
4.5. Size Limits ............................................... 25 4.5. Size Limits ............................................... 24
4.6. Example ................................................... 26 4.6. Example ................................................... 25
5. Mandatory Headers ............................................. 26 5. Mandatory Headers ............................................. 26
5.1. Date ...................................................... 26 5.1. Date ...................................................... 26
5.1.1. Examples .............................................. 27 5.1.1. Examples .............................................. 26
5.2. From ...................................................... 27 5.2. From ...................................................... 26
5.2.1. Examples: ............................................ 27 5.2.1. Examples: ............................................ 27
5.3. Message-ID ................................................ 28 5.3. Message-ID ................................................ 27
5.4. Subject ................................................... 29 5.4. Subject ................................................... 28
5.5. Newsgroups ................................................ 29 5.5. Newsgroups ................................................ 28
5.5.1. Forbidden newsgroup-names ............................. 31 5.5.1. Forbidden newsgroup-names ............................. 30
5.6. Path ...................................................... 31 5.6. Path ...................................................... 31
5.6.1. Format ................................................ 32 5.6.1. Format ................................................ 31
5.6.2. Adding a path-identity to the Path-header ............. 32 5.6.2. Adding a path-identity to the Path-header ............. 32
5.6.3. The tail-entry ........................................ 34 5.6.3. The tail-entry ........................................ 33
5.6.4. Path-Delimiter Summary ................................ 34 5.6.4. Path-Delimiter Summary ................................ 33
5.6.5. Suggested Verification Methods ........................ 35 5.6.5. Example ............................................... 34
5.6.6. Example ............................................... 35 6. Optional Headers .............................................. 35
6. Optional Headers .............................................. 36 6.1. Reply-To .................................................. 35
6.1. Reply-To .................................................. 36 6.1.1. Examples .............................................. 35
6.1.1. Examples .............................................. 36 6.2. Sender .................................................... 35
6.2. Sender .................................................... 36 6.3. Organization .............................................. 36
6.3. Organization .............................................. 37 6.4. Keywords .................................................. 36
6.4. Keywords .................................................. 37 6.5. Summary ................................................... 36
6.5. Summary ................................................... 37 6.6. Distribution .............................................. 36
6.6. Distribution .............................................. 37 6.7. Followup-To ............................................... 37
6.7. Followup-To ............................................... 38 6.8. Mail-Copies-To ............................................ 38
6.8. Mail-Copies-To ............................................ 39
6.9. Posted-And-Mailed ......................................... 39 6.9. Posted-And-Mailed ......................................... 39
6.10. References ............................................... 40 6.10. References ............................................... 39
6.10.1. Examples ............................................. 40 6.10.1. Examples ............................................. 40
6.11. Expires .................................................. 41 6.11. Expires .................................................. 40
6.12. Archive .................................................. 41 6.12. Archive .................................................. 40
6.13. Control .................................................. 42 6.13. Control .................................................. 41
6.14. Approved ................................................. 42 6.14. Approved ................................................. 42
6.15. Supersedes ............................................... 43 6.15. Supersedes ............................................... 42
6.16. Xref ..................................................... 44 6.16. Xref ..................................................... 43
6.17. Lines .................................................... 44 6.17. Lines .................................................... 44
6.18. User-Agent ............................................... 45 6.18. User-Agent ............................................... 44
6.18.1. Examples ............................................. 45 6.18.1. Examples ............................................. 45
6.19. Injector-Info ............................................ 46 6.19. Injector-Info ............................................ 45
6.19.1. Usage of Injector-Info-parameters .................... 47 6.19.1. Usage of Injector-Info-parameters .................... 46
6.19.1.1. The posting-host-parameter ....................... 47 6.19.1.1. The posting-host-parameter ....................... 47
6.19.1.2. The posting-account-parameter .................... 48 6.19.1.2. The posting-account-parameter .................... 47
6.19.1.3. The posting-sender-parameter ..................... 48 6.19.1.3. The posting-sender-parameter ..................... 47
6.19.1.4. The posting-logging-parameter .................... 48 6.19.1.4. The posting-logging-parameter .................... 47
News Article Format June 2003 6.19.1.5. The posting-date-parameter ....................... 47
6.19.1.5. The posting-date-parameter ....................... 48
6.19.2. Example .............................................. 48 6.19.2. Example .............................................. 48
6.20. Complaints-To ............................................ 48 6.20. Complaints-To ............................................ 48
6.21. MIME headers ............................................. 49 6.21. MIME headers ............................................. 48
6.21.1. Syntax ............................................... 49 6.21.1. Syntax ............................................... 48
6.21.2. Content-Type ......................................... 50 6.21.2. Content-Type ......................................... 49
News Article Format and Transmission November 2003
6.21.3. Content-Transfer-Encoding ............................ 50 6.21.3. Content-Transfer-Encoding ............................ 50
6.21.4. Character Sets ....................................... 51 6.21.4. Definition of some new Content-Types ................. 50
6.21.5. Content Disposition .................................. 51 6.21.4.1. Application/news-transmission .................... 50
6.21.6. Definition of some new Content-Types ................. 51 6.21.4.2. Message/news obsoleted ........................... 52
6.21.6.1. Application/news-transmission .................... 51 6.22. Obsolete Headers ......................................... 52
6.21.6.2. Message/news obsoleted ........................... 53 7. Control Messages .............................................. 52
6.22. Obsolete Headers ......................................... 53
7. Control Messages .............................................. 53
7.1. Digital Signature of Headers .............................. 53 7.1. Digital Signature of Headers .............................. 53
7.2. Group Control Messages .................................... 54 7.2. Group Control Messages .................................... 53
7.2.1. The 'newgroup' Control Message ........................ 54 7.2.1. The 'newgroup' Control Message ........................ 53
7.2.1.1. The Body of the 'newgroup' Control Message ........ 55 7.2.1.1. The Body of the 'newgroup' Control Message ........ 54
7.2.1.2. Application/news-groupinfo ........................ 55 7.2.1.2. Application/news-groupinfo ........................ 54
7.2.1.3. Initial Articles .................................. 56 7.2.1.3. Initial Articles .................................. 55
7.2.1.4. Example ........................................... 57 7.2.1.4. Example ........................................... 56
7.2.2. The 'rmgroup' Control Message ......................... 58 7.2.2. The 'rmgroup' Control Message ......................... 57
7.2.2.1. Example ........................................... 58 7.2.2.1. Example ........................................... 57
7.2.3. The 'mvgroup' Control Message ......................... 58 7.2.3. The 'mvgroup' Control Message ......................... 57
7.2.3.1. Example ........................................... 60 7.2.3.1. Example ........................................... 59
7.2.4. The 'checkgroups' Control Message ..................... 60 7.2.4. The 'checkgroups' Control Message ..................... 59
7.2.4.1. Application/news-checkgroups ...................... 61 7.2.4.1. Application/news-checkgroups ...................... 60
7.3. Cancel .................................................... 62 7.3. Cancel .................................................... 61
7.4. Ihave, sendme ............................................. 63 7.4. Ihave, sendme ............................................. 62
7.5. Obsolete control messages. ............................... 64 7.5. Obsolete control messages. ............................... 63
8. Duties of Various Agents ...................................... 64 8. Duties of Various Agents ...................................... 63
8.1. General principles to be followed ......................... 64 8.1. General principles to be followed ......................... 63
8.2. Duties of an Injecting Agent .............................. 65 8.2. Duties of an Injecting Agent .............................. 64
8.2.1. Proto-articles ........................................ 65 8.2.1. Proto-articles ........................................ 64
8.2.2. Procedure to be followed by Injecting Agents .......... 65 8.2.2. Procedure to be followed by Injecting Agents .......... 64
8.3. Duties of a Relaying Agent ................................ 67 8.3. Duties of a Relaying Agent ................................ 66
8.4. Duties of a Serving Agent ................................. 68 8.4. Duties of a Serving Agent ................................. 67
8.5. Duties of a Posting Agent ................................. 69 8.5. Duties of a Posting Agent ................................. 68
8.6. Duties of a Followup Agent ................................ 70 8.6. Duties of a Followup Agent ................................ 69
8.7. Duties of a Moderator ..................................... 71 8.7. Duties of a Moderator ..................................... 70
8.8. Duties of a Gateway ....................................... 73 8.8. Duties of a Gateway ....................................... 72
8.8.1. Duties of an Outgoing Gateway ......................... 74 8.8.1. Duties of an Outgoing Gateway ......................... 73
8.8.2. Duties of an Incoming Gateway ......................... 74 8.8.2. Duties of an Incoming Gateway ......................... 73
8.8.3. Example ............................................... 76 8.8.3. Example ............................................... 75
9. Security and Related Considerations ........................... 77 9. Security and Related Considerations ........................... 76
9.1. Leakage ................................................... 77 9.1. Leakage ................................................... 76
9.2. Attacks ................................................... 78 9.2. Attacks ................................................... 77
9.2.1. Denial of Service ..................................... 78 9.2.1. Denial of Service ..................................... 77
9.2.2. Compromise of System Integrity ........................ 79 9.2.2. Compromise of System Integrity ........................ 78
9.3. Liability ................................................. 80 9.3. Liability ................................................. 79
10. IANA Considerations .......................................... 81 10. IANA Considerations .......................................... 80
11. References ................................................... 81 11. References ................................................... 80
12. Acknowledgements ............................................. 83 12. Acknowledgements ............................................. 82
13. Contact Address .............................................. 84 13. Contact Address .............................................. 83
News Article Format June 2003 Appendix A.1 - A-News Article Format .............................. 84
Appendix A.2 - Early B-News Article Format ........................ 84
Appendix A.3 - Obsolete Headers ................................... 85
Appendix A.4 - Obsolete Control Messages .......................... 85
Appendix B - Collected Syntax ..................................... 86
Appendix B.1 - Characters, Atoms and Folding ...................... 86
Appendix B.2 - Basic Forms ........................................ 88
Appendix B.3 - Headers ............................................ 89
News Article Format and Transmission November 2003
Appendix A.1 - A-News Article Format .............................. 85 Appendix B.3.1 - Header outlines .................................. 89
Appendix A.2 - Early B-News Article Format ........................ 85 Appendix B.3.2 - Control-message outlines ......................... 91
Appendix A.3 - Obsolete Headers ................................... 86 Appendix B.3.3 - Other header rules ............................... 92
Appendix A.4 - Obsolete Control Messages .......................... 86 Appendix C - Notices .............................................. 94
Appendix B - Collected Syntax ..................................... 87 News Article Format and Transmission November 2003
Appendix B.1 - Characters, Atoms and Folding ...................... 87
Appendix B.2 - Basic Forms ........................................ 89
Appendix B.3 - Headers ............................................ 90
Appendix B.3.1 - Header outlines .................................. 90
Appendix B.3.2 - Control-message outlines ......................... 92
Appendix B.3.3 - Other header rules ............................... 93
Appendix C - Notices .............................................. 95
News Article Format June 2003
1. Introduction 1. Introduction
1.1. Basic Concepts 1.1. Basic Concepts
"Netnews" is a set of protocols for generating, storing and "Netnews" is a set of protocols for generating, storing and
retrieving news "articles" (which resemble email messages) and for retrieving news "articles" (which resemble email messages) and for
exchanging them amongst a readership which is potentially widely exchanging them amongst a readership which is potentially widely
distributed. It is organized around "newsgroups", with the distributed. It is organized around "newsgroups", with the
expectation that each reader will be able to see all articles posted expectation that each reader will be able to see all articles posted
skipping to change at page 6, line 34 skipping to change at page 6, line 34
participation to some restricted set of hosts (within some company, participation to some restricted set of hosts (within some company,
for example) is a "closed" network; otherwise it is an "open" for example) is a "closed" network; otherwise it is an "open"
network. A set of hosts within a network which, by mutual network. A set of hosts within a network which, by mutual
arrangement, operates some variant (whether more or less restrictive) arrangement, operates some variant (whether more or less restrictive)
of the Netnews protocols is a "cooperating subnet". of the Netnews protocols is a "cooperating subnet".
"Usenet" is a particular worldwide open network based upon the "Usenet" is a particular worldwide open network based upon the
Netnews protocols, with the newsgroups being organized into Netnews protocols, with the newsgroups being organized into
recognized "hierarchies". Anybody can join (it is simply necessary recognized "hierarchies". Anybody can join (it is simply necessary
to negotiate an exchange of articles with one or more other to negotiate an exchange of articles with one or more other
participating hosts) participating hosts).
A "policy" is a rule intended to facilitate the smooth operation of a A "policy" is a rule intended to facilitate the smooth operation of a
network by establishing parameters which restrict behaviour that, network by establishing parameters which restrict behaviour that,
whilst technically unexceptionable, would nevertheless contravene whilst technically unexceptionable, would nevertheless contravene
some accepted standard of "Good Netkeeping". Since the ultimate some accepted standard of "Good Netkeeping". Since the ultimate
beneficiaries of a network are its human readers, who will be less beneficiaries of a network are its human readers, who will be less
tolerant of poorly designed interfaces than mere computers, articles tolerant of poorly designed interfaces than mere computers, articles
in breach of established policy can cause considerable annoyance to in breach of established policy can cause considerable annoyance to
their recipients. their recipients.
skipping to change at page 6, line 57 skipping to change at page 6, line 57
The purpose of this present standard is to define the format of The purpose of this present standard is to define the format of
articles and the protocols to be used for Netnews in general, and for articles and the protocols to be used for Netnews in general, and for
Usenet in particular, and to set standards to be followed by software Usenet in particular, and to set standards to be followed by software
that implements those protocols. that implements those protocols.
It is NOT the purpose of this standard to settle matters of policy, It is NOT the purpose of this standard to settle matters of policy,
nor aspects of software behaviour which do not impinge upon the nor aspects of software behaviour which do not impinge upon the
generation, transmission, storate and reception of articles, nor how generation, transmission, storate and reception of articles, nor how
the authority of various agencies to exercise control or oversight of the authority of various agencies to exercise control or oversight of
the various parts of Usenet is established. For these purposes, a the various parts of Usenet is established. For these purposes, a
separate informational document [USEAGE] is being provided. separate Best Current Practice document [USEAGE] is being provided.
News Article Format June 2003 News Article Format and Transmission November 2003
Nevertheless, it is assumed that agencies with the necessary Nevertheless, it is assumed that agencies with the necessary
authority will exist, and tools are provided within the protocols for authority will exist, and tools are provided within the protocols for
their use. their use.
1.3. Historical Outline 1.3. Historical Outline
Network news originated as the medium of communication for Usenet, Network news originated as the medium of communication for Usenet,
circa 1980. Since then, Usenet has grown explosively, and many circa 1980. Since then, Usenet has grown explosively, and many
Internet and non-Internet sites participate in it. In addition, the Internet and non-Internet sites participate in it. In addition, the
skipping to change at page 8, line 5 skipping to change at page 8, line 5
"message". A "proto-article" is one that has not yet been injected "message". A "proto-article" is one that has not yet been injected
into the news system. into the news system.
A "message identifier" (5.3) is a unique identifier for an article, A "message identifier" (5.3) is a unique identifier for an article,
usually supplied by the "posting agent" which posted it or, failing usually supplied by the "posting agent" which posted it or, failing
that, by the "injecting agent". It distinguishes the article from that, by the "injecting agent". It distinguishes the article from
every other article ever posted anywhere. Articles with the same every other article ever posted anywhere. Articles with the same
message identifier are treated as if they are the same article message identifier are treated as if they are the same article
regardless of any differences in the body or headers. regardless of any differences in the body or headers.
News Article Format June 2003 News Article Format and Transmission November 2003
A "newsgroup" is a single news forum, a logical bulletin board, A "newsgroup" is a single news forum, a logical bulletin board,
having a name and nominally intended for articles on a specific having a name and nominally intended for articles on a specific
topic. An article is "posted to" a single newsgroup or several topic. An article is "posted to" a single newsgroup or several
newsgroups. When an article is posted to more than one newsgroup, it newsgroups. When an article is posted to more than one newsgroup, it
is said to be "crossposted"; note that this differs from posting the is said to be "crossposted"; note that this differs from posting the
same text as part of each of several articles, one per newsgroup. same text as part of each of several articles, one per newsgroup.
A newsgroup may be "moderated", in which case submissions are not A newsgroup may be "moderated", in which case submissions are not
posted directly, but mailed to a "moderator" for consideration and posted directly, but mailed to a "moderator" for consideration and
possible posting. Moderators are typically human but may be possible posting. Moderators are typically human but may be
implemented partially or entirely in software. implemented partially or entirely in software.
A "hierarchy" is the set of all newsgroups whose names share a first A "hierarchy" is the set of all newsgroups whose names share a first
component (as defined in 5.5). The term "sub-hierarchy" is also used component (as defined in 5.5). The term "sub-hierarchy" is also used
where several initial components are shared. where several initial components are shared.
A "poster" is the person or software that composes and submits a A "poster" is the person or software that composes and submits a
possibly compliant article to a "posting agent". The poster is possibly compliant article to a "posting agent". The poster is
analogous to [RFC 2822]'s author(s). analogous to [RFC 2822]'s author.
A "posting agent" is the software that assists posters to prepare A "posting agent" is the software that assists posters to prepare
proto-articles, in compliance with this standard. The proto-article proto-articles, in compliance with this standard. The proto-article
is then passed on to an "injecting agent" for final checking and is then passed on to an "injecting agent" for final checking and
injection into the news stream. If the article is not compliant, or injection into the news stream. If the article is not compliant, or
is rejected by the injecting agent, then the posting agent informs is rejected by the injecting agent, then the posting agent informs
the poster with an explanation of the error. the poster with an explanation of the error.
A "reader" is the person or software reading news articles. A "reader" is the person or software reading news articles.
skipping to change at page 9, line 5 skipping to change at page 9, line 5
A "sender" is the person or software (usually, but not always, the A "sender" is the person or software (usually, but not always, the
same as the poster) responsible for the operation of the posting same as the poster) responsible for the operation of the posting
agent or, which amounts to the same thing, for passing the article to agent or, which amounts to the same thing, for passing the article to
the injecting agent. The sender is analogous to [RFC 2822]'s sender. the injecting agent. The sender is analogous to [RFC 2822]'s sender.
An "injecting agent" takes the finished article from the posting An "injecting agent" takes the finished article from the posting
agent (often via the NNTP "post" command) performs some final checks agent (often via the NNTP "post" command) performs some final checks
and passes it on to a relaying agent for general distribution. and passes it on to a relaying agent for general distribution.
News Article Format June 2003 News Article Format and Transmission November 2003
A "relaying agent" is software which receives allegedly compliant A "relaying agent" is software which receives allegedly compliant
articles from injecting agents and/or other relaying agents, and articles from injecting agents and/or other relaying agents, and
possibly passes copies on to other relaying agents and serving possibly passes copies on to other relaying agents and serving
agents. agents.
A "news database" is the set of articles and related structural A "news database" is the set of articles and related structural
information stored by a serving agent and made available for access information stored by a serving agent and made available for access
by reading agents. by reading agents.
skipping to change at page 10, line 4 skipping to change at page 10, line 4
While "ASCII" is often misused to refer to various character sets While "ASCII" is often misused to refer to various character sets
somewhat similar to X3.4, in this standard "US-ASCII" is used to mean somewhat similar to X3.4, in this standard "US-ASCII" is used to mean
X3.4 and only X3.4. US-ASCII is a 7 bit character set. Please note X3.4 and only X3.4. US-ASCII is a 7 bit character set. Please note
that this standard requires that all agents be 8 bit clean; that is, that this standard requires that all agents be 8 bit clean; that is,
they must accept and transmit data without changing or omitting the they must accept and transmit data without changing or omitting the
8th bit. 8th bit.
Certain words, when capitalized, are used to define the significance Certain words, when capitalized, are used to define the significance
of individual requirements. The key words "MUST", "REQUIRED", of individual requirements. The key words "MUST", "REQUIRED",
"SHOULD", "RECOMMENDED", "MAY" and "OPTIONAL", and any of those words "SHOULD", "RECOMMENDED", "MAY" and "OPTIONAL", and any of those words
News Article Format June 2003 News Article Format and Transmission November 2003
associated with the word "NOT", are to be interpreted as described in associated with the word "NOT", are to be interpreted as described in
[RFC 2119]. [RFC 2119].
NOTE: The use of "MUST" or "SHOULD" implies a requirement that NOTE: The use of "MUST" or "SHOULD" implies a requirement that
would or could lead to interoperability problems if not would or could lead to interoperability problems if not
followed. followed.
NOTE: A requirement imposed on a relaying or serving agent NOTE: A requirement imposed on a relaying or serving agent
regarding some particular article should be understood as regarding some particular article should be understood as
skipping to change at page 11, line 5 skipping to change at page 11, line 5
2.4. Syntax 2.4. Syntax
The complete syntax defined in this standard is repeated, for The complete syntax defined in this standard is repeated, for
convenience, in Appendix B. convenience, in Appendix B.
2.4.1. Syntax Notation 2.4.1. Syntax Notation
This standard uses the Augmented Backus Naur Form described in [RFC This standard uses the Augmented Backus Naur Form described in [RFC
2234]. 2234].
News Article Format June 2003 News Article Format and Transmission November 2003
In particular, it makes significant use of the "incremental In particular, it makes significant use of the "incremental
alternative" feature of that notation. For example, the two rules alternative" feature of that notation. For example, the two rules
header = other-header header = other-header
header =/ Date-header header =/ Date-header
are equivalent to the single rule are equivalent to the single rule
header = other-header / Date-header header = other-header / Date-header
2.4.2. Syntax adapted from Email and MIME 2.4.2. Syntax copied from other standards
Much of the syntax of Netnews Articles is based on the corresponding
syntax defined in [RFC 2822]. Therefore, wherever in this standard
the syntax is stated to be taken from [RFC 2822], it is to be
understood, unless explicitly stated to the contrary, as the syntax
defined by [RFC 2822], but NOT including any syntax defined in
section 4 ("Obsolete syntax") of [RFC 2822]. Software compliant with
this standard MUST NOT generate any of the syntactic forms defined in
that Obsolete Syntax, although it MAY accept such syntactic forms.
Likewise, certain syntax from the MIME specifications [RFC 2045] et
seq is also considered to have been incorporated into this standard
(see 6.21).
However, there are some differences arising from some special
requirements of Netnews, and the following syntactic rules therefore
supersede the corresponding rules given in [RFC 2822].
NOTE: Netnews parsers historically have been much less
permissive than Email parsers, and this is reflected in the
modifications referred to, and in some further specific rules.
In contradistinction to [RFC 2822], an unstructured header (e.g. a
Subject-header) MUST contain at least one non-whitespace character
(see also remarks about empty headers in 4.2.6).
unstructured = 1*( [FWS] ( utext / encoded-word ) ) [FWS]
Extended-phrases (known somewhat confusingly in [RFC 2822] as obs-
phrases) are introduced to allow headers such as
From: Joe Q. Public <joe@public.example>
without the necessity of using a quoted-string. They MUST be accepted
by compliant software, but they SHOULD NOT be generated until
software capable of accepting them has become widely deployed.
phrase = 1*( [CFWS] encoded-word [CFWS] / word ) /
extended-phrase
extended-phrase = ( [CFWS] encoded-word [CFWS] / word )
*( [CFWS] encoded-word [CFWS] / word /
[CFWS] "." [CFWS] )
[ [RFC 2822] had
obs-phrase = word *( word / "." / CFWS )
Please can Pete check that what I have is equivalent?]
News Article Format June 2003
Within a date-time, two of the obs-zones from [RFC 2822] are retained
because of current widespread usage.
zone = (( "+" / "-" ) 4DIGIT) / "UT" / "GMT"
The forms "UT" and "GMT" (indicating universal time) are to be
regarded as obsolete synonyms for "+0000". They MUST be accepted, and
passed on unchanged, by all agents, but they MUST NOT be generated as
part of new articles by posting and injecting agents.
Msg-ids are redefined to be a "normalized" subset of those defined by
[RFC 2822], ensuring that no string of characters is quoted unless
strictly necessary (it must contain at least one mqspecial) and no
single character is prefixed by a "\" in the form of a quoted-pair
unless strictly necessary, and moreover there is no possibility for
">" or WSP to occur inside a msg-id, whether quoted or not. Thus,
whereas under [RFC 2822]
<abcd@example.com>
<"abcd"@example.com>
<"ab\cd"@example.com>
would be considered semantically equivalent, only the first of them
is syntactically permitted by this standard, and hence a simple
comparison of octets will always suffice to determine the identity of
two msg-ids.
msg-id = "<" id-left "@" id-right ">"
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
no-fold-quote = DQUOTE
*( mqtext / "\\" / "\" DQUOTE )
mqspecial
*( mqtext / "\\" / "\" DQUOTE )
DQUOTE
mqtext = NO-WS-CTL / ; all of <text> except
%d33 / ; SP, HTAB, "\", ">"
%d35-61 / ; and DQUOTE
%d63-91 /
%d93-126
mqspecial = "(" / ")" / ; same as specials except
"<" / ; "\" and DQUOTE quoted
"[" / "]" / ; and ">" omitted
":" / ";" /
"@" / "\\" /
"," / "." /
"\" DQUOTE
no-fold-literal = "[" *( mdtext / "\[" / "\]" / "\\" ) "]"
mdtext = NO-WS-CTL / ; Non white space controls
%d33-61 / ; The rest of the US-ASCII
%d63-90 / ; characters not including
%d94-126 ; ">", "[", "]", or "\"
News Article Format June 2003
2.4.3. Syntax copied from other standards
The following syntactic forms, taken from [RFC 2234] or from [RFC The following syntactic forms for characters, atoms and folding,
2822] and adapted to incorporate variations introduced in [RFC 2047], taken from [RFC 2234] or from [RFC 2822] and adapted to incorporate
are repeated here for convenience only: variations introduced in [RFC 2047], are repeated here for
convenience only:
ALPHA = %x41-5A / ; A-Z ALPHA = %x41-5A / ; A-Z
%x61-7A ; a-z %x61-7A ; a-z
CR = %x0D ; carriage return CR = %x0D ; carriage return
CRLF = CR LF CRLF = CR LF
DIGIT = %x30-39 ; 0-9 DIGIT = %x30-39 ; 0-9
HTAB = %x09 ; horizontal tab HTAB = %x09 ; horizontal tab
LF = %x0A ; line feed LF = %x0A ; line feed
SP = %x20 ; space SP = %x20 ; space
NO-WS-CTL = %d1-8 / ; US-ASCII control characters NO-WS-CTL = %d1-8 / ; US-ASCII control characters
skipping to change at page 13, line 52 skipping to change at page 12, line 4
"&" / "'" / ; Used for atoms "&" / "'" / ; Used for atoms
"*" / "+" / "*" / "+" /
"-" / "/" / "-" / "/" /
"=" / "?" / "=" / "?" /
"^" / "_" / "^" / "_" /
"`" / "{" / "`" / "{" /
"|" / "}" / "|" / "}" /
"~" "~"
atom = [CFWS] 1*atext [CFWS] atom = [CFWS] 1*atext [CFWS]
dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom = [CFWS] dot-atom-text [CFWS]
News Article Format and Transmission November 2003
dot-atom-text = 1*atext *( "." 1*atext ) dot-atom-text = 1*atext *( "." 1*atext )
qcontent = qtext / quoted-pair qcontent = qtext / quoted-pair
quoted-string = [CFWS] DQUOTE quoted-string = [CFWS] DQUOTE
*( [FWS] qcontent ) [FWS] *( [FWS] qcontent ) [FWS]
DQUOTE [CFWS] DQUOTE [CFWS]
word = atom / quoted-string word = atom / quoted-string
The following are taken from [RFC 2045] and [RFC 2231] adapted to use
News Article Format June 2003
the folding syntax from [RFC 2822]:
charset = <registered character set name>
; [RFC 2978]
language = <registered language tag>
; [RFC 3066]
encoded-word = "=?" charset ["*" language] "?" encoding
"?" encoded-text "?="
parameter = regular-parameter / extended-parameter
regular-parameter = [CFWS] regular-parameter-name [CFWS]
"=" value
regular-parameter-name = attribute [section]
attribute = 1*attribute-char
attribute-char= <any (US-ASCII) CHAR except SPACE, CTLs,
"*", "'", "%", or tspecials>
tspecials = "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" / "="
extended-parameter
= ( [CFWS] extended-initial-name [CFWS]
"=" extended-initial-value ) /
( [CFWS] extended-other-names [CFWS]
"=" extended-other-values )
value = [CFWS] token [CFWS] / quoted-string
token = 1*<any (US-ASCII) CHAR except SP, CTLs,
or tspecials>
NOTE: Following [RFC 2234], literal text included in the syntax NOTE: Following [RFC 2234], literal text included in the syntax
is to be regarded as case-insensitive. However, in is to be regarded as case-insensitive. However, in
contradistinction to [RFC 2822], the Netnews protocols are contradistinction to [RFC 2822], the Netnews protocols are
sensitive to case in some instances (as in newsgroup-names, some sensitive to case in some instances (as in newsgroup-names, some
header parameters, etc.). Care has been taken to indicate this header parameters, etc.). Care has been taken to indicate this
explicitly where required. explicitly where required.
As in [RFC 2822], where any quoted-pair appears it is to be As in [RFC 2822], where any quoted-pair appears it is to be
interpreted as its text character alone. That is to say, the "\" interpreted as its text character alone. That is to say, the "\"
character that appears as part of a quoted-pair is semantically character that appears as part of a quoted-pair is semantically
skipping to change at page 15, line 5 skipping to change at page 12, line 40
as to form a quoted-pair, and possibly introducing folding by as to form a quoted-pair, and possibly introducing folding by
prefixing some WSP with CRLF. prefixing some WSP with CRLF.
The semantic value of a quoted-string (i.e. the result of reversing The semantic value of a quoted-string (i.e. the result of reversing
the encapsulation) is a string of characters which includes neither the encapsulation) is a string of characters which includes neither
the optional CFWS outside of the quote characters, nor the quote the optional CFWS outside of the quote characters, nor the quote
characters themselves, nor any CRLF contained within any FWS between characters themselves, nor any CRLF contained within any FWS between
the two quote characters, nor the "\" which introduces any quoted- the two quote characters, nor the "\" which introduces any quoted-
pair. pair.
News Article Format June 2003 The following basic forms are taken from [RFC 2045] and [RFC 2231]
(having regard to [RFC Errata]), adapted to use the folding syntax
from [RFC 2822]:
charset = <registered character set name>
; [RFC 2978]
language = <registered language tag>
; [RFC 3066]
encoded-word = "=?" charset ["*" language] "?" encoding
"?" encoded-text "?="
parameter = regular-parameter / extended-parameter
regular-parameter = [CFWS] regular-parameter-name [CFWS]
"=" value
regular-parameter-name = attribute [section]
attribute = 1*attribute-char
attribute-char= <any (US-ASCII) CHAR except SPACE, CTLs,
"*", "'", "%", or tspecials>
tspecials = "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" / "="
News Article Format and Transmission November 2003
extended-parameter
= ( [CFWS] extended-initial-name [CFWS]
"=" extended-initial-value ) /
( [CFWS] extended-other-names [CFWS]
"=" extended-other-values )
value = [CFWS] token [CFWS] / quoted-string
token = 1*<any (US-ASCII) CHAR except SP, CTLs,
or tspecials>
For the purposes of section 5 of [RFC 2047] all headers (4.1) defined For the purposes of section 5 of [RFC 2047] all headers (4.1) defined
in this standard are to be considered as "extension message header in this standard are to be considered as "extension message header
fields" (insofar as they are not already so considered under the fields" (insofar as they are not already so considered under the
existing Email standards), permitting the use of [RFC 2047] encodings existing Email standards), permitting the use of [RFC 2047] encodings
within any unstructured header, or within any comment or phrase within any unstructured header, or within any comment or phrase
permitted within any structured header. permitted within any structured header.
The syntax of encoded-text and of encoding can be found in [RFC The syntax of encoded-text and of encoding can be found in [RFC
2047], and there are restrictions on the characters that may occur 2047], and there are restrictions on the characters that may occur
within an encoded-text, depending on its context. There are also within an encoded-text, depending on its context. There are also
restrictions on the overall length of an encoded-word and of headers restrictions on the overall length of an encoded-word and of headers
containing encoded-words and requirements for encoded-words to have containing encoded-words and requirements for encoded-words to have
FWS on either side of them in most contexts. All these restrictions FWS on either side of them in most contexts. All these restrictions
and requirements MUST be observed. and requirements MUST be observed.
2.4.3. Syntax adapted from Email and MIME
Much of the syntax of Netnews Articles is based on the corresponding
syntax defined in [RFC 2822]. Therefore, wherever in this standard
the syntax is stated to be taken from [RFC 2822], it is to be
understood, unless explicitly stated to the contrary, as the syntax
defined by [RFC 2822], but NOT including any syntax defined in
section 4 ("Obsolete syntax") of [RFC 2822]. Software compliant with
this standard MUST NOT generate any of the syntactic forms defined in
that Obsolete Syntax, although it MAY accept such syntactic forms.
Likewise, certain syntax from the MIME specifications [RFC 2045] et
seq is also considered to have been incorporated into this standard
(see 6.21).
However, there are differences arising from some special requirements
of Netnews, and the following syntactic rules therefore supersede the
corresponding rules given in [RFC 2822].
NOTE: Netnews parsers historically have been much less
permissive than Email parsers, and this is reflected in the
modifications referred to, and in some further specific rules.
In contradistinction to [RFC 2822], an unstructured header (e.g. a
Subject-header) MUST contain at least one non-whitespace character.
unstructured = 1*( [FWS] ( utext / encoded-word ) ) [FWS]
News Article Format and Transmission November 2003
Extended-phrases (known somewhat confusingly in [RFC 2822] as obs-
phrases) are introduced to allow headers such as
From: Joe Q. Public <joe@public.example>
without the necessity of using a quoted-string. They MUST be accepted
by compliant software, but they SHOULD NOT be generated until
software capable of accepting them has become widely deployed.
phrase = 1*( [CFWS] encoded-word [CFWS] / word ) /
extended-phrase
extended-phrase = ( [CFWS] encoded-word [CFWS] / word )
*( [CFWS] encoded-word [CFWS] / word /
[CFWS] "." [CFWS] )
Within a date-time, two of the obs-zones from [RFC 2822] are retained
because of current widespread usage.
zone = (( "+" / "-" ) 4DIGIT) / "UT" / "GMT"
The forms "UT" and "GMT" (indicating universal time) are to be
regarded as obsolete synonyms for "+0000". They MUST be accepted, and
passed on unchanged, by all agents, but they MUST NOT be generated as
part of new articles by posting and injecting agents.
Msg-ids are redefined to be a "normalized" subset of those defined by
[RFC 2822], ensuring that no string of characters is quoted unless
strictly necessary (it must contain at least one mqspecial) and no
single character is prefixed by a "\" in the form of a quoted-pair
unless strictly necessary, and moreover there is no possibility for
">" or WSP to occur inside a msg-id, whether quoted or not. Thus,
whereas under [RFC 2822]
<abcd@example.com>
<"abcd"@example.com>
<"ab\cd"@example.com>
would be considered semantically equivalent, only the first of them
is syntactically permitted by this standard, and hence a simple
comparison of octets will always suffice to determine the identity of
two msg-ids.
msg-id = "<" id-left "@" id-right ">"
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
no-fold-quote = DQUOTE
*( mqtext / "\\" / "\" DQUOTE )
mqspecial
*( mqtext / "\\" / "\" DQUOTE )
DQUOTE
mqtext = NO-WS-CTL / ; all of <text> except
%d33 / ; SP, HTAB, "\", ">"
%d35-61 / ; and DQUOTE
%d63-91 /
%d93-126
News Article Format and Transmission November 2003
mqspecial = "(" / ")" / ; same as specials except
"<" / ; "\" and DQUOTE quoted
"[" / "]" / ; and ">" omitted
":" / ";" /
"@" / "\\" /
"," / "." /
"\" DQUOTE
no-fold-literal = "[" *( mdtext / "\[" / "\]" / "\\" ) "]"
mdtext = NO-WS-CTL / ; Non white space controls
%d33-61 / ; The rest of the US-ASCII
%d63-90 / ; characters not including
%d94-126 ; ">", "[", "]", or "\"
2.5. Language 2.5. Language
Various constant strings in this standard, such as header-names and Various constant strings in this standard, such as header-names and
month names, are derived from English words. Despite their month names, are derived from English words. Despite their
derivation, these words do NOT change when the poster or reader derivation, these words do NOT change when the poster or reader
employing them is interacting in a language other than English. employing them is interacting in a language other than English.
Posting and reading agents MAY translate as appropriate in their Posting and reading agents MAY translate as appropriate in their
interaction with the poster or reader, but the forms that actually interaction with the poster or reader, but the forms that actually
appear in articles as transmitted MUST be the English-derived ones appear in articles as transmitted MUST be the English-derived ones
defined in this standard. defined in this standard.
skipping to change at page 16, line 4 skipping to change at page 15, line 58
certainty. certainty.
o Large parts of MIME are recognized as an integral part of o Large parts of MIME are recognized as an integral part of
Netnews. Netnews.
o There is a new Control message 'mvgroup' to facilitate moving a o There is a new Control message 'mvgroup' to facilitate moving a
group to a different place (name) in a hierarchy. group to a different place (name) in a hierarchy.
o There are several new headers defined, notably Archive, o There are several new headers defined, notably Archive,
Complaints-To, Injector-Info, Mail-Copies-To, Posted-And-Mailed Complaints-To, Injector-Info, Mail-Copies-To, Posted-And-Mailed
and User-Agent, leading to increased functionality. and User-Agent, leading to increased functionality.
o Provision has been made for almost all headers to have MIME-style o Provision has been made for almost all headers to have MIME-style
parameters (to be ignored if not recognized), thus facilitating parameters (to be ignored if not recognized), thus facilitating
News Article Format June 2003
extension of those headers in future standards. extension of those headers in future standards.
o Certain headers and Control messages (Appendix A.3 and Appendix o Certain headers and Control messages (Appendix A.3 and Appendix
News Article Format and Transmission November 2003
A.4) have been made obsolete. A.4) have been made obsolete.
o Distributions are expected to be checked at the receiving end, as o Distributions are expected to be checked at the receiving end, as
well as the sending end, of a relaying link. well as the sending end, of a relaying link.
o There are numerous other small changes, clarifications and o There are numerous other small changes, clarifications and
enhancements. enhancements.
3.2. Transitional Arrangements 3.2. Transitional Arrangements
An important distinction must be made between serving and relaying An important distinction must be made between serving and relaying
agents, which are responsible for the distribution and storage of agents, which are responsible for the distribution and storage of
skipping to change at page 17, line 4 skipping to change at page 16, line 58
relaying agents. User agents are unaffected. relaying agents. User agents are unaffected.
o The introduction of MIME reflects a practice that is already o The introduction of MIME reflects a practice that is already
widespread. Articles in strict compliance with the previous widespread. Articles in strict compliance with the previous
standards (using strict US-ASCII) will be unaffected. Many user standards (using strict US-ASCII) will be unaffected. Many user
agents already support it, at least to the extent of widely used agents already support it, at least to the extent of widely used
charsets such as ISO-8859-1. Users expecting to read articles charsets such as ISO-8859-1. Users expecting to read articles
using other charsets will need to acquire suitable reading using other charsets will need to acquire suitable reading
agents. It is not intended, in general, that any single user agents. It is not intended, in general, that any single user
agent will be able to display every charset known to IANA, but agent will be able to display every charset known to IANA, but
all such agents MUST support US-ASCII. Serving and relaying all such agents MUST support US-ASCII. Serving and relaying
News Article Format June 2003
agents are not affected. agents are not affected.
o The new Control: mvgroup command will need to be implemented in o The new Control: mvgroup command will need to be implemented in
News Article Format and Transmission November 2003
serving agents. For the benefit of older serving agents it is serving agents. For the benefit of older serving agents it is
therefore RECOMMENDED that it be followed shortly by a therefore RECOMMENDED that it be followed shortly by a
corresponding newgroup command and it MUST always be followed by corresponding newgroup command and it MUST always be followed by
a rmgroup command for the old group after a reasonable overlap a rmgroup command for the old group after a reasonable overlap
period. An implementation of the mvgroup command as an alias for period. An implementation of the mvgroup command as an alias for
the newgroup command would thus be minimally conforming. User the newgroup command would thus be minimally conforming. User
agents are unaffected. agents are unaffected.
o All the headers newly introduced by this standard can safely be o All the headers newly introduced by this standard can safely be
ignored by existing software, albeit with loss of the new ignored by existing software, albeit with loss of the new
functionality. functionality.
skipping to change at page 17, line 49 skipping to change at page 17, line 47
typical Usenet-header would be defined as follows: typical Usenet-header would be defined as follows:
header =/ Usenet-header header =/ Usenet-header
Usenet-header = "Usenet" ":" SP Usenet-content Usenet-header = "Usenet" ":" SP Usenet-content
*( ";" ( Usenet-parameter / *( ";" ( Usenet-parameter /
extension-parameter ) ) extension-parameter ) )
Usenet-content = <syntax specific to that Usenet-header> Usenet-content = <syntax specific to that Usenet-header>
Usenet-parameter = <a parameter specific to that Usenet-header> Usenet-parameter = <a parameter specific to that Usenet-header>
where the Usenet-parameter, which MUST always be of the same where the Usenet-parameter, which MUST always be of the same
syntactic form as a parameter, is not provided in all headers, and syntactic form as a parameter, is only provided for certain headers,
even the extension-parameter is omitted in some cases (see 4.2.2). and even the extension-parameter is omitted in some cases (see
Observe that "Usenet" is (and MUST be) of the syntactic form of a 4.2.2). Observe that "Usenet" is (and MUST be) of the syntactic form
header-name. of a header-name.
extension-parameter extension-parameter
= <a parameter not defined by this standard> = <a parameter not defined by this standard>
x-attribute = "x-" attribute x-attribute = "x-" attribute
News Article Format June 2003
An article consists of some headers followed by a body. An empty line An article consists of some headers followed by a body. An empty line
separates the two. The headers contain structured information about separates the two. A header begins with a header-name identifying it,
the article and its transmission. A header begins with a header-name and can be continued onto subsequent lines as described in section
identifying it, and can be continued onto subsequent lines as 4.2.3. The body is largely unstructured text significant only to the
described in section 4.2.3. The body is largely unstructured text News Article Format and Transmission November 2003
significant only to the poster and the readers.
poster and the readers.
NOTE: Terminology here follows the current custom in the news NOTE: Terminology here follows the current custom in the news
community, rather than the [RFC 2822] convention of referring to community, rather than the [RFC 2822] convention of referring to
what is here called a "header" as a "header-field" or "field". what is here called a "header" as a "header-field" or "field".
Note that the separator line MUST be truly empty, not just a line Note that the separator line MUST be truly empty, not just a line
containing white space. Further empty lines following it are part of containing white space. Further empty lines following it are part of
the body, as are empty lines at the end of the article. the body, as are empty lines at the end of the article.
NOTE: The syntax above defines the canonical form of a news NOTE: The syntax above defines the canonical form of a news
article as a sequence of lines each terminated by CRLF. This article as a sequence of lines each terminated by CRLF. This
does not prevent serving agents or transport agents from storing does not prevent serving or relaying agents from storing or
or handling the article in other formats (e.g. using a single LF handling the article in other formats (e.g. using a single LF in
in place of CRLF) so long as the overall effects achieved are as place of CRLF) so long as the overall effects achieved are as
defined by this standard when operating on the canonical form. defined by this standard when operating on the canonical form.
4.2. Headers 4.2. Headers
The order of headers in an article is not significant. However, The order of headers in an article is not significant. However,
posting agents are encouraged to put mandatory headers (section 5) posting agents are encouraged to put mandatory headers (section 5)
first, followed by optional headers (section 6), followed by first, followed by optional headers (section 6), followed by
experimental headers and headers not defined in this standard or its experimental headers and headers not defined in this standard or its
extensions. Relaying agents MUST NOT change the order of the headers extensions. Relaying agents MUST NOT change the order of the headers
in an article. in an article.
skipping to change at page 19, line 4 skipping to change at page 18, line 55
Email standard [RFC 2822] and its extensions, excluding any Email standard [RFC 2822] and its extensions, excluding any
explicitly deprecated for Netnews (e.g. see section 9.2.1 for the explicitly deprecated for Netnews (e.g. see section 9.2.1 for the
deprecated Disposition-Notification-To-header); or, deprecated Disposition-Notification-To-header); or,
alternatively, those listed in some future IANA registry of alternatively, those listed in some future IANA registry of
recognized headers; recognized headers;
o experimental headers beginning with "X-" (as defined in 4.2.5.1); o experimental headers beginning with "X-" (as defined in 4.2.5.1);
o on a provisional basis only, headers related to new protocols o on a provisional basis only, headers related to new protocols
under development which are the subject of (or intended to be the under development which are the subject of (or intended to be the
subject of) some IETF-approved RFC (whether Informational, subject of) some IETF-approved RFC (whether Informational,
Experimental or Standards-Track). Experimental or Standards-Track).
News Article Format June 2003
However, software SHOULD NOT attempt to interpret headers not However, software SHOULD NOT attempt to interpret headers not
specifically intended to be meaningful in the Netnews environment. specifically intended to be meaningful in the Netnews environment.
[However, if [KLYNE], which defines an IANA registry of recognized [However, if [KLYNE], which defines an IANA registry of recognized
headers, becomes accepted before we are done (which is likely), then headers, becomes accepted before we are done (which is likely), then
that paragraph can be simplified very considerably.] that paragraph can be simplified very considerably.]
News Article Format and Transmission November 2003
Header-names are case-insensitive. There is a preferred case Header-names are case-insensitive. There is a preferred case
convention set out in [USEAGE], and which is used in the various convention set out in [USEAGE], and which is used in the various
rules defining headers in this standard. Relaying and reading agents rules defining headers in this standard. Relaying and reading agents
MUST, however, tolerate header-names in any case. MUST, however, tolerate header-names in any case.
4.2.2. MIME-style Parameters 4.2.2. MIME-style Parameters
A few header-specific MIME-style parameters are defined in this A few header-specific MIME-style parameters are defined in this
standard, but there is also provision for generic extension- standard (see 6.12 and 6.19), but there is also provision for generic
parameters to appear in most headers for the purpose of allowing extension-parameters to appear in most headers for the purpose of
future extensions to those headers. Observe that such parameters do allowing future extensions to those headers. Observe that such
not, in general, occur in headers defined in other standards, except parameters do not, in general, occur in headers defined in other
for the MIME standards [RFC 2045] et seq. and their extensions. standards, except for the MIME standards [RFC 2045] et seq. and their
extensions.
Extension-parameters, other than those using x-attributes, MUST NOT Extension-parameters, other than those using x-attributes, MUST NOT
be used unless they have first been defined in an IETF-approved RFC be used unless they have first been defined in an IETF-approved RFC
(whether Informational, Experimental or Standards-Track) or, on a (whether Informational, Experimental or Standards-Track) or, on a
provisional basis only, in relation to new protocols under provisional basis only, in relation to new protocols under
development which are the subject of (or intended to be the subject development which are the subject of (or intended to be the subject
of) some such IETF-approved RFC. They MUST ONLY be defined for use in of) some such IETF-approved RFC. They MUST ONLY be defined for use in
those headers where the syntax of this standard so allows. They those headers where the syntax of this standard so allows. They
SHOULD NOT, at present, be defined for use in headers in widespread SHOULD NOT, at present, be defined for use in headers in widespread
use prior to the introduction of this standard (this restriction is use prior to the introduction of this standard (this restriction is
skipping to change at page 20, line 5 skipping to change at page 19, line 56
Each header-specific MIME-style parameter introduced in this standard Each header-specific MIME-style parameter introduced in this standard
is described by specifying is described by specifying
(a) its attribute, and (a) its attribute, and
(b) the syntax rule(s) defining the object(s) permitted in its (b) the syntax rule(s) defining the object(s) permitted in its
value. value.
Any parameter, or set of parameters with numbered sections, which, Any parameter, or set of parameters with numbered sections, which,
according to [RFC 2231], is semantically equivalent to an unnumbered according to [RFC 2231], is semantically equivalent to an unnumbered
regular-parameter with that attribute and value may be used. regular-parameter with that attribute and value may be used.
News Article Format June 2003
NOTE: If the value is not of the syntactic form of a token and NOTE: If the value is not of the syntactic form of a token and
is not encoded as an extended-value, it is necessary to is not encoded as an extended-value, it is necessary to
encapsulate it within a quoted-string (see 2.4.3). Observe that encapsulate it within a quoted-string (2.4.2). Observe that the
the syntax of a parameter also allows additional WSP, folding syntax of a parameter also allows additional WSP, folding and
and comments. News Article Format and Transmission November 2003
comments.
The semantics of a parameter is always to associate its attribute The semantics of a parameter is always to associate its attribute
with the object represented by the token, or the semantic value with the object represented by the token, or the semantic value
(2.4.3) of the quoted-string, contained in its value. (2.4.2) of the quoted-string, contained in its value.
For example, the posting-sender-parameter (6.19) is defined to be For example, the posting-sender-parameter (6.19) is defined to be
<a parameter with attribute "sender" and value some sender-value> <a parameter with attribute "sender" and value some sender-value>
where where
sender-value = mailbox / "verified" sender-value = mailbox / "verified"
A valid posting-sender-parameter would be A valid posting-sender-parameter would be
sender = "\"Joe D. Bloggs\" <jdbloggs@bloggs.example>" (authinfo) sender = "\"Joe D. Bloggs\" <jdbloggs@bloggs.example>" (authinfo)
The comment (syntactically part of the quoted-string) is irrelevant. The comment (syntactically part of the quoted-string) is irrelevant.
The actual mailbox (to be used, for example, if email is to be sent The actual mailbox (to be used, for example, if email is to be sent
to the sender) is to the sender) is
"Joe D. Bloggs" <jdbloggs@bloggs.example> "Joe D. Bloggs" <jdbloggs@bloggs.example>
4.2.3. White Space and Continuations 4.2.3. White Space and Continuations
Each header is logically a single line of characters comprising the Each header is logically a single line of characters comprising the
header-name, the colon with its following SP, the content, and any header-name, the colon with its following SP, the content, and any
parameters. For convenience, however, the content and parameters can parameters. For convenience, however, the content and parameters can
be "folded" into a multiple line representation by inserting a CRLF be "folded" into a multiple line representation by inserting a CRLF
before any WSP contained within any FWS or CFWS (but not any other SP before any WSP contained within any FWS (or CFWS), but not any other
or HTAB) allowed by this standard. For example, the header: SP or HTAB, allowed by this standard (see 2.4.2). For example, the
header:
Approved: modname@modsite.example (Moderator of example.foo.bar) Approved: modname@modsite.example (Moderator of example.foo.bar)
can be represented as: can be represented as:
Approved: modname@modsite.example Approved: modname@modsite.example
(Moderator of example.foo.bar) (Moderator of example.foo.bar)
FWS occurs at many places in the syntax (usually within a CFWS) in FWS occurs at many places in the syntax (usually within a CFWS) in
order to allow the inclusion of comments, whitespace and folding. The order to allow the inclusion of comments, whitespace and folding. The
syntax is in fact ambiguous insofar as it sometimes allows two syntax is in fact ambiguous insofar as it sometimes allows for two
consecutive instantiations of FWS (as least one of which is always consecutive FWS (as least one of which is always optional), or for an
optional), or of an optional FWS followed by an explicit CRLF. optional FWS followed by an explicit CRLF. In the first case, (one
However, all such cases MUST be treated as if the optional of) the optional FWS MUST NOT be instantiated; in the second case,
instantiation (or one of them) had not been allowed. It is thus the [*WSP CRLF] within the optional FWS MUST NOT be instantiated.
precluded that any line of a header should be made up of whitespace Thus it is thus precluded that any line of a header should be made up
characters and nothing else (for such a line might otherwise have of whitespace characters and nothing else (for such a line might
been interpreted by a non-compliant agent as the separator between otherwise have been interpreted by a non-compliant agent as the
the headers and the body of the article). separator between the headers and the body of the article).
NOTE: This does not lead to semantic ambiguity because, unless NOTE: This does not lead to semantic ambiguity because, unless
specifically stated otherwise, the presence or absence of specifically stated otherwise, the presence or absence of
folding, a comment or additional WSP has no semantic meaning folding, a comment or additional WSP has no semantic meaning
and, in particular, it is a matter of indifference whether it and, in particular, it is a matter of indifference whether it
forms a part of the syntactic construct preceding it or the one forms a part of the syntactic construct preceding it or the one
following it. following it.
News Article Format June 2003
NOTE: It may be observed that the content part of every header NOTE: It may be observed that the content part of every header
begins and ends with an optional CFWS (or FWS in the case of a begins and ends with an optional CFWS (or FWS in the case of a
few headers). Moreover, every parameter also begins and ends few headers). Moreover, every parameter also begins and ends
with an optional CFWS. with an optional CFWS.
In accordance with the syntax, the header-name on the first line MUST News Article Format and Transmission November 2003
be followed by a SP (even if the rest of the header is empty, but see
4.2.6). Even though the syntax allows otherwise, at least some of In accordance with the syntax, the header-name and colon on the first
the content MUST appear on that first line (to avoid the possibility line MUST be followed by a SP (even if the rest of the header is
of harm by any non-compliant agent that might eliminate a trailing empty, which in fact cannot occur because this standard defines no
WSP). Although posting agents are REQUIRED to enforce these headers with empty content and extensions MUST NOT do so). Even
restrictions, relaying and serving agents SHOULD accept articles that though the syntax allows otherwise, at least some visible content
violate them. MUST appear on that first line (to avoid the possibility of harm by
any non-compliant agent that might eliminate a trailing WSP). Posting
and injecting agents are REQUIRED to enforce these restrictions,
deleting any headers with empty content that are encountered, but
relaying and serving agents MUST accept and pass on untouched
articles that violate them.
NOTE: This standard differs from [RFC 2822] in requiring that SP NOTE: This standard differs from [RFC 2822] in requiring that SP
following the colon (it was also an [RFC 1036] requirement). following the colon (it was also an [RFC 1036] requirement).
Posters and posting agents SHOULD use SP, not HTAB, where white space Posters and posting agents SHOULD use SP, not HTAB, where white space
is desired in headers (some existing software expects this). Relaying is desired in headers (some existing software expects this). Relaying
and serving agents SHOULD accept HTAB in all such cases, however. and serving agents SHOULD accept HTAB in all such cases, however.
Relaying and serving agents MUST NOT refold headers (i.e. they must Relaying and serving agents MUST NOT refold headers (i.e. they must
pass on the folding as received). pass on the folding as received).
skipping to change at page 22, line 5 skipping to change at page 22, line 5
is what is contained between the two parentheses. is what is contained between the two parentheses.
Since comments have not hitherto been permitted in news articles, Since comments have not hitherto been permitted in news articles,
except in a few specified places, posters and posting-agents SHOULD except in a few specified places, posters and posting-agents SHOULD
NOT insert them except in those places, namely following mailboxes in NOT insert them except in those places, namely following mailboxes in
From and similar headers (a now deprecated convention for indicating From and similar headers (a now deprecated convention for indicating
the owner of that mailbox), and to indicate the name of the timezone the owner of that mailbox), and to indicate the name of the timezone
in Date-headers. However, compliant software MUST accept them in all in Date-headers. However, compliant software MUST accept them in all
places where they are syntactically allowed. places where they are syntactically allowed.
News Article Format June 2003 News Article Format and Transmission November 2003
4.2.5. Header Properties 4.2.5. Header Properties
There are three special properties that may apply to particular There are three special properties that may apply to particular
headers, namely: "experimental", "inheritable", and "variant". When a headers, namely: "experimental", "inheritable", and "variant". When a
header is defined, in this (or any future) standard, as having one header is defined, in this (or any future) standard, as having one
(or possibly more) of these properties, it is subject to special (or possibly more) of these properties, it is subject to special
treatment, as indicated below. treatment, as indicated below.
4.2.5.1. Experimental Headers 4.2.5.1. Experimental Headers
skipping to change at page 22, line 37 skipping to change at page 22, line 37
4.2.5.2. Inheritable Headers 4.2.5.2. Inheritable Headers
Subject only to the overriding ability of the poster to determine the Subject only to the overriding ability of the poster to determine the
contents of the headers in a proto-article, headers with the contents of the headers in a proto-article, headers with the
inheritable property MUST be copied by followup agents (perhaps with inheritable property MUST be copied by followup agents (perhaps with
some modification) into the followup article, and headers without some modification) into the followup article, and headers without
that property MUST NOT be so copied. Examples include: that property MUST NOT be so copied. Examples include:
o Newsgroups (5.5) - copied from the precursor, subject to any o Newsgroups (5.5) - copied from the precursor, subject to any
Followup-To-header. Followup-To-header.
o Subject (5.4) - modified by prefixing with "Re: ", but otherwise o Subject (5.4) - often modified by prefixing with "Re: ", but
copied from the precursor. otherwise copied from the precursor.
o References (6.10) - copied from the precursor, with the addition o References (6.10) - copied from the precursor, with the addition
of the precursor's Message-ID. of the precursor's Message-ID.
o Distribution (6.6) - copied from the precursor. o Distribution (6.6) - copied from the precursor.
NOTE: The Keywords-header is not inheritable, though some older NOTE: The Keywords-header is not inheritable, though some older
newsreaders treated it as such. newsreaders treated it as such.
4.2.5.3. Variant Headers 4.2.5.3. Variant Headers
Headers with the variant property may differ between (or even be Headers with the variant property may differ between (or even be
completely absent from) copies of the same article as stored or completely absent from) copies of the same article as stored or
relayed throughout a Netnews system. The manner of the difference (or relayed throughout a Netnews system. The manner of the difference (or
absence) MUST be as specified in this (or any future) standard. absence) MUST be as specified in this (or some future) standard.
Typically, these headers are modified as articles are propagated, or Typically, these headers are modified as articles are propagated, or
they reflect the status of the article on a particular serving agent, they reflect the status of the article on a particular serving agent,
or cooperating group of such agents. The variant header MAY be placed or cooperating group of such agents. The variant header MAY be placed
anywhere within the headers (though placing it first is recommended). anywhere within the headers (though placing it first is recommended).
The principal examples are: The principal examples are:
o Path (5.6) - augmented at each relaying agent that an article o Path (5.6) - augmented at each relaying agent that an article
passes through. passes through.
o Xref (6.16) - used to keep track of the article locators of o Xref (6.16) - used to keep track of the article locators of
crossposted articles so that newsreaders serviced by a particular crossposted articles so that reading agents serviced by a
News Article Format June 2003 News Article Format and Transmission November 2003
serving agent can mark such articles as read.
4.2.6. Undesirable Headers
A header whose content is empty is said to be an empty header (in particular serving agent can mark such articles as read.
fact, no such headers are defined by this standard). Relaying and
reading agents SHOULD NOT consider presence or absence of an empty
header to alter the semantics of an article (although syntactic
rules, such as requirements that certain header-names appear at most
once, MUST still be satisfied). Posting and injecting agents SHOULD
delete empty headers from articles before posting them; relaying
agents MUST pass them untouched.
4.3. Body 4.3. Body
4.3.1. Body Format Issues
The body of an article SHOULD NOT be empty. A posting or injecting The body of an article SHOULD NOT be empty. A posting or injecting
agent which does not reject such an article entirely SHOULD at least agent which does not reject such an article entirely SHOULD at least
issue a warning message to the poster and supply a non-empty body. issue a warning message to the poster and supply a non-empty body.
Note that the separator line MUST be present even if the body is Note that the separator line MUST be present even if the body is
empty. empty.
NOTE: Some existing news software is known to react badly to NOTE: Some existing news software is known to react badly to
body-less articles, hence the request for posting and injecting body-less articles, hence the request for posting and injecting
agents to insert a body in such cases. The sentence "This agents to insert a body in such cases. The sentence "This
article was probably generated by a buggy news reader" has article was probably generated by a buggy news reader" has
traditionally been used in this situation. traditionally been used in this situation.
Note that an article body is a sequence of lines terminated by CRLFs, Note that an article body is a sequence of lines terminated by CRLFs,
not arbitrary binary data, and in particular it MUST end with a CRLF. not arbitrary binary data, although a MIME Content-Type-header may
However, relaying and serving agents SHOULD treat the body of an impose some structure or intended interpretation upon it. In
article as an uninterpreted sequence of octets (except as mandated by particular the body MUST end with a CRLF.
changes of CRLF representation and by control message processing, as
in 7.2.4) and SHOULD avoid imposing constraints on it. See also
section 4.5.
4.3.2. Body Conventions
A body is by default an uninterpreted sequence of octets for most of
the purposes of this standard. However, a MIME Content-Type-header
may impose some structure or intended interpretation upon it, and may
also specify the character set in accordance with which the octets
are to be interpreted.
4.4. Characters and Character Sets 4.4. Octets, Characters and Character Sets
Transmission paths for news articles MUST treat news articles as Transmission paths for news articles MUST treat news articles as
uninterpreted sequences of octets, excluding the values 0 (US-ASCII uninterpreted sequences of octets, excluding the values 0 (US-ASCII
NUL) and 13 and 10 (US-ASCII CR and LF, which MUST ONLY appear in the NUL) and 13 and 10 (US-ASCII CR and LF, which MUST ONLY appear in the
combination CRLF which denotes a line separator). combination CRLF which denotes a line separator).
News Article Format June 2003
NOTE: this corresponds to the range of octets permitted for MIME NOTE: this corresponds to the range of octets permitted for MIME
"8bit data" [RFC 2045]. Thus raw binary data cannot be "8bit data" [RFC 2045]. Thus raw binary data cannot be
transmitted in an article body except by the use of a Content- transmitted in an article body except by the use of a Content-
Transfer-Encoding such as base64. Transfer-Encoding such as base64.
In particular, transmission paths MUST convey all headers (including In particular, transmission paths MUST convey all headers (including
body part headers and headers within message/rfc822 objects) intact, body part headers and headers within message/rfc822 objects) intact,
even if they contain octets representing non-ASCII charsets. These even if they contain octets representing non-ASCII charsets. These
requirements include the transmissiom paths between posting agents, requirements include the transmissiom paths between posting agents,
injecting agents, relaying agents, serving agents and reading agents, injecting agents, relaying agents, serving agents and reading agents,
but NOT the paths traversed by Netnews articles that have been but NOT the paths traversed by Netnews articles that have been
gatewayed into Email (8.8.1). gatewayed into Email (8.8.1).
[At some point it will be necessary for the IMAP standards to catch up [At some point it will be necessary for the IMAP standards to catch up
with these requirements.] with these requirements.]
Character data is represented by octets in accordance with some
encoding scheme (US-ASCII for headers, and determined by the
Content-Type- and Content-Transfer-Encoding-headers for bodies).
If it comes to a relaying agent's attention that it is being asked to If it comes to a relaying agent's attention that it is being asked to
pass an article using the Content-Transfer-Encoding "8bit" to a pass an article using the Content-Transfer-Encoding "8bit" to a
relaying agent that does not support it, it SHOULD report this error relaying agent that does not support it, it SHOULD report this error
to its administrator. It MUST refuse to pass the article and MUST NOT to its administrator. It MUST refuse to pass the article and MUST NOT
re-encode it with different MIME encodings. re-encode it with different MIME encodings.
NOTE: This strategy will do little harm. The target relaying NOTE: This strategy will do little harm. The target relaying
agent is unlikely to be able to make use of the article on its agent is unlikely to be able to make use of the article on its
own servers, and the usual flooding algorithm will likely find own servers, and the usual flooding algorithm will likely find
some alternative route to get the article to destinations where some alternative route to get the article to destinations where
it is needed. it is needed.
News Article Format and Transmission November 2003
4.4.1. Character Sets within Article Headers 4.4.1. Character Sets within Article Headers
Where the use of non-ASCII characters is required, they MUST be The character set for headers is US-ASCII. Where the use of non-
encoded using the MIME mechanisms defined in [RFC 2047] and [RFC ASCII characters is required, they MUST be encoded using the MIME
2231]. mechanisms defined in [RFC 2047] and [RFC 2231].
Examples: Examples:
Organization: Technische =?iso-8859-1?Q?Universit=E4t_M=FCnchen?= Organization: Technische =?iso-8859-1?Q?Universit=E4t_M=FCnchen?=
Approved: =?iso-8859-1?Q?Fran=E7ois_Faur=E9?= <ff@modsite.example> Approved: =?iso-8859-1?Q?Fran=E7ois_Faur=E9?= <ff@modsite.example>
(=?iso-8859-1?Q*fr?Mod=E9rateur_autoris=E9?=) (=?iso-8859-1?Q*fr?Mod=E9rateur_autoris=E9?=)
Archive: yes; filename*=iso-8859-1'es'ma=F1ana.txt Archive: yes; filename*=iso-8859-1'es'ma=F1ana.txt
NOTE: The raw use of non-ASCII character sets or of encodings NOTE: The raw use of non-ASCII character sets or of encodings
other than those described above is not compliant with this other than those described above is not compliant with this
standard, even though such usage has been seen in some standard, even though such usage has been seen in some
hierarchies (with no indication of which character set has been hierarchies (with no indication of which character set has been
used beyond the user's ability to guess based upon other clues used beyond the user's ability to guess based upon other clues
in the article, or custom within the newsgroup). Future in the article, or custom within the newsgroup). Future
extensions to this standard may make provision for other extensions to this standard may make provision for other
character sets, hence the requirement that octets beyond the character sets, hence the requirement that octets beyond the
US-ASCII range be transported without error. US-ASCII range be transported without error.
News Article Format June 2003
4.4.2. Character Sets within Article Bodies 4.4.2. Character Sets within Article Bodies
Within article bodies, characters are represented as octets according Within article bodies, characters are represented as octets according
to the encoding scheme implied by any Content-Transfer-Encoding- and to the encoding scheme implied by any Content-Transfer-Encoding- and
Content-Type-headers [RFC 2045]. In the absence of such headers, Content-Type-headers [RFC 2045]. In the absence of such headers,
reading agents cannot be relied upon to display correctly more than reading agents cannot be relied upon to display correctly more than
the US-ASCII characters, though they MUST display at least those. the US-ASCII characters, though they MUST display at least those.
NOTE: The use of non-ASCII characters in the absence of an NOTE: The use of non-ASCII characters in the absence of an
appropriate Content-Type-header is not compliant with this appropriate Content-Type-header is not compliant with this
skipping to change at page 25, line 40 skipping to change at page 25, line 5
this standard. However, specific rules to the contrary may apply in this standard. However, specific rules to the contrary may apply in
particular cases (for example, according to [RFC 2047] header lines particular cases (for example, according to [RFC 2047] header lines
containing encoded-words are limited to 76 octets). containing encoded-words are limited to 76 octets).
NOTE: There is NO restriction on the number of lines into which NOTE: There is NO restriction on the number of lines into which
a header may be split, and hence there is NO restriction on the a header may be split, and hence there is NO restriction on the
total length of a header (in particular it may, by suitable total length of a header (in particular it may, by suitable
folding, be made to exceed the 998 octets restriction pertaining folding, be made to exceed the 998 octets restriction pertaining
to a single header line). to a single header line).
News Article Format and Transmission November 2003
The syntax provides for the lines of a body to be up to 998 octets in The syntax provides for the lines of a body to be up to 998 octets in
length, not including the CRLF. All software compliant with this length, not including the CRLF. All software compliant with this
standard MUST support lines of at least that length, both in headers standard MUST support body lines of at least that length, and all
and in bodies, and all such software SHOULD support lines of such software SHOULD support lines of arbitrary length. In
arbitrary length. In particular, relaying agents MUST transmit lines particular, relaying agents MUST transmit lines of arbitrary length
of arbitrary length without truncation or any other modification. without truncation or any other modification.
NOTE: The limit of 998 octets is consistent with the NOTE: The limit of 998 octets is consistent with the
corresponding limit in [RFC 2822]. corresponding limit in [RFC 2822]. In practice, lines will be
much shorter, and [USEAGE] suggests a default limit of 79
characters to be used where there are no pressing needs to do
otherwise.
NOTE: This standard provides no upper bound on the overall size NOTE: This standard provides no upper bound on the overall size
of a single article, but neither does it forbid relaying agents of a single article, but neither does it forbid relaying agents
from dropping articles of excessive length. It is, however, from dropping articles of excessive length. It is, however,
suggested that any limits thought appropriate by particular suggested that any limits thought appropriate by particular
agents would be more appropriately expressed in megabytes than agents would be more appropriately expressed in megabytes than
in kilobytes. in kilobytes.
News Article Format June 2003
4.6. Example 4.6. Example
Here is a sample article: Here is a sample article:
Path: server.example/unknown.site2.example@site2.example/ Path: server.example/unknown.site2.example@site2.example/
relay.site.example/site.example/injector.site.example%jsmith relay.site.example/site.example/injector.site.example%jsmith
Newsgroups: example.announce,example.chat Newsgroups: example.announce,example.chat
Message-ID: <9urrt98y53@site1.example> Message-ID: <9urrt98y53@site1.example>
From: Ann Example <a.example@site1.example> From: Ann Example <a.example@site1.example>
Subject: Announcing a new sample article. Subject: Announcing a new sample article.
skipping to change at page 26, line 30 skipping to change at page 25, line 50
Reply-To: Ann Example <a.example+replies@site1.example> Reply-To: Ann Example <a.example+replies@site1.example>
Expires: Mon, 22 Apr 2002 12:12:50 +0300 Expires: Mon, 22 Apr 2002 12:12:50 +0300
Organization: Site1, The Number one site for examples. Organization: Site1, The Number one site for examples.
User-Agent: ExampleNews/3.14 (Unix) User-Agent: ExampleNews/3.14 (Unix)
Keywords: example, announcement, standards, RFC 1036, Usefor Keywords: example, announcement, standards, RFC 1036, Usefor
Summary: The URL for the next standard. Summary: The URL for the next standard.
Injector-Info: injector.site.example; posting-host=du003.site.example Injector-Info: injector.site.example; posting-host=du003.site.example
Complaints-To: abuse@site.example Complaints-To: abuse@site.example
Just a quick announcement that a new standard example article has Just a quick announcement that a new standard example article has
been released; it is in the new USEFOR standard obtainable from been released; it is in the new [USEFOR] standard obtainable from
ftp.ietf.org. ftp.ietf.org.
Ann. Ann.
-- --
Ann Example <a.example@site1.example> Sample Poster to the Stars Ann Example <a.example@site1.example> Sample Poster to the Stars
"The opinions in this article are bloody good ones" - J. Clarke. "The opinions in this article are bloody good ones" - J. Clarke.
[The RFC Editor is invited to change the above Date and Expires headers [The RFC Editor is invited to change the above Date and Expires headers
to match the actual publication dates and to insert its correct URL.] to match the actual publication dates and to insert its correct URL.]
News Article Format and Transmission November 2003
5. Mandatory Headers 5. Mandatory Headers
An article MUST have one, and only one, of each of the following An article MUST have one, and only one, of each of the following
headers: Date, From, Message-ID, Subject, Newsgroups, Path. headers: Date, From, Message-ID, Subject, Newsgroups, Path.
Note also that there are situations, discussed in the relevant parts Note also that there are situations, discussed in the relevant parts
of section 6, where References-, Sender-, or Approved-headers are of section 6, where References-, Sender-, or Approved-headers are
mandatory. In control messages, specific values are required for mandatory.
certain headers.
A proto-article (see 8.2.1) may lack some of these mandatory headers, A proto-article (8.2.1) may lack some of these mandatory headers, but
but they MUST then be supplied by the injecting agent. they MUST then be supplied by the injecting agent.
5.1. Date 5.1. Date
The Date-header contains the date and time that the article was The Date-header contains the date and time that the article was
prepared by the poster ready for transmission and SHOULD express the prepared by the poster ready for transmission and SHOULD express the
poster's local time. The content syntax makes use of syntax defined poster's local time. The content syntax makes use of syntax defined
in [RFC 2822] (but see the revised definition of zone in section in [RFC 2822] (but see the revised definition of zone in section
2.4.2). 2.4.3).
News Article Format June 2003
header =/ Date-header header =/ Date-header
Date-header = "Date" ":" SP Date-content Date-header = "Date" ":" SP Date-content
Date-content = date-time Date-content = date-time
The date-time MUST be semantically valid as required by [RFC 2822]. The date-time MUST be semantically valid as required by [RFC 2822].
Although folding white space is permitted throughout the date-time Although folding white space is permitted throughout the date-time
syntax, it is RECOMMENDED that a single space be used in each place syntax, it is RECOMMENDED that a single space be used in each place
that FWS appears (whether it is required or optional). that FWS appears (whether it is required or optional).
skipping to change at page 27, line 39 skipping to change at page 27, line 4
5.2. From 5.2. From
The From-header contains the email address(es), possibly including The From-header contains the email address(es), possibly including
the full name(s), of the article's poster(s), or of the person or the full name(s), of the article's poster(s), or of the person or
agent on whose behalf the article is posted (see the Sender-header, agent on whose behalf the article is posted (see the Sender-header,
6.2). The content syntax makes use of syntax defined in [RFC 2822]. 6.2). The content syntax makes use of syntax defined in [RFC 2822].
header =/ From-header header =/ From-header
From-header = "From" ":" SP From-content From-header = "From" ":" SP From-content
From-content = mailbox-list From-content = mailbox-list
News Article Format and Transmission November 2003
NOTE: Observe that there is no provision for parameters in this NOTE: Observe that there is no provision for parameters in this
header, or in other headers containing addresses likely to be header, or in other headers containing addresses likely to be
used for sending email (see 4.2.2). When, for whatever reason, used for sending email (see 4.2.2). When, for whatever reason,
a poster does not wish to use a valid address, the mailbox a poster does not wish to use a valid address, the mailbox
concerned SHOULD end in the top level domain ".invalid" [RFC concerned SHOULD end in the top level domain ".invalid" [RFC
2606]. 2606].
5.2.1. Examples: 5.2.1. Examples:
skipping to change at page 27, line 60 skipping to change at page 27, line 26
From: "John Smith" <jsmith@site.example>, dave@isp.example From: "John Smith" <jsmith@site.example>, dave@isp.example
From: "John D. Smith" <jsmith@site.example>, andrew@isp.example, From: "John D. Smith" <jsmith@site.example>, andrew@isp.example,
fred@site2.example fred@site2.example
From: Jan Jones <jan@please_setup_your_system_correctly.invalid> From: Jan Jones <jan@please_setup_your_system_correctly.invalid>
From: Jan Jones <joe@guess-where.invalid> From: Jan Jones <joe@guess-where.invalid>
From: dave@isp.example (Dave Smith) From: dave@isp.example (Dave Smith)
NOTE: the last example shows a now deprecated convention of NOTE: the last example shows a now deprecated convention of
putting a poster's full name in a comment following the mailbox, putting a poster's full name in a comment following the mailbox,
rather than in a phrase at the start of it. Observe also the use rather than in a phrase at the start of it. Observe also the use
of the quoted-string "John D. Smith" which is required on of the quoted-string "John D. Smith" which SHOULD still be used
News Article Format June 2003 on account of presence of the '.' character, even though
software is now REQUIRED to operate without it (see 2.4.3).
account of presence of the '.' character.
5.3. Message-ID 5.3. Message-ID
The Message-ID-header contains the article's message identifier, a The Message-ID-header contains the article's message identifier, a
unique identifier distinguishing the article from every other unique identifier distinguishing the article from every other
article. The content syntax makes use of syntax defined in [RFC 2822] article. The content syntax makes use of syntax defined in [RFC 2822]
(but see the revised definition of msg-id in section 2.4.2). (but see the revised definition of msg-id in section 2.4.3).
header =/ Message-ID-header header =/ Message-ID-header
Message-ID-header = "Message-ID" ":" SP Message-ID-content Message-ID-header = "Message-ID" ":" SP Message-ID-content
Message-ID-content = [FWS] msg-id [FWS] Message-ID-content = [FWS] msg-id [FWS]
The msg-id MUST NOT be more than 250 octets in length. The msg-id MUST NOT be more than 250 octets in length.
NOTE: The length restriction ensures that systems which accept NOTE: The length restriction ensures that systems which accept
message identifiers as a parameter when retrieving an article message identifiers as a parameter when retrieving an article
(e.g. [NNTP]) can rely on a bounded length. Observe that msg-id (e.g. [NNTP]) can rely on a bounded length. Observe that msg-id
skipping to change at page 28, line 38 skipping to change at page 28, line 4
ID-header; this is to simplify processing by relaying and ID-header; this is to simplify processing by relaying and
serving agents and to ensure interoperability with existing serving agents and to ensure interoperability with existing
implementations. implementations.
An agent generating an article's message identifier MUST ensure that An agent generating an article's message identifier MUST ensure that
it is unique (as also required in [RFC 2822]) and that it is chosen it is unique (as also required in [RFC 2822]) and that it is chosen
in such a way that it will NEVER be applied to any other Netnews in such a way that it will NEVER be applied to any other Netnews
article or Email message. However, an article emailed (without article or Email message. However, an article emailed (without
encapsulation) to a moderator (8.2.2 and 8.7) or gatewayed into some encapsulation) to a moderator (8.2.2 and 8.7) or gatewayed into some
other medium (8.8.1) SHOULD retain the same message identifier other medium (8.8.1) SHOULD retain the same message identifier
News Article Format and Transmission November 2003
throughout its travels so long as it remains recognizably the same throughout its travels so long as it remains recognizably the same
article. article.
Even though commonly derived from the domain name of the originating Even though commonly derived from the domain name of the originating
site (and domain names are case-insensitive), a message identifier site (and domain names are case-insensitive), a message identifier
MUST NOT be altered in any way during transport, or when copied (as MUST NOT be altered in any way during transport, or when copied (as
into a References-header), and thus a simple (case-sensitive) into a References-header), and thus a simple (case-sensitive)
comparison of octets will always suffice to recognize that same comparison of octets will always suffice to recognize that same
message identifier wherever it subsequently reappears. message identifier wherever it subsequently reappears.
NOTE: These requirements are to be contrasted with those of the NOTE: These requirements are to be contrasted with those of the
un-normalized msg-ids defined by [RFC 2822], which may perfectly un-normalized msg-ids defined by [RFC 2822], which may perfectly
legitimately become normalized (or vice versa) during transport legitimately become normalized (or vice versa) during transport
or copying in email systems. or copying in email systems.
NOTE: Some old software may treat message identifiers that NOTE: Some old software may treat message identifiers that
differ only in case within their id-right part as equivalent, differ only in case within their id-right part as equivalent,
and implementors of agents that generate message identifiers and implementors of agents that generate message identifiers
should be aware of this. should be aware of this.
News Article Format June 2003
5.4. Subject 5.4. Subject
The Subject-header contains a short string identifying the topic of The Subject-header contains a short string identifying the topic of
the message. This is an inheritable header (4.2.5.2), normally to be the message. This is an inheritable header (4.2.5.2), normally to be
copied into the Subject-header of any followup with the possible copied into the Subject-header of any followup with the possible
addition of a back-reference as described in B.6. addition of a back-reference as described in B.6.
header =/ Subject-header header =/ Subject-header
Subject-header = "Subject" ":" SP Subject-content Subject-header = "Subject" ":" SP Subject-content
Subject-content = unstructured Subject-content = unstructured
NOTE: The syntax of unstructured differs from that prescribed in NOTE: The syntax of unstructured differs from that prescribed in
[RFC 2822], so ensuring that the Subject-content is not [RFC 2822], so ensuring that the Subject-content is not
permitted to be completely empty, or to consist of WSP only (see permitted to be completely empty, or to consist of WSP only.
remarks in 4.2.6 concerning undesirable headers).
5.5. Newsgroups 5.5. Newsgroups
The Newsgroups-header's content specifies the newsgroup(s) in which The Newsgroups-header's content specifies the newsgroup(s) in which
the article is intended to appear. It is an inheritable header the article is intended to appear. It is an inheritable header
(4.2.5.2) which then becomes the default Newsgroups-header of any (4.2.5.2) which then becomes the default Newsgroups-header of any
followup, unless a Followup-To-header is present to prescribe followup, unless a Followup-To-header is present to prescribe
otherwise (see 8.6). Articles MUST NOT be passed between relaying otherwise (see 8.6). Articles MUST NOT be passed between relaying
agents or to serving agents unless the sending agent has been agents or to serving agents unless the sending agent has been
configured to supply and the receiving agent to receive at least one configured to supply and the receiving agent to receive at least one
of the newsgroup-names in the Newsgroups-header. of the newsgroup-names in the Newsgroups-header.
header =/ Newsgroups-header header =/ Newsgroups-header
Newsgroups-header = "Newsgroups" ":" SP Newsgroups-content Newsgroups-header = "Newsgroups" ":" SP Newsgroups-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Newsgroups-content = [FWS] newsgroup-name Newsgroups-content = [FWS] newsgroup-name
*( [FWS] ng-delim [FWS] newsgroup-name ) *( [FWS] ng-delim [FWS] newsgroup-name )
[FWS] [FWS]
newsgroup-name = component *( "." component ) newsgroup-name = component *( "." component )
component = 1*component-grapheme component = 1*component-grapheme
News Article Format and Transmission November 2003
ng-delim = "," ng-delim = ","
component-grapheme = DIGIT / ALPHA / "+" / "-" / "_" component-grapheme = DIGIT / ALPHA / "+" / "-" / "_"
[Maybe some better word for 'grapheme'.] [Maybe some better word for 'grapheme'.]
NOTE: Observe that the syntax does not allow comments within the NOTE: Observe that the syntax does not allow comments within the
Newsgroups-header; this is to simplify processing by relaying Newsgroups-header; this is to simplify processing by relaying
and serving agents which have a requirement to process this and serving agents which have a requirement to process this
header extremely rapidly. header extremely rapidly.
Components beginning with underline ("_") are reserved for use by Components beginning with underline ("_") are reserved for use by
future versions of this standard and MUST NOT occur in newsgroup- future versions of this standard and MUST NOT occur in newsgroup-
names (whether in Newsgroups-headers or in newgroup control messages names (whether in Newsgroups-headers or in newgroup control messages
(7.2.1)). However, such names MUST be accepted. (7.2.1)). However, such names MUST be accepted.
Components beginning with "+" or "-" are reserved for use by Components beginning with "+" or "-" are reserved for use by
implementations and MUST NOT occur in newsgroup-names (whether in implementations and MUST NOT occur in newsgroup-names (whether in
Newsgroups-headers or in newgroup control messages). Implementors may Newsgroups-headers or in newgroup control messages). Implementors may
assume that this rule will not change in any future version of this assume that this rule will not change in any future version of this
standard. standard.
News Article Format June 2003
NOTE: For example, implementors may safely use leading "+" and NOTE: For example, implementors may safely use leading "+" and
"-" to "escape" other entities within something that looks like "-" to "escape" other entities within something that looks like
a newsgroup-name. a newsgroup-name.
The format of newsgroup-names is ultimately determined by the The format of newsgroup-names is ultimately determined by the
policies of those administrative agencies which have the policies of those administrative agencies which have the
responsibility for creating new newsgroups within the various responsibility for creating new newsgroups within the various
hierarchies of Usenet. There are traditional, social and technical hierarchies of Usenet. There are traditional, social and technical
arguments why there should be restrictions on these formats (and the arguments why there should be restrictions on these formats (and the
force of the technical ones changes over time with developments in force of the technical ones changes over time with developments in
computers and operating systems) Therefore, such administrative computers and operating systems). Therefore, such administrative
agencies SHOULD establish and promulgate the restrictions they intend agencies SHOULD establish and promulgate the restrictions they intend
to apply within their own hierarchies. to apply within their own hierarchies.
NOTE: These issues are discussed more fully in [USEAGE]. The NOTE: These issues are discussed more fully in [USEAGE]. The
following policy restrictions represent what is considered safe following policy restrictions represent what is considered safe
and appropriate at the present time. Although purely advisory, and appropriate at the present time. Although purely advisory,
hierarchy administrators should consider the consequences hierarchy administrators should consider the consequences
carefully before allowing them to be exceeded. They could also carefully before allowing them to be exceeded. They could also
be taken as the defaults in unmanaged hierarchies. be taken as the defaults in unmanaged hierarchies.
1. Uppercase letters are forbidden. 1. Uppercase letters are forbidden.
2. A component name is forbidden to consist entirely of digits. 2. A component name is forbidden to consist entirely of digits.
3. A component is limited to 30 component-graphemes and a 3. A component is limited to 30 component-graphemes and a
newsgroup-name to 71 component-graphemes (counting also the newsgroup-name to 66 component-graphemes (counting also the
'.'s separating the components). '.'s separating the components).
[There was a suggestion to reduce that 71 to 66 in order to allow such a
newsgoup-name to fit in the on the first line of a Followup-To-header
without exceeding 79 characters.]
Serving and relaying agents MUST accept any syntactially correct Serving and relaying agents MUST accept any syntactially correct
newsgroup-name even if it would violate whatever policy restrictions newsgroup-name even if it would violate whatever policy restrictions
may be in place. Posting and injecting agents MAY enforce them (but may be in place. Posting and injecting agents MAY enforce them (but
only with the explicit agreement of the poster). only with the explicit agreement of the poster).
News Article Format and Transmission November 2003
The inclusion of folding white space within a Newsgroups-content is a The inclusion of folding white space within a Newsgroups-content is a
newly introduced feature in this standard. It MUST be accepted by all newly introduced feature in this standard. It MUST be accepted by all
conforming implementations (relaying agents, serving agents and conforming implementations (relaying agents, serving agents and
reading agents). Posting agents should be aware that such postings reading agents). Posting agents should be aware that such postings
may be rejected by overly-critical old-style relaying agents. When a may be rejected by overly-critical old-style relaying agents. When a
sufficient number of relaying agents are in conformance, posting sufficient number of relaying agents are in conformance, posting
agents SHOULD generate such whitespace in the form of <CRLF WSP> so agents SHOULD generate such whitespace in the form of <CRLF WSP> so
as to keep the length of lines in the relevant headers (notably as to keep the length of lines in the relevant headers (notably
Newsgroups and Followup-To) to a reasonable length (such as 79 Newsgroups and Followup-To) to a reasonable length (such as 79
characters, which is likely to be displayed satisfactorily by most characters, which is likely to be displayed satisfactorily by most
current reading agents). Before such critical mass occurs, injecting current reading agents). Before such critical mass occurs, injecting
agents MAY reformat such headers by removing whitespace inserted by agents MAY reformat such headers by removing whitespace inserted by
the posting agent, but relaying agents MUST NOT do so. the posting agent, but relaying agents MUST NOT do so.
Posters SHOULD use only the names of existing newsgroups in the Posters SHOULD use only the names of existing newsgroups in the
Newsgroups-header. However, it is legitimate to cross-post to Newsgroups-header. However, it is legitimate to cross-post to
newsgroups which do not exist on the posting agent's host, provided newsgroups which do not exist on the posting agent's host, provided
News Article Format June 2003
that at least one of the newsgroups DOES exist there. Relaying agents that at least one of the newsgroups DOES exist there. Relaying agents
MUST NOT rewrite Newsgroups-headers in any way, even if some or all MUST NOT rewrite Newsgroups-headers in any way, even if some or all
of the newsgroups do not exist on the relaying agent's host. Serving of the newsgroups do not exist on the relaying agent's host. Serving
agents MUST NOT create new newsgroups simply because an unrecognized agents MUST NOT create new newsgroups simply because an unrecognized
newsgroup-name occurs in a Newsgroups-header (see 7.2.1 for the newsgroup-name occurs in a Newsgroups-header (see 7.2.1 for the
correct method of newsgroup creation). correct method of newsgroup creation).
The Newsgroups-header is intended for use in Netnews articles rather The Newsgroups-header is intended for use in Netnews articles rather
than in email messages. It MAY be used in an email message to than in email messages. It MAY be used in an email message to
indicate that it is a copy also posted to the listed newsgroups, in indicate that it is a copy also posted to the listed newsgroups, in
skipping to change at page 31, line 43 skipping to change at page 31, line 5
newsgroups by many serving agents); newsgroups by many serving agents);
o Any newsgroup-name containing the component "ctl" (likewise); o Any newsgroup-name containing the component "ctl" (likewise);
o "to" or any newsgroup-name beginning with "to." (reserved for the o "to" or any newsgroup-name beginning with "to." (reserved for the
ihave/sendme protocol described in section 7.4, and for test ihave/sendme protocol described in section 7.4, and for test
messages sent on an essentially point-to-point basis); messages sent on an essentially point-to-point basis);
o Any newsgroup-name beginning with "example." (reserved for o Any newsgroup-name beginning with "example." (reserved for
examples in this and other standards); examples in this and other standards);
o Any newsgroup-name containing the component "all" (because this o Any newsgroup-name containing the component "all" (because this
is used as a wildcard in some implementations). is used as a wildcard in some implementations).
News Article Format and Transmission November 2003
A newsgroup-name SHOULD NOT appear more than once in the Newsgroups- A newsgroup-name SHOULD NOT appear more than once in the Newsgroups-
header. The order of newsgroup-names in the Newsgroups-header is not header. The order of newsgroup-names in the Newsgroups-header is not
significant, except for determining which moderator to send the significant, except for determining which moderator to send the
article to if more than one of the groups is moderated (see 8.2). article to if more than one of the groups is moderated (see 8.2).
5.6. Path 5.6. Path
The Path-header shows the route taken by a message since its entry The Path-header shows the route taken by a message since its entry
into the Netnews system. It is a variant header (4.2.5.3), each agent into the Netnews system. It is a variant header (4.2.5.3), each agent
that processes an article being required to add one (or more) entries that processes an article being required to add one (or more) entries
to it. This is primarily to enable relaying agents to avoid sending to it. This is primarily to enable relaying agents to avoid sending
articles to sites already known to have them, in particular the site articles to sites already known to have them, in particular the site
they came from, and additionally to permit tracing the route articles they came from, and additionally to permit tracing the route articles
take in moving over the network, and for gathering Usenet statistics. take in moving over the network, and for gathering Usenet statistics.
Finally the presence of a '%' path-delimiter in the Path-header can Finally the presence of a '%' path-delimiter in the Path-header can
be used to identify an article injected in conformance with this be used to identify an article injected in conformance with this
standard. standard.
News Article Format June 2003
5.6.1. Format 5.6.1. Format
header =/ Path-header header =/ Path-header
Path-header = "Path" ":" SP Path-content Path-header = "Path" ":" SP Path-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Path-content = [FWS] Path-content = [FWS]
*( path-identity [FWS] path-delimiter [FWS] ) *( path-identity [FWS] path-delimiter [FWS] )
tail-entry [FWS] tail-entry [FWS]
path-identity = ( ALPHA / DIGIT ) path-identity = ( ALPHA / DIGIT )
*( ALPHA / DIGIT / "-" / "." / ":" / "_" ) *( ALPHA / DIGIT / "-" / "." / ":" / "_" )
skipping to change at page 32, line 43 skipping to change at page 32, line 4
differs from that of another site only in terms of case. differs from that of another site only in terms of case.
A relaying agent MAY decline to accept an article if its own path- A relaying agent MAY decline to accept an article if its own path-
identity is already present in the Path-content or if the Path- identity is already present in the Path-content or if the Path-
content contains some path-identity whose articles the relaying agent content contains some path-identity whose articles the relaying agent
does not want, as a matter of local policy. does not want, as a matter of local policy.
NOTE: This last facility is sometimes used to detect and decline NOTE: This last facility is sometimes used to detect and decline
control messages (notably cancel messages) which have been control messages (notably cancel messages) which have been
deliberately seeded with a path-identity to be "aliased out" by deliberately seeded with a path-identity to be "aliased out" by
News Article Format and Transmission November 2003
sites not wishing to act upon them. sites not wishing to act upon them.
5.6.2. Adding a path-identity to the Path-header 5.6.2. Adding a path-identity to the Path-header
When an injecting, relaying or serving agent receives an article, it When an injecting, relaying or serving agent receives an article, it
MUST prepend its own path-identity followed by a path-delimiter to MUST prepend its own path-identity followed by a path-delimiter to
the beginning of the Path-content. In addition, it SHOULD then add the beginning of the Path-content. In addition, it SHOULD then add
CRLF and WSP if it would otherwise result in a line longer than 79 CRLF and WSP if it would otherwise result in a line longer than 79
characters. characters.
The path-identity added MUST be unique to that agent. To this end it The path-identity added MUST be unique to that agent. To this end it
SHOULD be one of: SHOULD be one of:
1. A fully qualified domain name (FQDN) associated (by the Internet 1. A fully qualified domain name (FQDN) associated (by the Internet
DNS service [RFC 1034]) with an A record, which SHOULD identify DNS service [RFC 1034]) with an A record, which SHOULD identify
the actual machine prepending this path-identity. Ideally, this the actual machine prepending this path-identity. Ideally, this
FQDN should also be "mailable" (see below). FQDN should also be "mailable" (see below).
News Article Format June 2003
2. A fully qualified domain name (FQDN) associated (by the Internet 2. A fully qualified domain name (FQDN) associated (by the Internet
DNS service) with an MX record, which MUST be "mailable". DNS service) with an MX record, which MUST be "mailable".
3. An arbitrary name believed to be unique and registered at least 3. An arbitrary name believed to be unique and registered at least
with all sites immediately downstream from the given site. with all sites immediately downstream from the given site.
4. An encoding of an IP address - <IPv4address> or <IPv6address> [RFC 4. An encoding of an IP address - <IPv4address> or <IPv6address> [RFC
2373] (the requirement to be able to use an <IPv6address> is the 2373] (the requirement to be able to use an <IPv6address> is the
reason for including ':' as an allowed character within a path- reason for including ':' as an allowed character within a path-
identity). identity).
skipping to change at page 33, line 43 skipping to change at page 33, line 4
post-injection regions of the Path-content (see 5.6.3). post-injection regions of the Path-content (see 5.6.3).
In the case of a relaying or serving agent, the path-delimiter is In the case of a relaying or serving agent, the path-delimiter is
chosen as follows. When such an agent receives an article, it MUST chosen as follows. When such an agent receives an article, it MUST
establish the identity of the source and compare it with the leftmost establish the identity of the source and compare it with the leftmost
path-identity of the Path-content. If it matches, a '/' should be path-identity of the Path-content. If it matches, a '/' should be
used as the path-delimiter when prepending the agent's own path- used as the path-delimiter when prepending the agent's own path-
identity. If it does not match then the agent should prepend two identity. If it does not match then the agent should prepend two
entries to the Path-content; firstly the true established path- entries to the Path-content; firstly the true established path-
identity of the source followed by a '?' path-delimiter, and then, identity of the source followed by a '?' path-delimiter, and then,
News Article Format and Transmission November 2003
to the left of that, the agent's own path-identity followed by a '/' to the left of that, the agent's own path-identity followed by a '/'
path-delimiter as usual. This prepending of two entries SHOULD NOT path-delimiter as usual. This prepending of two entries SHOULD NOT
be done if the provided and established identities match. be done if the provided and established identities match.
Any method of establishing the identity of the source may be used Any method of establishing the identity of the source may be used
(but see 5.6.5 below), with the consideration that, in the event of with the consideration that, in the event of problems, the agent
problems, the agent concerned may be called upon to justify it. concerned may be called upon to justify it.
NOTE: The use of the '%' path-delimiter marks the position of NOTE: The use of the '%' path-delimiter marks the position of
the injecting agent in the chain. In normal circumstances there the injecting agent in the chain. In normal circumstances there
should therefore be only one '%' path-delimiter present, and should therefore be only one '%' path-delimiter present, and
injecting agents MAY choose to reject proto-articles with a '%' injecting agents MAY choose to reject proto-articles with a '%'
already in them. If, for whatever reason, more than one '%' is already in them. If, for whatever reason, more than one '%' is
found, then the path-identity in front of the leftmost '%' is to found, then the path-identity in front of the leftmost '%' is to
be regarded as the true injecting agent. be regarded as the true injecting agent.
News Article Format June 2003
5.6.3. The tail-entry 5.6.3. The tail-entry
For historical reasons, the tail-entry (i.e. the rightmost entry in For historical reasons, the tail-entry (i.e. the rightmost entry in
the Path-content) is regarded as a "user name", and therefore MUST the Path-content) is regarded as a "user name", and therefore MUST
NOT be interpreted as a site through which the article has already NOT be interpreted as a site through which the article has already
passed. Moreover, the Path-content as a whole is not an email address passed. Moreover, the Path-content as a whole is not an email address
and MUST NOT be used to contact the poster. Posting and/or injecting and MUST NOT be used to contact the poster. Posting and/or injecting
agents MAY place any string here. When it is not an actual user agents MAY place any string here. When it is not an actual user
name, the string "not-for-mail" is often used, but in fact a simple name, the string "not-for-mail" is often used.
"x" would be sufficient.
Often this field will be the only entry in the region (known as the Often this field will be the only entry in the region (known as the
pre-injection region) after the '%', although there may be entries pre-injection region) after the '%', although there may be entries
corresponding to machines traversed between the posting agent and the corresponding to machines traversed between the posting agent and the
injecting agent proper. In particular, injecting agents that receive injecting agent proper. In particular, injecting agents that receive
articles from many sources MAY include information to establish the articles from many sources MAY include information to establish the
circumstances of the injection such as the identity of the source circumstances of the injection such as the identity of the source
machine (especially if an Injector-Info-header (6.19) is not being machine (especially if an Injector-Info-header (6.19) is not being
provided). Any such inclusion SHOULD NOT conflict with any genuine provided). Any such inclusion SHOULD NOT conflict with any genuine
site identifier. The '!' path-delimiter may be used freely within site identifier. The '!' path-delimiter may be used freely within
skipping to change at page 34, line 46 skipping to change at page 34, line 5
'/' The name immediately to the right is known to be the identity of '/' The name immediately to the right is known to be the identity of
the machine from which the article was received (either because the machine from which the article was received (either because
the entry was made by that machine and we have verified it, or the entry was made by that machine and we have verified it, or
because we have added it ourselves). because we have added it ourselves).
'?' The name immediately to the right is the claimed identity of the '?' The name immediately to the right is the claimed identity of the
machine from which the article was received, but we were unable machine from which the article was received, but we were unable
to verify it (and have prepended our own view of where it came to verify it (and have prepended our own view of where it came
from, and then a '/'). from, and then a '/').
News Article Format and Transmission November 2003
'%' Everything to the right is the pre-injection region followed by '%' Everything to the right is the pre-injection region followed by
the tail-entry. The name on the left is the FQDN of the the tail-entry. The name on the left is the FQDN of the
injecting agent. The presence of two '%'s in a path indicates a injecting agent. The presence of two '%'s in a path indicates a
double-injection (see 8.2.2). double-injection (see 8.2.2).
'!' The name immediately to the right is unverified. The presence of '!' The name immediately to the right is unverified. The presence of
a '!' to the left of the '%' indicates that the identity to the a '!' to the left of the '%' indicates that the identity to the
left is that of an old-style system not conformant with this left is that of an old-style system not conformant with this
standard. standard.
',' Reserved for future use, treat as '/'. ',' Reserved for future use, treat as '/'.
Other Other
Old software may possibly use other path-delimiters, which should Old software may possibly use other path-delimiters, which should
be treated as '!'. But note in particular that ':', '-' and '_' be treated as '!'. But note in particular that ':', '-' and '_'
News Article Format June 2003
are components of names, not path-delimiters, and FWS on its own are components of names, not path-delimiters, and FWS on its own
MUST NOT be used as the sole path-delimiter. MUST NOT be used as the sole path-delimiter.
NOTE: Old Netnews relaying and injecting agents almost all NOTE: Old Netnews relaying and injecting agents almost all
delimit Path entries with a '!', and these entries are not delimit Path entries with a '!', and these entries are not
verified. The presence of '%' indicates that the article was verified. The presence of '%' indicates that the article was
injected by software conforming to this standard, and the injected by software conforming to this standard, and the
presence of '!' to the left of a '%' indicates that the message presence of '!' to the left of a '%' indicates that the message
passed through systems developed prior to this standard. It is passed through systems developed prior to this standard. It is
anticipated that relaying agents will reject articles in the old anticipated that relaying agents will reject articles in the old
style once this new standard has been widely adopted. style once this new standard has been widely adopted.
5.6.5. Suggested Verification Methods 5.6.5. Example
[Section now omitted.]
5.6.6. Example
Path: foo.isp.example/ Path: foo.isp.example/
foo-server/bar.isp.example?10.123.12.2/old.site.example! foo-server/bar.isp.example?10.123.12.2/old.site.example!
barbaz/baz.isp.example%dialup123.baz.isp.example!x barbaz/baz.isp.example%dialup123.baz.isp.example!x
NOTE: That article was injected into the news stream by NOTE: That article was injected into the news stream by
baz.isp.example (complaints may be addressed to baz.isp.example (complaints may be addressed to
abuse@baz.isp.example). The injector has taken care to record abuse@baz.isp.example). The injector has taken care to record
that it got it from dialup123.baz.isp.example. "x" is a dummy that it got it from dialup123.baz.isp.example. "x" is a dummy
tail-entry, though sometimes a real userid is put there. tail-entry, though sometimes a real userid is put there.
skipping to change at page 35, line 49 skipping to change at page 35, line 4
cannot be sure that it really came from barbaz. cannot be sure that it really came from barbaz.
Old.site.example relayed it to a site claiming to have the IP Old.site.example relayed it to a site claiming to have the IP
address [10.123.12.2], and claiming (by using the '/' path- address [10.123.12.2], and claiming (by using the '/' path-
delimiter) to have verified that it came from old.site.example. delimiter) to have verified that it came from old.site.example.
[10.123.12.2] relayed it to "foo-server" which, not being [10.123.12.2] relayed it to "foo-server" which, not being
convinced that it truly came from [10.123.12.2], did a reverse convinced that it truly came from [10.123.12.2], did a reverse
lookup on the actual source and concluded it was known as lookup on the actual source and concluded it was known as
bar.isp.example (that is not to say that [10.123.12.2] was not a bar.isp.example (that is not to say that [10.123.12.2] was not a
News Article Format and Transmission November 2003
correct IP address for bar.isp.example, but simply that that correct IP address for bar.isp.example, but simply that that
connection could not be substantiated by foo-server). Observe connection could not be substantiated by foo-server). Observe
that foo-server has now added two entries to the Path. that foo-server has now added two entries to the Path.
"foo-server" is a locally significant name within the complex "foo-server" is a locally significant name within the complex
site of many machines run by foo.isp.example, so the latter site of many machines run by foo.isp.example, so the latter
should have no problem recognizing foo-server and using a '/' should have no problem recognizing foo-server and using a '/'
path-delimiter. Presumably foo.isp.example then delivered the path-delimiter. Presumably foo.isp.example then delivered the
article to its direct clients. article to its direct clients.
News Article Format June 2003
It appears that foo.isp.example and old.site.example decided to It appears that foo.isp.example and old.site.example decided to
fold the line, on the grounds that it seemed to be getting a fold the line, on the grounds that it seemed to be getting a
little too long. little too long.
6. Optional Headers 6. Optional Headers
None of the headers appearing in this section is required to appear None of the headers appearing in this section is required to appear
in every article but some of them are required in certain types of in every article but some of them are required in certain types of
article, such as followups. Any header defined in this (or any other) article, such as followups. Any header defined in this (or any other)
standard MUST NOT appear more than once in an article unless standard MUST NOT appear more than once in an article unless
skipping to change at page 36, line 51 skipping to change at page 36, line 4
fred@site2.example fred@site2.example
6.2. Sender 6.2. Sender
The Sender-header specifies the mailbox of the person or entity which The Sender-header specifies the mailbox of the person or entity which
caused this article to be posted (and hence injected), if that person caused this article to be posted (and hence injected), if that person
or entity is different from that given in the From-header or if more or entity is different from that given in the From-header or if more
than one mailbox appears in the From-header. This header SHOULD NOT than one mailbox appears in the From-header. This header SHOULD NOT
appear in an article unless the sender is different from the poster. appear in an article unless the sender is different from the poster.
This header is appropriate for use by automatic article posters. The This header is appropriate for use by automatic article posters. The
News Article Format and Transmission November 2003
content syntax makes use of syntax defined in [RFC 2822]. content syntax makes use of syntax defined in [RFC 2822].
header =/ Sender-header header =/ Sender-header
Sender-header = "Sender" ":" SP Sender-content Sender-header = "Sender" ":" SP Sender-content
Sender-content = mailbox Sender-content = mailbox
News Article Format June 2003
6.3. Organization 6.3. Organization
The Organization-header is a short phrase identifying the poster's The Organization-header is a short phrase identifying the poster's
organization. organization.
header =/ Organization-header header =/ Organization-header
Organization-header = "Organization" ":" SP Organization-content Organization-header = "Organization" ":" SP Organization-content
Organization-content= unstructured Organization-content= unstructured
skipping to change at page 37, line 54 skipping to change at page 37, line 4
propagation. propagation.
header =/ Distribution-header header =/ Distribution-header
Distribution-header = "Distribution" ":" SP Distribution-content Distribution-header = "Distribution" ":" SP Distribution-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Distribution-content= distribution *( dist-delim distribution ) Distribution-content= distribution *( dist-delim distribution )
dist-delim = "," dist-delim = ","
distribution = [FWS] distribution-name [FWS] distribution = [FWS] distribution-name [FWS]
distribution-name = ALPHA 1*distribution-rest distribution-name = ALPHA 1*distribution-rest
distribution-rest = ALPHA / "+" / "-" / "_" distribution-rest = ALPHA / "+" / "-" / "_"
News Article Format and Transmission November 2003
Articles MUST NOT be passed between relaying agents or to serving Articles MUST NOT be passed between relaying agents or to serving
agents unless the sending agent has been configured to supply and the agents unless the sending agent has been configured to supply and the
receiving agent to receive at least one of the distributions in the receiving agent to receive at least one of the distributions in the
Distribution-header. Additionally, reading agents MAY also be Distribution-header. Additionally, reading agents MAY also be
configured so that unwanted distributions do not get displayed. configured so that unwanted distributions do not get displayed.
News Article Format June 2003
NOTE: Although it would seem redundant to filter out unwanted NOTE: Although it would seem redundant to filter out unwanted
distributions at both ends of a relaying link (and it is clearly distributions at both ends of a relaying link (and it is clearly
more efficient to do so at the sending end), many sending sites more efficient to do so at the sending end), many sending sites
have been reluctant, historically speaking, to apply such have been reluctant, historically speaking, to apply such
filters (except to ensure that distributions local to their own filters (except to ensure that distributions local to their own
site or cooperating subnet did not escape); moreover they tended site or cooperating subnet did not escape); moreover they tended
to configure their filters on an "all but those listed" basis, to configure their filters on an "all but those listed" basis,
so that new and hitherto unheard of distributions would not be so that new and hitherto unheard of distributions would not be
caught. Indeed many "hub" sites actually wanted to receive all caught. Indeed many "hub" sites actually wanted to receive all
possible distributions so that they could feed on to their possible distributions so that they could feed on to their
skipping to change at page 38, line 53 skipping to change at page 38, line 4
The Followup-To-header specifies which newsgroup(s) followups should The Followup-To-header specifies which newsgroup(s) followups should
be posted to. be posted to.
header =/ Followup-To-header header =/ Followup-To-header
Followup-To-header = "Followup-To" ":" SP Followup-To-content Followup-To-header = "Followup-To" ":" SP Followup-To-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Followup-To-content = Newsgroups-content / Followup-To-content = Newsgroups-content /
[FWS] %x70.6F.73.74.65.72 [FWS] [FWS] %x70.6F.73.74.65.72 [FWS]
; which is a case-sensitive "poster" ; which is a case-sensitive "poster"
News Article Format and Transmission November 2003
The syntax is the same as that of the Newsgroups-content, with the The syntax is the same as that of the Newsgroups-content, with the
addition that the keyword "poster" is allowed. In the absence of a addition that the keyword "poster" is allowed. In the absence of a
Followup-To-content, the default newsgroup(s) for a followup are Followup-To-content, the default newsgroup(s) for a followup are
those in the Newsgroups-header. those in the Newsgroups-header.
News Article Format June 2003
A Followup-To-header consisting of the keyword "poster" indicates A Followup-To-header consisting of the keyword "poster" indicates
that the poster requests no followups to be sent in response to this that the poster requests no followups to be sent in response to this
article, only personal replies to the article's reply address. article, only personal replies to the article's reply address.
Although the keyword "poster" is case-sensitive, followup agents MAY Although the keyword "poster" is case-sensitive, followup agents MAY
choose to regognize case insensitive forms such as "Poster". choose to regognize case insensitive forms such as "Poster".
NOTE: A poster who wishes both a personal reply and a followup NOTE: A poster who wishes both a personal reply and a followup
post should include an appropriate Mail-Copies-To-header (6.8). post should include an appropriate Mail-Copies-To-header (6.8).
6.8. Mail-Copies-To 6.8. Mail-Copies-To
skipping to change at page 39, line 53 skipping to change at page 39, line 5
NOTE: Some existing practice uses the keyword "never" in place NOTE: Some existing practice uses the keyword "never" in place
of "nobody" and "always" in place of "poster". These usages are of "nobody" and "always" in place of "poster". These usages are
deprecated, but followup agents MAY observe them. The actions deprecated, but followup agents MAY observe them. The actions
to be taken by by followup agent when following up to an article to be taken by by followup agent when following up to an article
containing a Mail-Copies-To header are set out in section 8.6. containing a Mail-Copies-To header are set out in section 8.6.
Whether or not this header will also find similar usage for replies Whether or not this header will also find similar usage for replies
to messages sent to mailing lists falls outside the scope of this to messages sent to mailing lists falls outside the scope of this
standard. standard.
News Article Format and Transmission November 2003
6.9. Posted-And-Mailed 6.9. Posted-And-Mailed
header =/ Posted-And-Mailed-header header =/ Posted-And-Mailed-header
Posted-And-Mailed-header Posted-And-Mailed-header
= "Posted-And-Mailed" ":" SP Posted-And-Mailed-content = "Posted-And-Mailed" ":" SP Posted-And-Mailed-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Posted-And-Mailed-content Posted-And-Mailed-content
= [CFWS] ( "yes" / "no" ) [CFWS] = [CFWS] ( "yes" / "no" ) [CFWS]
News Article Format June 2003
This header, when used with the "yes" keyword, indicates that the This header, when used with the "yes" keyword, indicates that the
article has been both posted to the specified newsgroups and emailed. article has been both posted to the specified newsgroups and emailed.
It SHOULD be used when replying to the poster of an article to which It SHOULD be used when replying to the poster of an article to which
this one is a followup (see the Mail-Copies-To-header in section 6.8) this one is a followup (see the Mail-Copies-To-header in section 6.8)
and it MAY be used when any article is also mailed to a recipient(s) and it MAY be used when any article is also mailed to a recipient(s)
identified in a To- and/or Cc-header that is also present. The "no" identified in a To- and/or Cc-header that is also present. The "no"
keyword is included for the sake of completeness; it MAY be used to keyword is included for the sake of completeness; it MAY be used to
indicate the opposite state, but is redundant insofar as it only indicate the opposite state, but is redundant insofar as it only
describes the default state when this header is absent. describes the default state when this header is absent.
This header, if present, MUST be included in both the posted and This header, if present, MUST be included in both the posted and
emailed versions of the article. The Newsgroups-header of the posted emailed versions of the article. The Newsgroups-header of the posted
article SHOULD be included in the email version as recommended in article SHOULD be included in the email version as recommended in
section 5.5. All other headers defined in this standard (excluding section 5.5. All other headers defined in this standard (excluding
variant headers) MUST be identical in both the posted and mailed variant headers) MUST be identical in both the posted and emailed
versions of the article. The bodies MUST be identical in both, apart versions of the article. The bodies MUST be identical in both, apart
from a possible change of Content-Transfer-Encoding. from a possible change of Content-Transfer-Encoding.
NOTE: This leaves open the question of whether a To- or a Cc- NOTE: This leaves open the question of whether a To- or a Cc-
header should appear in the posted version. Naturally, a Bcc- header should appear in the posted version. Naturally, a Bcc-
header should not appear, except in a form which indicates that header should not appear, except in a form which indicates that
there are additional unspecified recipients. there are additional unspecified recipients.
6.10. References 6.10. References
The References-header is an inheritable header (see 4.2.5.2) which The References-header is an inheritable header (see 4.2.5.2) which
lists CFWS-separated message identifiers of the article's precursors, lists CFWS-separated message identifiers of the article's precursors,
as described in 8.6. The content syntax makes use of syntax defined as described in 8.6. The content syntax makes use of syntax defined
in [RFC 2822] (but see the revised definition of msg-id in section in [RFC 2822] (but see the revised definition of msg-id in section
2.4.2). 2.4.3).
header =/ References-header header =/ References-header
References-header = "References" ":" SP References-content References-header = "References" ":" SP References-content
References-content = [CFWS] msg-id *( CFWS msg-id ) [CFWS] References-content = [CFWS] msg-id *( CFWS msg-id ) [CFWS]
NOTE: This differs from the syntax of [RFC 2822] by requiring at NOTE: This differs from the syntax of [RFC 2822] by requiring at
least one CFWS between the msg-ids (a SP at this point was an least one CFWS between the msg-ids (a SP at this point was an
[RFC 1036] requirement). [RFC 1036] requirement).
A followup MUST have a References-header, and an article that is not A followup MUST have a References-header, and an article that is not
a followup MUST NOT have a References-header. a followup MUST NOT have a References-header.
News Article Format and Transmission November 2003
6.10.1. Examples 6.10.1. Examples
References: <i4g587y@site1.example> References: <i4g587y@site1.example>
References: <i4g587y@site1.example> <kgb2231+ee@site2.example> References: <i4g587y@site1.example> <kgb2231+ee@site2.example>
References: <i4g587y@site1.example> <kgb2231+ee@site2.example> References: <i4g587y@site1.example> <kgb2231+ee@site2.example>
<222@site1.example> <87tfbyv@site7.example> <222@site1.example> <87tfbyv@site7.example>
<67jimf@site666.example> <67jimf@site666.example>
References: <i4g587y@site1.example> <kgb2231+ee@site2.example> References: <i4g587y@site1.example> <kgb2231+ee@site2.example>
<tisjits@smeghead.example> <tisjits@smeghead.example>
News Article Format June 2003
6.11. Expires 6.11. Expires
The Expires-header specifies a date and time when the article is The Expires-header specifies a date and time when the article is
deemed to be no longer relevant and could usefully be removed deemed to be no longer relevant and could usefully be removed
("expired"). The content syntax makes use of syntax defined in [RFC ("expired"). The content syntax makes use of syntax defined in [RFC
2822]. 2822].
header =/ Expires-header header =/ Expires-header
Expires-header = "Expires" ":" SP Expires-content Expires-header = "Expires" ":" SP Expires-content
skipping to change at page 41, line 50 skipping to change at page 41, line 5
such redistribution to take place. The optional "filename" parameter such redistribution to take place. The optional "filename" parameter
can then be used to suggest a filename under which the article should can then be used to suggest a filename under which the article should
be stored. Further extensions to this standard may provide additional be stored. Further extensions to this standard may provide additional
parameters for administration of the archiving process. parameters for administration of the archiving process.
NOTE: This standard does not attempt to define the length of NOTE: This standard does not attempt to define the length of
"long-term", since it is dependent on many factors, including "long-term", since it is dependent on many factors, including
the retention policies of individual sites, and the customs or the retention policies of individual sites, and the customs or
policies established for particular newsgroups or hierarchies. policies established for particular newsgroups or hierarchies.
News Article Format and Transmission November 2003
NOTE: Posters are cautioned that some sites may not implement NOTE: Posters are cautioned that some sites may not implement
the "no" option of the Archive-header correctly. In some the "no" option of the Archive-header correctly. In some
jurisdictions non-compliance with this header may constitute a jurisdictions non-compliance with this header may constitute a
breach of copyright or of other legal provisions. Moreover, breach of copyright or of other legal provisions. Moreover,
even if this header prevents the poster's words from being even if this header prevents the poster's words from being
archived publicly, it does nothing to prevent the archiving of a archived publicly, it does nothing to prevent the archiving of a
followup in which those words are quoted. followup in which those words are quoted.
News Article Format June 2003
6.13. Control 6.13. Control
The Control-header marks the article as a control message, and The Control-header marks the article as a control message, and
specifies the desired actions (additional to the usual ones of specifies the desired actions (additional to the usual ones of
storing and/or relaying the article). storing and/or relaying the article).
header =/ Control-header header =/ Control-header
Control-header = "Control" ":" SP Control-content Control-header = "Control" ":" SP Control-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Control-content = [CFWS] control-message [CFWS] Control-content = [CFWS] control-message [CFWS]
skipping to change at page 42, line 49 skipping to change at page 42, line 5
An article with a Control-header MUST NOT also have a Supersedes- An article with a Control-header MUST NOT also have a Supersedes-
header. header.
NOTE: The presence of a Subject-header starting with the string NOTE: The presence of a Subject-header starting with the string
"cmsg " and followed by a Control-message MUST NOT be construed, "cmsg " and followed by a Control-message MUST NOT be construed,
in the absence of a proper Control-header, as a request to in the absence of a proper Control-header, as a request to
perform that control action (as may have occurred in some legacy perform that control action (as may have occurred in some legacy
software). software).
News Article Format and Transmission November 2003
6.14. Approved 6.14. Approved
The Approved-header indicates the mailing addresses (possibly The Approved-header indicates the mailing addresses (possibly
including the full names) of the persons or entities approving the including the full names) of the persons or entities approving the
article for posting. article for posting.
header =/ Approved-header header =/ Approved-header
Approved-header = "Approved" ":" SP Approved-content Approved-header = "Approved" ":" SP Approved-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Approved-content = From-content ; see 5.2 Approved-content = From-content ; see 5.2
News Article Format June 2003
Each mailbox contained in the Approved-content MUST be that of one of Each mailbox contained in the Approved-content MUST be that of one of
the person(s) or entity(ies) in question, and one of those mailboxes the person(s) or entity(ies) in question, and one of those mailboxes
MUST be that of the actual injector of the article. MUST be that of the actual injector of the article.
An Approved-header is required in all postings to moderated An Approved-header is required in all postings to moderated
newsgroups. If this header is not present in such postings, then newsgroups. If this header is not present in such postings, then
serving agents MUST (and relaying agents MAY) reject the article. serving agents MUST (and relaying agents MAY) reject the article.
Please see section 8.2.2 for how injecting agents should treat Please see section 8.2.2 for how injecting agents should treat
postings to moderated groups that do not contain this header. postings to moderated groups that do not contain this header.
skipping to change at page 43, line 37 skipping to change at page 42, line 49
of control messages (section 7). of control messages (section 7).
6.15. Supersedes 6.15. Supersedes
The Supersedes-header contains a message identifier specifying an The Supersedes-header contains a message identifier specifying an
article to be superseded upon the arrival of this one. The specified article to be superseded upon the arrival of this one. The specified
article MUST be treated as though a "cancel" control message had article MUST be treated as though a "cancel" control message had
arrived for the article (but observe that a site MAY choose not to arrived for the article (but observe that a site MAY choose not to
honour a "cancel" message, especially if its authenticity is in honour a "cancel" message, especially if its authenticity is in
doubt). The content syntax makes use of syntax defined in [RFC 2822] doubt). The content syntax makes use of syntax defined in [RFC 2822]
(but see the revised definition of msg-id in section 2.4.2). (but see the revised definition of msg-id in section 2.4.3).
header =/ Supersedes-header header =/ Supersedes-header
Supersedes-header = "Supersedes" ":" SP Supersedes-content Supersedes-header = "Supersedes" ":" SP Supersedes-content
Supersedes-content = [CFWS] msg-id [CFWS] Supersedes-content = [CFWS] msg-id [CFWS]
NOTE: There is no "c" in "Supersedes". NOTE: There is no "c" in "Supersedes".
NOTE: The Supersedes-header defined here has no connection with NOTE: The Supersedes-header defined here has no connection with
the Supersedes-header that sometimes appears in Email messages the Supersedes-header that sometimes appears in Email messages
converted from X.400 according to [RFC 2156]; in particular, the converted from X.400 according to [RFC 2156]; in particular, the
syntax here permits only one msg-id in contrast to the multiple syntax here permits only one msg-id in contrast to the multiple
News Article Format and Transmission November 2003
msg-ids in that Email version. msg-ids in that Email version.
Thus when an article contains a Supersedes-header, the old article Thus when an article contains a Supersedes-header, the old article
mentioned SHOULD be withdrawn from circulation or access, as in a mentioned SHOULD be withdrawn from circulation or access, as in a
cancel message (7.3), and the new article inserted into the system as cancel message (7.3), and the new article inserted into the system as
any other new article would have been. any other new article would have been.
Whatever security or authentication checks are normally applied to a Whatever security or authentication checks are normally applied to a
Control cancel message (or may be prescribed for such messages by Control cancel message (or may be prescribed for such messages by
some extension to this standard - see the remarks in 7.1 and 7.3) some extension to this standard - see the remarks in 7.1 and 7.3)
MUST also be applied to an article with a Supersedes-header. In the MUST also be applied to an article with a Supersedes-header. In the
News Article Format June 2003
event of the failure of such checks, the article SHOULD be discarded, event of the failure of such checks, the article SHOULD be discarded,
or at most stored as an ordinary article. or at most stored as an ordinary article.
6.16. Xref 6.16. Xref
The Xref-header is a variant header (4.2.5.3) which indicates where The Xref-header is a variant header (4.2.5.3) which indicates where
an article was filed by the last serving agent to process it. an article was filed by the last serving agent to process it.
header =/ Xref-header header =/ Xref-header
Xref-header = "Xref" ":" SP Xref-content Xref-header = "Xref" ":" SP Xref-content
skipping to change at page 44, line 46 skipping to change at page 44, line 5
An agent inserting an Xref-header into an article MUST delete any An agent inserting an Xref-header into an article MUST delete any
previous Xref-header(s). A relaying agent MAY delete it before previous Xref-header(s). A relaying agent MAY delete it before
relaying, but otherwise it SHOULD be ignored by any relaying or relaying, but otherwise it SHOULD be ignored by any relaying or
serving agent receiving it. serving agent receiving it.
It is convenient, though not required, for a serving agent to use the It is convenient, though not required, for a serving agent to use the
same server-name in Xref-headers as the path-identity it uses in same server-name in Xref-headers as the path-identity it uses in
Path-headers (just so long as reading agents can distinguish it from Path-headers (just so long as reading agents can distinguish it from
other serving agents known to them). other serving agents known to them).
News Article Format and Transmission November 2003
6.17. Lines 6.17. Lines
The Lines-header indicates the number of lines in the body of the The Lines-header indicates the number of lines in the body of the
article. article.
header =/ Lines-header header =/ Lines-header
Lines-header = "Lines" ":" SP Lines-content Lines-header = "Lines" ":" SP Lines-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Lines-content = [CFWS] 1*DIGIT [CFWS] Lines-content = [CFWS] 1*DIGIT [CFWS]
The line count includes all body lines, including the signature if The line count includes all body lines, including the signature if
any, including empty lines (if any) at the beginning or end of the any, including empty lines (if any) at the beginning or end of the
body, and including the whole of all MIME message and multipart parts body, and including the whole of all MIME message and multipart parts
contained in the body (the single empty separator line between the contained in the body (the single empty separator line between the
News Article Format June 2003
headers and the body is not part of the body). The "body" here is the headers and the body is not part of the body). The "body" here is the
body as found in the posted article as transmitted by the posting body as found in the posted article as transmitted by the posting
agent. agent.
This header is to be regarded as obsolete, and it will likely be This header is to be regarded as obsolete, and it will likely be
removed entirely in a future version of this standard. In the removed entirely in a future version of this standard. In the
meantime, its use is deprecated. meantime, its use is deprecated.
6.18. User-Agent 6.18. User-Agent
skipping to change at page 45, line 45 skipping to change at page 45, line 4
product and its version. Injecting agents MAY include product product and its version. Injecting agents MAY include product
information for themselves (such as "INN/1.7.2"), but relaying and information for themselves (such as "INN/1.7.2"), but relaying and
serving agents MUST NOT generate or modify this header to list serving agents MUST NOT generate or modify this header to list
themselves. themselves.
NOTE: Minor variations from [RFC 2616] which describes a similar NOTE: Minor variations from [RFC 2616] which describes a similar
facility for the HTTP protocol: facility for the HTTP protocol:
1. "{" and "}" are allowed in a token (product and product- 1. "{" and "}" are allowed in a token (product and product-
version) in Netnews, version) in Netnews,
News Article Format and Transmission November 2003
2. Comments are permitted wherever whitespace is allowed. 2. Comments are permitted wherever whitespace is allowed.
NOTE: This header supersedes the role performed redundantly by NOTE: This header supersedes the role performed redundantly by
experimental headers such as X-Newsreader, X-Mailer, X-Posting- experimental headers such as X-Newsreader, X-Mailer, X-Posting-
Agent, X-Http-User-Agent, and other headers previously used on Agent, X-Http-User-Agent, and other headers previously used on
Usenet and in Email for this purpose. Use of these experimental Usenet and in Email for this purpose. Use of these experimental
headers SHOULD be discontinued in favor of the single, standard headers SHOULD be discontinued in favor of the single, standard
User-Agent-header. User-Agent-header.
6.18.1. Examples 6.18.1. Examples
User-Agent: tin/1.3-950621beta-PL0 (Unix) User-Agent: tin/1.3-950621beta-PL0 (Unix)
User-Agent: tin/pre-1.4-971106 (UNIX) (Linux/2.0.30 (i486)) User-Agent: tin/pre-1.4-971106 (UNIX) (Linux/2.0.30 (i486))
User-Agent: Mozilla/4.02b7 (X11; I; en; HP-UX B.10.20 9000/712) User-Agent: Mozilla/4.02b7 (X11; I; en; HP-UX B.10.20 9000/712)
News Article Format June 2003
User-Agent: Microsoft-Internet-News/4.70.1161 User-Agent: Microsoft-Internet-News/4.70.1161
User-Agent: Gnus/5.4.64 XEmacs/20.3beta17 ("Bucharest") User-Agent: Gnus/5.4.64 XEmacs/20.3beta17 ("Bucharest")
User-Agent: inn/1.7.2 User-Agent: inn/1.7.2
User-Agent: telnet User-Agent: telnet
6.19. Injector-Info 6.19. Injector-Info
The Injector-Info-header SHOULD be added to each article by the The Injector-Info-header SHOULD be added to each article by the
injecting agent in order to provide information as to how that injecting agent in order to provide information as to how that
article entered the Netnews system and to assist in tracing its true article entered the Netnews system and to assist in tracing its true
skipping to change at page 46, line 45 skipping to change at page 46, line 4
host-value = dot-atom / host-value = dot-atom /
[ dot-atom ":" ] [ dot-atom ":" ]
( IPv4address / IPv6address ); see [RFC 2373] ( IPv4address / IPv6address ); see [RFC 2373]
posting-account-parameter posting-account-parameter
= <a parameter with attribute "posting-account" = <a parameter with attribute "posting-account"
and any value> and any value>
posting-sender-parameter posting-sender-parameter
= <a parameter with attribute "sender" = <a parameter with attribute "sender"
and value some sender-value> and value some sender-value>
sender-value = mailbox / "verified" sender-value = mailbox / "verified"
News Article Format and Transmission November 2003
posting-logging-parameter posting-logging-parameter
= <a parameter with attribute "logging-data" = <a parameter with attribute "logging-data"
and any value> and any value>
posting-date-parameter posting-date-parameter
= <a parameter with attribute "posting-date" = <a parameter with attribute "posting-date"
and value some date-time> and value some date-time>
An Injector-Info-header MUST NOT be added to an article by any agent An Injector-Info-header MUST NOT be added to an article by any agent
other than an injecting agent. Any Injector-Info-header present when other than an injecting agent. Any Injector-Info-header present when
an article arrives at an injecting agent MUST be removed. In an article arrives at an injecting agent MUST be removed. In
particular if, for some exceptional reason (8.2.2), an article gets particular if, for some exceptional reason (8.2.2), an article gets
injected twice, the Injector-Info-header will always relate to the injected twice, the Injector-Info-header will always relate to the
second injection. second injection.
News Article Format June 2003
The path-identity MUST be the same as the path-identity prepended to The path-identity MUST be the same as the path-identity prepended to
the Path-header by that same injecting agent which, following section the Path-header by that same injecting agent which, following section
5.6.2, MUST therefore be a fully qualified domain name (FQDN) 5.6.2, MUST therefore be a fully qualified domain name (FQDN)
mailable address. mailable address.
Although comments and folding of white space are permitted throughout Although comments and folding of white space are permitted throughout
the Injector-Info-content specification, it is RECOMMENDED that the Injector-Info-content specification, it is RECOMMENDED that
folding is not used within any parameter (but only before or after folding is not used within any parameter (but only before or after
the ";" separating those parameters), and that comments are only used the ";" separating those parameters), and that comments are only used
following the last parameter. It is also RECOMMENDED that such following the last parameter. It is also RECOMMENDED that such
skipping to change at page 47, line 32 skipping to change at page 46, line 45
NOTE: The effect of those recommendations is to facilitate the NOTE: The effect of those recommendations is to facilitate the
recognition of articles arising from certain designated origins recognition of articles arising from certain designated origins
(as in the so-called "killfiles" which are available in some (as in the so-called "killfiles" which are available in some
reading agents). Observe that the order within the syntax has reading agents). Observe that the order within the syntax has
been chosen to place last those parameters which are most likely been chosen to place last those parameters which are most likely
to change between successive articles posted from the same to change between successive articles posted from the same
origin. origin.
NOTE: To comply with the overall "attribute = value" syntax of NOTE: To comply with the overall "attribute = value" syntax of
parameters, any value containing an IPv6address, a date-time, a parameters, any value containing an IPv6address, a date-time, a
mailbox, any UTF8-xtra-char, or any CFWS MUST be quoted using mailbox, or any CFWS MUST be quoted using <DQUOTE>s (the quoting
<DQUOTE>s (the quoting is optional in other cases). is optional in other cases).
NOTE: This header is intended to replace various currently-used NOTE: This header is intended to replace various currently-used
but nowhere-documented headers such as "NNTP-Posting-Host", but nowhere-documented headers such as "NNTP-Posting-Host",
"NNTP-Posting-Date" and "X-Trace". These headers are now "NNTP-Posting-Date" and "X-Trace". These headers are now
deprecated, and any of them present when an article arrives at deprecated, and any of them present when an article arrives at
an injecting agent SHOULD also be removed as above. an injecting agent SHOULD also be removed as above.
6.19.1. Usage of Injector-Info-parameters 6.19.1. Usage of Injector-Info-parameters
The purpose of these parameters is to enable the injecting agent to The purpose of these parameters is to enable the injecting agent to
make assertions about the origin of the article, in fulfilment of its make assertions about the origin of the article, in fulfilment of its
responsibilities towards the rest of the network as set out in responsibilities towards the rest of the network as set out in
section 8.2. section 8.2.
News Article Format and Transmission November 2003
An injecting agent MUST NOT include any Injector-Info-parameter An injecting agent MUST NOT include any Injector-Info-parameter
unless it has positive evidence of its correctness. An injecting unless it has positive evidence of its correctness. An injecting
agent MAY also include extension-parameters with x-attributes which agent MAY also include further extension-parameters with x-attributes
will assist in identifying the origin of the article. which will assist in identifying the origin of the article.
6.19.1.1. The posting-host-parameter 6.19.1.1. The posting-host-parameter
If a dot-atom is present, it MUST be a FQDN identifying the specific If a dot-atom is present, it MUST be a FQDN identifying the specific
host from which the injecting agent received the article. host from which the injecting agent received the article.
Alternatively, an IP address (IPv4address or IPv6address) identifies Alternatively, an IP address (IPv4address or IPv6address) identifies
that host. If both forms are present, then they MUST identify the that host. If both forms are present, then they MUST identify the
same host, or at least have done so at the time the article was same host, or at least have done so at the time the article was
injected. injected.
News Article Format June 2003
NOTE: It is commonly the case that this parameter identifies a NOTE: It is commonly the case that this parameter identifies a
dial-up point-of-presence, in which case a posting-account or dial-up point-of-presence, in which case a posting-account or
logging-data may need to be consulted to find the true origin of logging-data may need to be consulted to find the true origin of
the article. the article.
6.19.1.2. The posting-account-parameter 6.19.1.2. The posting-account-parameter
This parameter identifies the source from which the injecting agent This parameter identifies the source from which the injecting agent
received the article. It SHOULD be in a cryptic notation received the article. It SHOULD be in a cryptic notation
understandable only by the administrator of the injecting agent, but understandable only by the administrator of the injecting agent, but
skipping to change at page 48, line 48 skipping to change at page 48, line 5
other non-persistent means of identifying a posting account) which other non-persistent means of identifying a posting account) which
will enable the true origin of the article to be determined by will enable the true origin of the article to be determined by
reference to logging information kept by the injecting agent. reference to logging information kept by the injecting agent.
6.19.1.5. The posting-date-parameter 6.19.1.5. The posting-date-parameter
This parameter identifies the time at which the article was injected This parameter identifies the time at which the article was injected
(as distinct from the Date-header, which indicates when it was (as distinct from the Date-header, which indicates when it was
written). written).
News Article Format and Transmission November 2003
6.19.2. Example 6.19.2. Example
Injector-Info: news2.isp.net; posting-host=modem-15.pop.isp.net; Injector-Info: news2.isp.net; posting-host=modem-15.pop.isp.net;
posting-account=client0002623; logging-data=2427; posting-account=client0002623; logging-data=2427;
posting-date="Wed, 2 Aug 2000 20:05:33 +0100 (BST)" posting-date="Wed, 2 Aug 2000 20:05:33 +0100 (BST)"
6.20. Complaints-To 6.20. Complaints-To
The Complaints-To-header is added to an article by an injecting agent The Complaints-To-header is added to an article by an injecting agent
in order to indicate the mailbox to which complaints concerning the in order to indicate the mailbox to which complaints concerning the
poster of the article may be sent. The content syntax makes use of poster of the article may be sent. The content syntax makes use of
syntax defined in [RFC 2822]. syntax defined in [RFC 2822].
News Article Format June 2003
header =/ Complaints-To-header header =/ Complaints-To-header
Complaints-To-header Complaints-To-header
= "Complaints-To" ":" SP Complaints-To-content = "Complaints-To" ":" SP Complaints-To-content
Complaints-To-content Complaints-To-content
= address-list = address-list
A Complaints-To-header MUST NOT be added to an article by any agent A Complaints-To-header MUST NOT be added to an article by any agent
other than an injecting agent. Any Complaints-To-header present when other than an injecting agent. Any Complaints-To-header present when
an article arrives at an injecting agent MUST be removed. In an article arrives at an injecting agent MUST be removed. In
particular if, for some exceptional reason (8.2.2), an article gets particular if, for some exceptional reason (8.2.2), an article gets
skipping to change at page 49, line 47 skipping to change at page 49, line 4
MIME-Version: [RFC 2045] MIME-Version: [RFC 2045]
Content-Type: [RFC 2045],[RFC 2046] Content-Type: [RFC 2045],[RFC 2046]
Content-Transfer-Encoding: [RFC 2045] Content-Transfer-Encoding: [RFC 2045]
Content-ID: [RFC 2045] Content-ID: [RFC 2045]
Content-Description: [RFC 2045] Content-Description: [RFC 2045]
Content-Disposition: [RFC 2183] Content-Disposition: [RFC 2183]
Content-Location: [RFC 2557] Content-Location: [RFC 2557]
Content-Language: [RFC 3282] Content-Language: [RFC 3282]
Content-MD5: [RFC 1864] Content-MD5: [RFC 1864]
News Article Format and Transmission November 2003
The RFCs listed are deemed to be incorporated into this standard to The RFCs listed are deemed to be incorporated into this standard to
the extent necessary to facilitate their usage within Netnews, the extent necessary to facilitate their usage within Netnews,
subject to curtailment of that usage as described in the following subject to curtailment of that usage as described in the following
sections. Moreover, extensions to those standards registered in sections. Moreover, extensions to those standards registered in
accordance with [RFC 2048] are also available for use within Netnews, accordance with [RFC 2048] are also available for use within Netnews,
as indeed is any other header in the Content-* series which has a as indeed is any other header in the Content-* series which has a
sensible interpretation within Netnews. sensible interpretation within Netnews.
Insofar as the syntax for these headers, as given in those RFCs does Insofar as the syntax for these headers, as given in those RFCs does
not specify precisely where whitespace and comments may occur not specify precisely where whitespace and comments may occur
(whether in the form of WSP, FWS or CFWS), the usage defined in this (whether in the form of WSP, FWS or CFWS), the usage defined in this
standard, and failing that in [RFC 2822], and failing that in [RFC standard, and failing that in [RFC 2822], and failing that in [RFC
822] MUST be followed. In particular, there MUST NOT be any WSP 822] MUST be followed. In particular, there MUST NOT be any WSP
News Article Format June 2003
between a header-name and the following colon and there MUST be a SP between a header-name and the following colon and there MUST be a SP
following that colon. following that colon.
6.21.2. Content-Type 6.21.2. Content-Type
If the contents of an article is something other than plain text in If the contents of an article is something other than plain text in
the US-ASCII charset (these being the default assumptions), an the US-ASCII charset (these being the default assumptions), an
appropriate Content-Type-header MUST be included. appropriate Content-Type-header MUST be included.
Reading agents SHOULD NOT, unless explicitly configured otherwise, Reading agents SHOULD NOT, unless explicitly configured otherwise,
skipping to change at page 50, line 42 skipping to change at page 49, line 55
with threading capabilities to present them in the correct order. with threading capabilities to present them in the correct order.
Reading agents MAY then provide a facility to recombine the parts Reading agents MAY then provide a facility to recombine the parts
into a single article (but this standard does not require them to do into a single article (but this standard does not require them to do
so). so).
The Content-Type "message/rfc822" should be used for the The Content-Type "message/rfc822" should be used for the
encapsulation (whether as part of another news article or, more encapsulation (whether as part of another news article or, more
usually, as part of an email message) of complete news articles which usually, as part of an email message) of complete news articles which
have already been posted to Netnews and which are for the information have already been posted to Netnews and which are for the information
of the recipient, and do not constitute a request to repost them of the recipient, and do not constitute a request to repost them
(refer to 6.21.6.2 for the now obsolete "message/news" formerly (refer to 6.21.4.2 for the now obsolete "message/news" formerly
intended for this purpose). intended for this purpose).
News Article Format and Transmission November 2003
6.21.3. Content-Transfer-Encoding 6.21.3. Content-Transfer-Encoding
"Content-Transfer-Encoding: 7bit" is sufficient for article bodies "Content-Transfer-Encoding: 7bit" is sufficient for article bodies
(or parts of multiparts) written in pure US-ASCII (or most other (or parts of multiparts) written in pure US-ASCII (or most other
material representable in 7 bits). Posting agents SHOULD specify material representable in 7 bits). Posting agents SHOULD specify
"Content-Transfer-Encoding: 8bit" for all other cases except where "Content-Transfer-Encoding: 8bit" for all other cases except where
the content is (or might be) "8bit-unsafe", or where some protocol the content is (or might be) "8bit-unsafe", or where some protocol
explicitly disallows it. They MAY use "8bit" encoding even when explicitly disallows it. They MAY use "8bit" encoding even when
"7bit" encoding would have sufficed. "7bit" encoding would have sufficed.
Content is "8bit-unsafe" if it contains octets equivalent to the US- Content is "8bit-unsafe" if it contains octets equivalent to the US-
ASCII characters CR or LF (other than in the combination CRLF) or ASCII characters CR or LF (other than in the combination CRLF) or
NUL. This is often the case with application types (though in many NUL. This is often the case with application types (though in many
cases application types are intended to be human readable, in which cases application types are intended to be human readable, in which
case they will usually be 8bit-safe). It also arises with certain case they will usually be 8bit-safe). It also arises with certain
News Article Format June 2003
charsets (as indicated in the Content-Type-header), particularly in charsets (as indicated in the Content-Type-header), particularly in
the case of 16-bit charsets such as UTF-16 ([UNICODE 3.2] or [ISO/IEC the case of 16-bit charsets such as UTF-16 ([UNICODE 3.2] or [ISO/IEC
10646]). 10646]).
Examples of protocols REQUIRING particular Content-Transfer-Encodings Examples of protocols REQUIRING particular Content-Transfer-Encodings
include the Content-Type "application/pgp-signature" [RFC 3156], and include the Content-Type "application/pgp-signature" [RFC 3156], and
the Content-Type "message/partial" which itself MUST use "Content- the Content-Type "message/partial" which itself MUST use "Content-
Transfer-Encoding: 7bit" (though the encapsulated complete message Transfer-Encoding: 7bit" (though the encapsulated complete message
may itself use encoding "quoted-printable" or "base64", but that may itself use encoding "quoted-printable" or "base64", but that
information is only conveyed along with the first of the partial information is only conveyed along with the first of the partial
parts). parts).
Encoding "binary" MUST NOT be used (except in cooperating subnets Encoding "binary" MUST NOT be used (except in cooperating subnets
with alternative transport arrangements) because this standard does with alternative transport arrangements) because this standard does
not mandate a transport mechanism that could support it. not mandate a transport mechanism that could support it.
Injecting and relaying agents MUST NOT change the encoding of Injecting and relaying agents MUST NOT change the encoding of
articles passed to them. Gateways SHOULD NOT change the encoding articles passed to them. Gateways SHOULD NOT change the encoding
unless absolutely necessary. unless absolutely necessary.
6.21.4. Character Sets 6.21.4. Definition of some new Content-Types
[This section to be removed]
6.21.5. Content Disposition
[This section to be removed]
6.21.6. Definition of some new Content-Types
This standard defines (or redefines) several new Content-Types, which This standard defines (or redefines) several new Content-Types, which
require to be registered with IANA as provided for in [RFC 2048]. require to be registered with IANA as provided for in [RFC 2048].
For "application/news-groupinfo" see 7.2.1.2, for "application/news- For "application/news-groupinfo" see 7.2.1.2, for "application/news-
checkgroups" see 7.2.4.1, and for "application/news-transmission" see checkgroups" see 7.2.4.1, and for "application/news-transmission" see
the following section. the following section.
6.21.6.1. Application/news-transmission 6.21.4.1. Application/news-transmission
The Content-Type "application/news-transmission" is intended for the The Content-Type "application/news-transmission" is intended for the
encapsulation of complete news articles where the intention is that encapsulation of complete news articles where the intention is that
the recipient should then inject them into Netnews. This Application the recipient should then inject them into Netnews. This Application
type provides one of the methods for mailing articles to moderators type provides one of the methods for mailing articles to moderators
(see 8.2.2) and it is also the preferred method when sending to an (see 8.2.2) and it is also the preferred method when sending to an
email-to-news gateway (see 8.8.2). email-to-news gateway (see 8.8.2).
News Article Format and Transmission November 2003
NOTE: The benefit of such encapsulation is that it removes NOTE: The benefit of such encapsulation is that it removes
possible conflict between news and email headers and it provides possible conflict between news and email headers and it provides
a convenient way of "tunnelling" a news article through a a convenient way of "tunnelling" a news article through a
transport medium that does not support 8bit characters. transport medium that does not support 8bit characters.
The MIME content type definition of "application/news-transmission" The MIME content type definition of "application/news-transmission"
is: is:
MIME type name: application MIME type name: application
News Article Format June 2003
MIME subtype name: news-transmission MIME subtype name: news-transmission
Required parameters: none Required parameters: none
Optional parameters: usage=moderate Optional parameters: usage=moderate
usage=inject usage=inject
usage=relay usage=relay
Encoding considerations: A transfer-encoding (such as Quoted- Encoding considerations: A transfer-encoding (such as Quoted-
Printable or Base64) different from that of Printable or Base64) different from that of
the article transmitted MAY be supplied the article transmitted MAY be supplied
(perhaps en route) to ensure correct (perhaps en route) to ensure correct
transmission over some 7bit transport transmission over some 7bit transport
skipping to change at page 52, line 52 skipping to change at page 52, line 5
batch = 1*( batch-header article ) batch = 1*( batch-header article )
batch-header = "#!" SP rnews SP article-size CRLF batch-header = "#!" SP rnews SP article-size CRLF
rnews = %x72.6E.65.77.73 ; case sensitive "rnews" rnews = %x72.6E.65.77.73 ; case sensitive "rnews"
article-size = 1*DIGIT article-size = 1*DIGIT
Thus a batch is a sequence of articles, each prefixed by a header Thus a batch is a sequence of articles, each prefixed by a header
line that includes its size. The article-size is a decimal count of line that includes its size. The article-size is a decimal count of
the octets in the article, counting each CRLF as one octet regardless the octets in the article, counting each CRLF as one octet regardless
of how it is actually represented. of how it is actually represented.
News Article Format and Transmission November 2003
NOTE: Despite the similarity of this format to an executable NOTE: Despite the similarity of this format to an executable
UNIX script, it is EXTREMELY unwise to feed such a batch into a UNIX script, it is EXTREMELY unwise to feed such a batch into a
command interpreter in anticipation of it running a command command interpreter in anticipation of it running a command
named "rnews"; the security implications of so doing would be named "rnews"; the security implications of so doing would be
disastrous. disastrous.
News Article Format June 2003 6.21.4.2. Message/news obsoleted
6.21.6.2. Message/news obsoleted
The Content-Type "message/news", as previously registered with IANA, The Content-Type "message/news", as previously registered with IANA,
is hereby declared obsolete. It was never widely implemented, and its is hereby declared obsolete. It was never widely implemented, and its
default treatment as "application/octet-stream" by agents that did default treatment as "application/octet-stream" by agents that did
not recognize it was counter productive. The Content-Type not recognize it was counter productive. The Content-Type
"message/rfc822" SHOULD be used in its place, as already described "message/rfc822" SHOULD be used in its place, as already described
above. above.
6.22. Obsolete Headers 6.22. Obsolete Headers
skipping to change at page 53, line 56 skipping to change at page 53, line 5
particular control message, or to refer it to an administrator for particular control message, or to refer it to an administrator for
approval (either as a class or on a case-by-case basis). approval (either as a class or on a case-by-case basis).
Relaying Agents MUST propagate even control messages that they do not Relaying Agents MUST propagate even control messages that they do not
recognize. recognize.
In the following sections, each type of control message is defined In the following sections, each type of control message is defined
syntactically by defining its verb, its arguments, and possibly its syntactically by defining its verb, its arguments, and possibly its
body. body.
News Article Format and Transmission November 2003
7.1. Digital Signature of Headers 7.1. Digital Signature of Headers
It is most desirable that group control messages (7.2) in particular It is most desirable that group control messages (7.2) in particular
be authenticated by incorporating them within some digital signature be authenticated by incorporating them within some digital signature
scheme that encompasses other headers closely associated with them scheme that encompasses other headers closely associated with them
News Article Format June 2003
(including at least the Approved-, Message-ID- and Date-headers). At (including at least the Approved-, Message-ID- and Date-headers). At
the time of writing, this is usually done by means of a protocol the time of writing, this is usually done by means of a protocol
known as "PGPverify" ([PGPVERIFY]), and continued usage of this is known as "PGPverify" ([PGPVERIFY]), and continued usage of this is
encouraged at least as an interim measure. encouraged at least as an interim measure.
However, PGPverify is not considered suitable for standardization in However, PGPverify is not considered suitable for standardization in
its present form, for various technical reasons. It is therefore its present form, for various technical reasons. It is therefore
expected that an early extension to this standard will provide a expected that an early extension to this standard will provide a
robust and general purpose digital authentication mechanism with robust and general purpose digital authentication mechanism with
applicability to all situations requiring protection against applicability to all situations requiring protection against
skipping to change at page 54, line 55 skipping to change at page 54, line 4
and vice versa. "Moderated" is the only such flag defined by this and vice versa. "Moderated" is the only such flag defined by this
standard; other flags MAY be defined for use in cooperating subnets, standard; other flags MAY be defined for use in cooperating subnets,
but newgroup messages containing them MUST NOT be acted on outside of but newgroup messages containing them MUST NOT be acted on outside of
those subnets. those subnets.
NOTE: Specifically, some alternative flags such as "y" and "m", NOTE: Specifically, some alternative flags such as "y" and "m",
which are sent and recognized by some current software, are NOT which are sent and recognized by some current software, are NOT
part of this standard. Moreover, some existing implementations part of this standard. Moreover, some existing implementations
treat any flag other than "moderated" as indicating an treat any flag other than "moderated" as indicating an
unmoderated newsgroup. Both of these usages are contrary to this unmoderated newsgroup. Both of these usages are contrary to this
News Article Format and Transmission November 2003
standard and control messages with such non-standard flags standard and control messages with such non-standard flags
should be ignored. should be ignored.
News Article Format June 2003
The message body comprises or includes an "application/news- The message body comprises or includes an "application/news-
groupinfo" (7.2.1.2) part containing machine- and human-readable groupinfo" (7.2.1.2) part containing machine- and human-readable
information about the group. information about the group.
The newgroup command is also used to update the newsgroups-line or The newgroup command is also used to update the newsgroups-line or
the moderation status of a group. the moderation status of a group.
7.2.1.1. The Body of the 'newgroup' Control Message 7.2.1.1. The Body of the 'newgroup' Control Message
The body of the newgroup message contains the following subparts, The body of the newgroup message contains the following subparts,
skipping to change at page 55, line 57 skipping to change at page 55, line 4
MIME type name: application MIME type name: application
MIME subtype name: news-groupinfo MIME subtype name: news-groupinfo
Required parameters: none Required parameters: none
Disposition: by default, inline Disposition: by default, inline
Encoding considerations: "7bit" or "8bit" is sufficient and MUST be Encoding considerations: "7bit" or "8bit" is sufficient and MUST be
used to maintain compatibility. used to maintain compatibility.
Security considerations: this type MUST NOT be used except as part Security considerations: this type MUST NOT be used except as part
of a control message for the creation or of a control message for the creation or
modification of a Netnews newsgroup modification of a Netnews newsgroup
Published specification: [USEFOR] Published specification: [USEFOR]
News Article Format and Transmission November 2003
The content of the "application/news-groupinfo" body part is defined The content of the "application/news-groupinfo" body part is defined
as: as:
News Article Format June 2003
groupinfo-body = [ newsgroups-tag CRLF ] groupinfo-body = [ newsgroups-tag CRLF ]
newsgroups-line CRLF newsgroups-line CRLF
newsgroups-tag = %x46.6F.72 SP %x79.6F.75.72 SP newsgroups-tag = %x46.6F.72 SP %x79.6F.75.72 SP
%x6E.65.77.73.67.72.6F.75.70.73 SP %x6E.65.77.73.67.72.6F.75.70.73 SP
%x66.69.6C.65.3A %x66.69.6C.65.3A
; case sensitive ; case sensitive
; "For your newsgroups file:" ; "For your newsgroups file:"
newsgroups-line = newsgroup-name newsgroups-line = newsgroup-name
[ 1*HTAB newsgroup-description ] [ 1*HTAB newsgroup-description ]
[ 1*WSP moderation-flag ] [ 1*WSP moderation-flag ]
skipping to change at page 57, line 5 skipping to change at page 56, line 5
Some subparts of a "newgroup" or "mvgroup" control message MAY Some subparts of a "newgroup" or "mvgroup" control message MAY
contain an initial set of articles to be posted to the affected contain an initial set of articles to be posted to the affected
newsgroup(s) as soon as it has been created or modified. These parts newsgroup(s) as soon as it has been created or modified. These parts
are identified by having the Content-Type "application/news- are identified by having the Content-Type "application/news-
transmission", possibly with the parameter "usage=inject". The body transmission", possibly with the parameter "usage=inject". The body
of each such part should be a complete proto-article, ready for of each such part should be a complete proto-article, ready for
posting. This feature is intended for the posting of charters, posting. This feature is intended for the posting of charters,
initial FAQs and the like to the newly formed group(s). initial FAQs and the like to the newly formed group(s).
News Article Format June 2003 News Article Format and Transmission November 2003
The Newsgroups-header of the proto-article MUST include the The Newsgroups-header of the proto-article MUST include the
newsgroup-name of the newly created or modified group. It MAY include newsgroup-name of the newly created or modified group. It MAY include
other newsgroup-names. If the proto-article includes a Message-ID- other newsgroup-names. If the proto-article includes a Message-ID-
header, the message identifier in it MUST be different from that of header, the message identifier in it MUST be different from that of
any existing article and from that of the control message as a whole. any existing article and from that of the control message as a whole.
Alternatively such a message identifier MAY be derived by the Alternatively such a message identifier MAY be derived by the
injecting agent when the proto-article is posted. The proto-article injecting agent when the proto-article is posted. The proto-article
SHOULD include the header "Distribution: local". SHOULD include the header "Distribution: local".
skipping to change at page 58, line 4 skipping to change at page 57, line 4
For your newsgroups file: For your newsgroups file:
example.admin.info About the example.* groups (Moderated) example.admin.info About the example.* groups (Moderated)
--nxtprt --nxtprt
Content-Type: application/news-transmission Content-Type: application/news-transmission
Newsgroups: example.admin.info Newsgroups: example.admin.info
From: "example.all Administrator" <admin@noc.example> From: "example.all Administrator" <admin@noc.example>
Subject: Charter for example.admin.info Subject: Charter for example.admin.info
Message-ID: <charter-example.admin.info-20020227@noc.example> Message-ID: <charter-example.admin.info-20020227@noc.example>
News Article Format June 2003 News Article Format and Transmission November 2003
Distribution: local Distribution: local
Content-Type: text/plain; charset=us-ascii Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit
The group example.admin.info contains regularly posted The group example.admin.info contains regularly posted
information on the example.* hierarchy. information on the example.* hierarchy.
--nxtprt-- --nxtprt--
skipping to change at page 58, line 31 skipping to change at page 57, line 31
The "rmgroup" control message requests that the specified group be The "rmgroup" control message requests that the specified group be
removed from the list of valid groups. The Content-Type of the body removed from the list of valid groups. The Content-Type of the body
is unspecified; it MAY contain anything, usually an explanatory text. is unspecified; it MAY contain anything, usually an explanatory text.
NOTE: It is entirely proper for a serving agent to retain the NOTE: It is entirely proper for a serving agent to retain the
group until all the articles in it have expired, provided that group until all the articles in it have expired, provided that
it ceases to accept new articles. it ceases to accept new articles.
7.2.2.1. Example 7.2.2.1. Example
Plain "rmgroup":
From: "example.all Administrator" <admin@noc.example> From: "example.all Administrator" <admin@noc.example>
Newsgroups: example.admin.obsolete, example.admin.announce Newsgroups: example.admin.obsolete, example.admin.announce
Date: 4 Apr 2002 22:04 -0900 (PST) Date: 4 Apr 2002 22:04 -0900 (PST)
Subject: cmsg rmgroup example.admin.obsolete Subject: cmsg rmgroup example.admin.obsolete
Message-ID: <rm-example.admin.obsolete-20020404@noc.example> Message-ID: <rm-example.admin.obsolete-20020404@noc.example>
Approved: admin@noc.example Approved: admin@noc.example
Control: rmgroup example.admin.obsolete Control: rmgroup example.admin.obsolete
The group example.admin.obsolete is obsolete. Please remove it The group example.admin.obsolete is obsolete. Please remove it
from your system. from your system.
skipping to change at page 59, line 4 skipping to change at page 57, line 58
The "mvgroup" control message requests that the group specified by The "mvgroup" control message requests that the group specified by
the first (old-)newsgroup-name be moved to that specified by the the first (old-)newsgroup-name be moved to that specified by the
second (new-)newsgroup-name. Thus it is broadly equivalent to a second (new-)newsgroup-name. Thus it is broadly equivalent to a
"newgroup" control message for the second group followed by a "newgroup" control message for the second group followed by a
"rmgroup" control message for the first group. "rmgroup" control message for the first group.
The message body contains an "application/news-groupinfo" part The message body contains an "application/news-groupinfo" part
(7.2.1.2) containing machine- and human-readable information about (7.2.1.2) containing machine- and human-readable information about
the new group, and possibly other subparts as for a "newgroup" the new group, and possibly other subparts as for a "newgroup"
News Article Format June 2003
control message. The information conveyed in the "application/news- control message. The information conveyed in the "application/news-
groupinfo" body part, notably its newsgroups-line (7.2.1.2), is groupinfo" body part, notably its newsgroups-line (7.2.1.2), is
News Article Format and Transmission November 2003
applied to the new group. applied to the new group.
When this message is received, the new group is created (if it does When this message is received, the new group is created (if it does
not exist already) as for a "newgroup" control message, and MUST in not exist already) as for a "newgroup" control message, and MUST in
any case be made moderated if a newgroup-flag "moderated" is present, any case be made moderated if a newgroup-flag "moderated" is present,
and vice versa. At the same time, arrangements SHOULD be made to and vice versa. At the same time, arrangements SHOULD be made to
remove the old group (as with a "rmgroup" control message), but only remove the old group (as with a "rmgroup" control message), but only
after a suitable overlap period to allow the network to adjust to the after a suitable overlap period to allow the network to adjust to the
new arrangement. new arrangement.
skipping to change at page 60, line 4 skipping to change at page 58, line 58
reading agents, MUST NOT be altered in any way (and, in particular, reading agents, MUST NOT be altered in any way (and, in particular,
their Newsgroups-headers MUST contain exactly those newsgroups their Newsgroups-headers MUST contain exactly those newsgroups
present when they were injected). On the other hand, the Xref-header present when they were injected). On the other hand, the Xref-header
MAY contain entries for either group (or even both). MAY contain entries for either group (or even both).
NOTE: Some serving agents that use an "active" file permit an NOTE: Some serving agents that use an "active" file permit an
entry of the form "oldgroup xxx yyy =newgroup", which enables entry of the form "oldgroup xxx yyy =newgroup", which enables
any articles arriving for oldgroup to be diverted to newgroup, any articles arriving for oldgroup to be diverted to newgroup,
thus providing a simple implementation of this feature. However, thus providing a simple implementation of this feature. However,
it is known that not all current serving agents will find it is known that not all current serving agents will find
News Article Format June 2003
implementation so easy (especially in the short term) which is implementation so easy (especially in the short term) which is
why it is not mandated by this standard. Nevertheless, its why it is not mandated by this standard. Nevertheless, its
News Article Format and Transmission November 2003
eventual implementation in all serving agents is to be eventual implementation in all serving agents is to be
considered highly desirable. considered highly desirable.
On the other hand, it is recognized that this feature would On the other hand, it is recognized that this feature would
likely not be implementable if the new group was already in likely not be implementable if the new group was already in
existence with existing articles in it. This situation should existence with existing articles in it. This situation should
not normally arise except when there is already some confusion not normally arise except when there is already some confusion
as to which groups are, or are not, supposed to exist in that as to which groups are, or are not, supposed to exist in that
hierarchy. Note that the "mvgroup" control message is not really hierarchy. Note that the "mvgroup" control message is not really
intended to be used for merging two existing groups. intended to be used for merging two existing groups.
skipping to change at page 61, line 4 skipping to change at page 59, line 58
control-message =/ Checkgroup-message control-message =/ Checkgroup-message
Checkgroup-message = "checkgroups" Checkgroup-arguments Checkgroup-message = "checkgroups" Checkgroup-arguments
Checkgroup-arguments= [ chkscope ] [ chksernr ] Checkgroup-arguments= [ chkscope ] [ chksernr ]
chkscope = 1*( CFWS ["!"] newsgroup-name ) chkscope = 1*( CFWS ["!"] newsgroup-name )
chksernr = CFWS "#" 1*DIGIT chksernr = CFWS "#" 1*DIGIT
A "checkgroups" message applies to any (sub-)hierarchy with a prefix A "checkgroups" message applies to any (sub-)hierarchy with a prefix
listed in the chkscope parameter, provided that the rightmost listed in the chkscope parameter, provided that the rightmost
matching newsgroup-name in the list is not immediately preceded by a matching newsgroup-name in the list is not immediately preceded by a
News Article Format June 2003
"!". If no chkscope parameter is given, it applies to all "!". If no chkscope parameter is given, it applies to all
hierarchies for which group statements appear in the message. hierarchies for which group statements appear in the message.
News Article Format and Transmission November 2003
NOTE: Some existing software does not support the "chkscope" NOTE: Some existing software does not support the "chkscope"
parameter. Thus a "checkgroups" message SHOULD also contain the parameter. Thus a "checkgroups" message SHOULD also contain the
groups of other subhierarchies the sender is not responsible groups of other subhierarchies the sender is not responsible
for. "New" software MUST ignore groups which do not fall within for. "New" software MUST ignore groups which do not fall within
the chkscope parameter of the "checkgroups" message. the chkscope parameter of the "checkgroups" message.
The chksernr parameter is a serial number, which can be any positive The chksernr parameter is a serial number, which can be any positive
integer (e.g. just numbered or the date in YYYYMMDD). It SHOULD integer (e.g. just numbered or the date in YYYYMMDD). It SHOULD
increase by an arbitrary value with every change to the group list increase by an arbitrary value with every change to the group list
and MUST NOT ever decrease. and MUST NOT ever decrease.
skipping to change at page 62, line 4 skipping to change at page 60, line 57
is: is:
MIME type name: application MIME type name: application
MIME subtype name: news-checkgroups MIME subtype name: news-checkgroups
Required parameters: none Required parameters: none
Disposition: by default, inline Disposition: by default, inline
Encoding considerations: "7bit" or "8bit" is sufficient and MUST be Encoding considerations: "7bit" or "8bit" is sufficient and MUST be
used to maintain compatibility. used to maintain compatibility.
Security considerations: this type MUST NOT be used except as part Security considerations: this type MUST NOT be used except as part
of a checkgroups control message of a checkgroups control message
News Article Format June 2003
The content of the "application/news-checkgroups" body part is The content of the "application/news-checkgroups" body part is
defined as: defined as:
News Article Format and Transmission November 2003
checkgroups-body = *( valid-group CRLF ) checkgroups-body = *( valid-group CRLF )
valid-group = newsgroups-line ; see 7.2.1.2 valid-group = newsgroups-line ; see 7.2.1.2
The "application/news-checkgroups" content type is used in The "application/news-checkgroups" content type is used in
conjunction with the "checkgroups" control message (7.2.4). conjunction with the "checkgroups" control message (7.2.4).
NOTE: The possibility of removing a complete hierarchy by means NOTE: The possibility of removing a complete hierarchy by means
of an "invalidation" line beginning with a '!' is no longer of an "invalidation" line beginning with a '!' is no longer
provided by this standard. The intent of the feature was widely provided by this standard. The intent of the feature was widely
misunderstood and it was misused more often than it was used misunderstood and it was misused more often than it was used
skipping to change at page 63, line 4 skipping to change at page 61, line 57
digital signature of 3rd party cancels (i.e. those issued other digital signature of 3rd party cancels (i.e. those issued other
than by the sender, the moderator, or the injector). than by the sender, the moderator, or the injector).
NOTE: A cancel submitted by the poster for an article in a NOTE: A cancel submitted by the poster for an article in a
moderated group will be forwarded to the moderator of that moderated group will be forwarded to the moderator of that
group, and it is up to that moderator to act upon it (8.7). group, and it is up to that moderator to act upon it (8.7).
NOTE: The former requirement [RFC 1036] that the From and/or NOTE: The former requirement [RFC 1036] that the From and/or
Sender-headers of the cancel message should match those of the Sender-headers of the cancel message should match those of the
original article has been removed from this standard, since it original article has been removed from this standard, since it
News Article Format June 2003
only encouraged cancel issuers to conceal their true identity, only encouraged cancel issuers to conceal their true identity,
and it was not usually checked or enforced by canceling and it was not usually checked or enforced by canceling
software. Therefore, both the From and/or Sender-headers and software. Therefore, both the From and/or Sender-headers and
News Article Format and Transmission November 2003
any Approved-header should now relate to the entity responsible any Approved-header should now relate to the entity responsible
for issuing the cancel message. for issuing the cancel message.
7.4. Ihave, sendme 7.4. Ihave, sendme
The "ihave" and "sendme" control messages implement a crude batched The "ihave" and "sendme" control messages implement a crude batched
predecessor of the NNTP [NNTP] protocol. They are largely obsolete on predecessor of the NNTP [NNTP] protocol. They are largely obsolete on
the Internet, but still see use in conjunction with some transport the Internet, but still see use in conjunction with some transport
protocols such as UUCP, especially for backup feeds that normally are protocols such as UUCP, especially for backup feeds that normally are
active only when a primary feed path has failed. There is no active only when a primary feed path has failed. There is no
skipping to change at page 64, line 4 skipping to change at page 62, line 57
These control messages are normally sent essentially as point-to- These control messages are normally sent essentially as point-to-
point messages, by using newsgroup-names in the Newsgroups-header of point messages, by using newsgroup-names in the Newsgroups-header of
the form "to." followed by one (or possibly more) components in the the form "to." followed by one (or possibly more) components in the
form of a relayer-name (see section 5.5.1 which forbids "to" as the form of a relayer-name (see section 5.5.1 which forbids "to" as the
first component of a newsgroup-name). The control message SHOULD then first component of a newsgroup-name). The control message SHOULD then
be delivered ONLY to the relaying agent(s) identified by that be delivered ONLY to the relaying agent(s) identified by that
relayer-name, and any relaying agent receiving such a message which relayer-name, and any relaying agent receiving such a message which
includes its own relayer-name MUST NOT propagate it further. Each includes its own relayer-name MUST NOT propagate it further. Each
pair of relaying agent(s) sending and receiving these messages MUST pair of relaying agent(s) sending and receiving these messages MUST
be immediate neighbors, exchanging news directly with each other. be immediate neighbors, exchanging news directly with each other.
News Article Format June 2003
Each relaying agent advertises its new arrivals to the other using Each relaying agent advertises its new arrivals to the other using
ihave messages, and each uses sendme messages to request the articles ihave messages, and each uses sendme messages to request the articles
it lacks. it lacks.
News Article Format and Transmission November 2003
To reduce overhead, ihave and sendme messages SHOULD be sent To reduce overhead, ihave and sendme messages SHOULD be sent
relatively infrequently and SHOULD contain reasonable numbers of relatively infrequently and SHOULD contain reasonable numbers of
message IDs. If ihave and sendme are being used to implement a backup message identifiers. If ihave and sendme are being used to implement
feed, it may be desirable to insert a delay between reception of an a backup feed, it may be desirable to insert a delay between
ihave and generation of a sendme, so that a slightly slow primary reception of an ihave and generation of a sendme, so that a slightly
feed will not cause large numbers of articles to be requested slow primary feed will not cause large numbers of articles to be
unnecessarily via sendme. requested unnecessarily via sendme.
7.5. Obsolete control messages. 7.5. Obsolete control messages.
The following control messages are declared obsolete by this The following control messages are declared obsolete by this
standard: standard:
sendsys sendsys
version version
whogets whogets
senduuname senduuname
skipping to change at page 65, line 5 skipping to change at page 63, line 57
administrators) need to keep in mind. The first is the well-known administrators) need to keep in mind. The first is the well-known
Internet Robustness Principle: Internet Robustness Principle:
Be liberal in what you accept, and conservative in what you Be liberal in what you accept, and conservative in what you
send. send.
However, in the case of news there is an even more important However, in the case of news there is an even more important
principle, derived from a much older code of practice, the principle, derived from a much older code of practice, the
Hippocratic Oath (we may thus call this the Hippocratic Principle): Hippocratic Oath (we may thus call this the Hippocratic Principle):
News Article Format June 2003
First, do no harm. First, do no harm.
News Article Format and Transmission November 2003
It is VITAL to realize that decisions which might be merely It is VITAL to realize that decisions which might be merely
suboptimal in a smaller context can become devastating mistakes when suboptimal in a smaller context can become devastating mistakes when
amplified by the actions of thousands of hosts within a few minutes. amplified by the actions of thousands of hosts within a few minutes.
In the case of gateways, the primary corollary to this is: In the case of gateways, the primary corollary to this is:
Cause no loops. Cause no loops.
8.2. Duties of an Injecting Agent 8.2. Duties of an Injecting Agent
skipping to change at page 66, line 5 skipping to change at page 65, line 5
serving or relaying agents. serving or relaying agents.
If an injecting agent receives an otherwise valid article that has If an injecting agent receives an otherwise valid article that has
already been injected it SHOULD either act as if it is a relaying already been injected it SHOULD either act as if it is a relaying
agent or else pass the article on to a relaying agent completely agent or else pass the article on to a relaying agent completely
unaltered. Exceptionally, it MAY reinject the article, perhaps as a unaltered. Exceptionally, it MAY reinject the article, perhaps as a
part of some complex gatewaying process (in which case it will add a part of some complex gatewaying process (in which case it will add a
second '%' path-delimiter to the Path-header). It MUST NOT forward second '%' path-delimiter to the Path-header). It MUST NOT forward
an already injected article to a moderator. an already injected article to a moderator.
News Article Format June 2003 News Article Format and Transmission November 2003
An injecting agent processes articles as follows: An injecting agent processes articles as follows:
1. It MUST remove any Injector-Info- or Complaints-To-header already 1. It MUST remove any Injector-Info- or Complaints-To-header already
present (though it might be useful to copy them to suitable X- present (though it might be useful to copy them to suitable X-
headers). It SHOULD likewise remove any NNTP-Posting-Host or other headers). It SHOULD likewise remove any NNTP-Posting-Host or other
undocumented tracing header. undocumented tracing header.
2. It SHOULD verify that the article is from a trusted source. 2. It SHOULD verify that the article is from a trusted source.
However, it MAY allow articles in which headers contain "forged" However, it MAY allow articles in which headers contain "forged"
skipping to change at page 67, line 5 skipping to change at page 66, line 5
10.The injecting agent MUST NOT alter the body of the article in any 10.The injecting agent MUST NOT alter the body of the article in any
way. It MAY add other headers not already provided by the poster, way. It MAY add other headers not already provided by the poster,
but SHOULD NOT alter, delete, or reorder any existing header, with but SHOULD NOT alter, delete, or reorder any existing header, with
the specific exception of "tracing" headers such as Injector-Info the specific exception of "tracing" headers such as Injector-Info
and Complaints-To, which are to be removed as already mentioned. and Complaints-To, which are to be removed as already mentioned.
11.If the Newsgroups-header contains no moderated groups, or if it 11.If the Newsgroups-header contains no moderated groups, or if it
contains an Approved-header, the injecting agent forwards the contains an Approved-header, the injecting agent forwards the
article to one or more relaying or serving agents. article to one or more relaying or serving agents.
News Article Format June 2003 News Article Format and Transmission November 2003
12.Otherwise, when the Newsgroups-header contains one or more 12.Otherwise, when the Newsgroups-header contains one or more
moderated groups and the article does NOT contain an Approved- moderated groups and the article does NOT contain an Approved-
header, the injecting agent MUST forward it to the moderator of header, the injecting agent MUST forward it to the moderator of
the first (leftmost) moderated group listed in the Newsgroups- the first (leftmost) moderated group listed in the Newsgroups-
header via email. There are two possibilities for doing this: header via email. There are two possibilities for doing this:
(a) The complete article is encapsulated (headers and all) within (a) The complete article is encapsulated (headers and all) within
the email, preferably using the Content-Type the email, preferably using the Content-Type
"application/news-transmission" (6.21.6.1) with any usage "application/news-transmission" (6.21.4.1) with any usage
parameter set to "moderate". Moreover, there SHOULD NOT be parameter set to "moderate". Moreover, there SHOULD NOT be
more than one encapsulated article within the one email. more than one encapsulated article within the one email.
This method has the advantage of removing any possible This method has the advantage of removing any possible
conflict between Netnews and Email headers, or of changes to conflict between Netnews and Email headers, or of changes to
those headers during transport through email. those headers during transport through email.
(b) The article is sent as an email as it stands, with the (b) The article is sent as an email as it stands, with the
addition of such extra headers (e.g. a To-header) as are addition of such extra headers (e.g. a To-header) as are
necessary for an email. necessary for an email.
skipping to change at page 68, line 5 skipping to change at page 67, line 5
according to mutually agreed policy. Relaying agents SHOULD accept according to mutually agreed policy. Relaying agents SHOULD accept
articles ONLY from trusted agents. articles ONLY from trusted agents.
A relaying agent processes articles as follows: A relaying agent processes articles as follows:
1. It MUST verify the leftmost entry in the Path-header and then 1. It MUST verify the leftmost entry in the Path-header and then
prepend its own path-identity with a '/' path-delimiter, and prepend its own path-identity with a '/' path-delimiter, and
possibly also the verified path-identity of its source with a '?' possibly also the verified path-identity of its source with a '?'
path-delimiter (5.6.2). path-delimiter (5.6.2).
News Article Format June 2003 News Article Format and Transmission November 2003
2. It MUST reject any article whose Date-header is stale (see 5.1). 2. It MUST reject any article whose Date-header is stale (see 5.1).
3. It MUST reject any article that does not have the correct 3. It MUST reject any article that does not have the correct
mandatory headers (section 5) present with legal contents. mandatory headers (section 5) present with legal contents.
4. It SHOULD reject any article whose optional headers (section 6) do 4. It SHOULD reject any article whose optional headers (section 6) do
not have legal contents. not have legal contents.
5. It SHOULD reject any article that has already been sent to it (a 5. It SHOULD reject any article that has already been sent to it (a
skipping to change at page 68, line 59 skipping to change at page 67, line 59
Relaying agents MUST NOT alter, delete or rearrange any part of an Relaying agents MUST NOT alter, delete or rearrange any part of an
article expect for headers designated as variant (4.2.5.3). article expect for headers designated as variant (4.2.5.3).
8.4. Duties of a Serving Agent 8.4. Duties of a Serving Agent
A Serving Agent takes an article from a relaying or injecting agent A Serving Agent takes an article from a relaying or injecting agent
and files it in a "news database". It also provides an interface for and files it in a "news database". It also provides an interface for
reading agents to access the news database. This database is normally reading agents to access the news database. This database is normally
indexed by newsgroup with articles in each newsgroup identified by an indexed by newsgroup with articles in each newsgroup identified by an
article-locater (usually in the form of a decimal number - see 6.16). article-locator (usually in the form of a decimal number - see 6.16).
News Article Format June 2003 News Article Format and Transmission November 2003
NOTE: Since control messages are often of interest, but should NOTE: Since control messages are often of interest, but should
not be displayed as normal articles in regular newsgroups, it is not be displayed as normal articles in regular newsgroups, it is
common for serving agents to make them available in a pseudo- common for serving agents to make them available in a pseudo-
newsgroup named "control" or in a pseudo-newsgroup in a sub- newsgroup named "control" or in a pseudo-newsgroup in a sub-
hierarchy under "control." (e.g. "control.cancel"). hierarchy under "control." (e.g. "control.cancel").
A serving agent processes articles as follows: A serving agent processes articles as follows:
1. It MUST verify the leftmost entry in the Path-header and then 1. It MUST verify the leftmost entry in the Path-header and then
skipping to change at page 70, line 5 skipping to change at page 69, line 5
proto-article and forwarding it to an injecting agent. proto-article and forwarding it to an injecting agent.
Postings agents SHOULD ensure that proto-articles they create are Postings agents SHOULD ensure that proto-articles they create are
valid news articles according to this standard and other applicable valid news articles according to this standard and other applicable
policies. policies.
Posting agents meant for use by ordinary posters SHOULD reject any Posting agents meant for use by ordinary posters SHOULD reject any
attempt to post an article which cancels or Supersedes another attempt to post an article which cancels or Supersedes another
article of which the poster is not the author. article of which the poster is not the author.
News Article Format June 2003 News Article Format and Transmission November 2003
8.6. Duties of a Followup Agent 8.6. Duties of a Followup Agent
A Followup Agent is a special case of a posting agent and as such is A Followup Agent is a special case of a posting agent and as such is
bound by all the posting agent's requirements. Followup agents MUST bound by all the posting agent's requirements. Followup agents MUST
create valid followups and are subject to the following special create valid followups and are subject to the following special
requirements involving certain inheritable (4.2.5.2) and other requirements involving certain inheritable (4.2.5.2) and other
headers. headers.
1. The Newsgroups-header (5.5) SHOULD be initialized from the 1. The Newsgroups-header (5.5) SHOULD be initialized from the
precursor's Followup-To-header, if present, when preparing a precursor's Followup-To-header, if present and otherwise from the
followup; however posters MAY then change this before posting if precursor's Newsgroups-header, when preparing a followup; however
they wish. posters MAY then change this before posting if they wish.
2. The Subject-content (5.4) of the precursor MAY (and usually will) 2. The Subject-content (5.4) of the precursor MAY (and usually will)
be prepended with the back-reference "Re: " (which is case be prepended with the back-reference "Re: " (which is case
sensitive), unless that precursor is itself a followup with "Re: " sensitive), unless that precursor is itself a followup with "Re: "
already present in its Subject-content; however posters MAY then already present in its Subject-content; however posters MAY then
change this before posting if they wish. change this before posting if they wish. The prepended "Re: "
SHOULD NOT be contained within any encoded-word in the new
Subject-content.
Followup agents MUST NOT use any other string except "Re: " as a Followup agents SHOULD NOT use any other string except "Re: " as a
back-reference, and specifically NOT a translation of "Re: " into back-reference, and specifically NOT a translation of "Re: " into
a local language, and they MUST NOT prepend a "Re: " if one is a local language, and they SHOULD NOT prepend a "Re: " if one is
already present. already present.
[The provision of back-references and their allowed forms are still [The provision of back-references and their allowed forms are still
under discussion in the Usefor Working Group. under discussion in the Usefor Working Group.]
The matter of a "Re: " occurring within an encoded-word needs to be
clarified.]
NOTE: "Re" is an abbreviation for the Latin "In re", meaning "in NOTE: "Re" is an abbreviation for the Latin "In re", meaning "in
the matter of", and not an abbreviation of "Reference" as is the matter of", and not an abbreviation of "Reference" as is
sometimes erroneously supposed. Reading agents often take note sometimes erroneously supposed. Reading agents often take note
of a single "Re: " at the beginning of a Subject-content (for of a single "Re: " at the beginning of a Subject-content (for
example, in order to display a list of articles sorted by example, in order to display a list of articles sorted by
Subject). These restrictions ensure that reading agents have no Subject). These restrictions ensure that reading agents have no
need to recognize more than a single occurrence of "Re: ". need to recognize more than a single occurrence of "Re: ".
3. The Distribution-header (6.6) SHOULD be initialized from the 3. The Distribution-header (6.6) SHOULD be initialized from the
skipping to change at page 71, line 5 skipping to change at page 70, line 5
identifier of the precursor. A followup to an article which had a identifier of the precursor. A followup to an article which had a
References-header MUST have a References-header containing the References-header MUST have a References-header containing the
precursor's References-content (subject to trimming as described precursor's References-content (subject to trimming as described
below) plus the precursor's message identifier appended to the end below) plus the precursor's message identifier appended to the end
of the list (separated from it by CFWS). of the list (separated from it by CFWS).
Followup agents MAY trim References-headers which have grown to Followup agents MAY trim References-headers which have grown to
excessive length, but the first and last message identifiers from excessive length, but the first and last message identifiers from
the precursor MUST NOT be removed. the precursor MUST NOT be removed.
News Article Format June 2003 News Article Format and Transmission November 2003
5. If the precursor contains a Mail-Copies-To-header (6.8), The 5. If the precursor contains a Mail-Copies-To-header (6.8), The
actions to be taken, in accordance with the Mail-Copies-To- actions to be taken, in accordance with the Mail-Copies-To-
content, (and subject to manual override by the poster) are as content, (and subject to manual override by the poster) are as
follows: follows:
"nobody" (or when the header is absent) "nobody" (or when the header is absent)
The followup agent SHOULD NOT email a copy of the followup The followup agent SHOULD NOT email a copy of the followup
to the poster of the precursor. to the poster of the precursor.
skipping to change at page 71, line 29 skipping to change at page 70, line 29
sent to the address(es) in the Reply-To-header, and in the sent to the address(es) in the Reply-To-header, and in the
absence of that to the address(es) in the From-header. absence of that to the address(es) in the From-header.
a copy-addr a copy-addr
The followup agent SHOULD likewise email a copy of the The followup agent SHOULD likewise email a copy of the
followup, which MUST then be sent to the copy-addr. followup, which MUST then be sent to the copy-addr.
When emailing a copy, the followup agent SHOULD also include a When emailing a copy, the followup agent SHOULD also include a
"Posted-And-Mailed: yes" header (6.9). "Posted-And-Mailed: yes" header (6.9).
Followup agents MUST NOT attempt to send email to any address Followup agents SHOULD NOT attempt to send email to any address
ending in ".invalid". ending in ".invalid".
8.7. Duties of a Moderator 8.7. Duties of a Moderator
A Moderator receives news articles by email, decides whether to A Moderator receives news articles by email, decides whether to
accept them and, if so, either injects them into the news stream or accept them and, if so, either injects them into the news stream or
forwards them to further moderators. forwards them to further moderators.
Articles will be received by the moderator either encapsulated as an Articles will be received by the moderator either encapsulated as an
object of Content-Type application/news-transmission (or possibly object of Content-Type application/news-transmission (or possibly
skipping to change at page 72, line 5 skipping to change at page 71, line 5
article is a cancel nessage (7.3) issued by the poster of an article is a cancel nessage (7.3) issued by the poster of an
earlier article, then he is expected to cancel that earlier earlier article, then he is expected to cancel that earlier
article (in which case there is no more to be done). He MAY article (in which case there is no more to be done). He MAY
modify the article if that is in accordance with the applicable modify the article if that is in accordance with the applicable
moderation policy (and in particular he MAY remove redundant moderation policy (and in particular he MAY remove redundant
headers and add Comments and other informational headers). He headers and add Comments and other informational headers). He
also needs to be aware if any change he makes to the article will also needs to be aware if any change he makes to the article will
invalidate some authentication check provided by the poster or by invalidate some authentication check provided by the poster or by
an earlier moderator. an earlier moderator.
News Article Format June 2003 News Article Format and Transmission November 2003
If the article is rejected, then it normally fails for all the If the article is rejected, then it normally fails for all the
newsgroups for which it was intended. If it is accepted, the newsgroups for which it was intended. If it is accepted, the
moderator proceeds with the following steps. moderator proceeds with the following steps.
2. If the Newsgroups-header contains further moderated newsgroups for 2. If the Newsgroups-header contains further moderated newsgroups for
which approval has not already been given, he adds an indication which approval has not already been given, he adds an indication
(identifying both himself and the name of the group) that he (identifying both himself and the name of the group) that he
approves the article, and then forwards it to the moderator of the approves the article, and then forwards it to the moderator of the
leftmost unapproved group (which, if this standard has been leftmost unapproved group (which, if this standard has been
skipping to change at page 73, line 5 skipping to change at page 72, line 5
NOTE: A message identifier created by a conforming posting or NOTE: A message identifier created by a conforming posting or
injecting agent, or even by a mail user agent conforming to [RFC injecting agent, or even by a mail user agent conforming to [RFC
2822], may reasonably be supposed to be conformant (and will, in 2822], may reasonably be supposed to be conformant (and will, in
any case, be caught by the injecting agent if it is not). any case, be caught by the injecting agent if it is not).
5. Any variant headers (4.2.5.3) MUST be removed, except that a 5. Any variant headers (4.2.5.3) MUST be removed, except that a
Path-header MAY be truncated to only its pre-injection region Path-header MAY be truncated to only its pre-injection region
(5.6.3). Any Injector-Info-header (6.19) or Complaints-To-header (5.6.3). Any Injector-Info-header (6.19) or Complaints-To-header
(6.20) MUST be removed. (6.20) MUST be removed.
News Article Format June 2003 News Article Format and Transmission November 2003
6. He then causes the article to be injected, having first observed 6. He then causes the article to be injected, having first observed
all the duties of a posting agent. all the duties of a posting agent.
NOTE: This standard does not prescribe how the moderator or NOTE: This standard does not prescribe how the moderator or
moderation policy for each newsgroup is established; rather it moderation policy for each newsgroup is established; rather it
assumes that whatever agencies are responsible for the relevant assumes that whatever agencies are responsible for the relevant
network or hierarchy (1.1) will have made appropriate network or hierarchy (1.1) will have made appropriate
arrangements in that regard. arrangements in that regard.
skipping to change at page 74, line 4 skipping to change at page 73, line 4
A second general principal of gatewaying is that the transformations A second general principal of gatewaying is that the transformations
applied to the message SHOULD be as minimal as possible while still applied to the message SHOULD be as minimal as possible while still
accomplishing the gatewaying. Every change made by a gateway accomplishing the gatewaying. Every change made by a gateway
potentially breaks a property of one of the media or loses potentially breaks a property of one of the media or loses
information, and therefore only those transformations made necessary information, and therefore only those transformations made necessary
by the differences between the media should be applied. by the differences between the media should be applied.
It is worth noting that safe bidirectional gatewaying between a It is worth noting that safe bidirectional gatewaying between a
mailing list and a newsgroup is far easier if the newsgroup is mailing list and a newsgroup is far easier if the newsgroup is
moderated. Posts to the moderated group and submissions to the moderated. Posts to the moderated group and submissions to the
News Article Format June 2003 News Article Format and Transmission November 2003
mailing list can then go through a single point that does the mailing list can then go through a single point that does the
necessary gatewaying and then sends the message out to both the necessary gatewaying and then sends the message out to both the
newsgroup and the mailing list at the same time, eliminating most of newsgroup and the mailing list at the same time, eliminating most of
the possibility of loops. Bidirectional gatewaying between a mailing the possibility of loops. Bidirectional gatewaying between a mailing
list and an unmoderated newsgroup, in contrast, is difficult to do list and an unmoderated newsgroup, in contrast, is difficult to do
correctly and is far more fragile. correctly and is far more fragile.
Newsgroups intended to be bidirectionally gated to a mailing list Newsgroups intended to be bidirectionally gated to a mailing list
SHOULD therefore be moderated where possible, even if the moderator SHOULD therefore be moderated where possible, even if the moderator
skipping to change at page 75, line 5 skipping to change at page 74, line 5
8.8.2. Duties of an Incoming Gateway 8.8.2. Duties of an Incoming Gateway
The incoming gateway has the serious responsibility of ensuring that The incoming gateway has the serious responsibility of ensuring that
all of the requirements of this standard are met by the articles that all of the requirements of this standard are met by the articles that
it forms. In addition to its special duties as a gateway, it bears it forms. In addition to its special duties as a gateway, it bears
all of the duties and responsibilities of an injecting agent as well, all of the duties and responsibilities of an injecting agent as well,
and additionally has the same responsibility of a relaying agent to and additionally has the same responsibility of a relaying agent to
reject articles that it has already gatewayed. reject articles that it has already gatewayed.
News Article Format June 2003 News Article Format and Transmission November 2003
An incoming gateway MUST NOT gate the same message twice. It may not An incoming gateway MUST NOT gate the same message twice. It may not
be possible to ensure this in the face of mangling or modification of be possible to ensure this in the face of mangling or modification of
the message, but at the very least a gateway, when given a copy of a the message, but at the very least a gateway, when given a copy of a
message it has already gated identical except for trace headers (like message it has already gated identical except for trace headers (like
Received in Email or Path in Netnews) MUST NOT gate the message Received in Email or Path in Netnews) MUST NOT gate the message
again. An incoming gateway SHOULD take precautions against having again. An incoming gateway SHOULD take precautions against having
this rule bypassed by modifications of the message that can be this rule bypassed by modifications of the message that can be
anticipated. anticipated.
skipping to change at page 76, line 4 skipping to change at page 75, line 4
the message identifier of the news article, perhaps with the message identifier of the news article, perhaps with
transformations required to meet the uniqueness requirement of transformations required to meet the uniqueness requirement of
Netnews and with the removal of any comments so as to comply with the Netnews and with the removal of any comments so as to comply with the
syntax in section 5.3. Such transformations SHOULD be designed so syntax in section 5.3. Such transformations SHOULD be designed so
that two messages with the same identifier generate the same that two messages with the same identifier generate the same
Message-ID-header. Message-ID-header.
NOTE: Message identifiers play a central role in the prevention NOTE: Message identifiers play a central role in the prevention
of duplicates, and their correct use by gateways will do much to of duplicates, and their correct use by gateways will do much to
prevent loops. Netnews does, however, require that message prevent loops. Netnews does, however, require that message
News Article Format June 2003 News Article Format and Transmission November 2003
identifiers be unique, and therefore message identifiers from identifiers be unique, and therefore message identifiers from
other media may not be suitable for use without modification. A other media may not be suitable for use without modification. A
balance must be struck by the gateway between preserving balance must be struck by the gateway between preserving
information used to prevent loops and generating unique message information used to prevent loops and generating unique message
identifiers. identifiers.
Exceptionally, if there are multiple incoming gateways for a Exceptionally, if there are multiple incoming gateways for a
particular set of messages, each to a different newsgroup(s), each particular set of messages, each to a different newsgroup(s), each
one SHOULD generate a message identifier unique to that gateway. Each one SHOULD generate a message identifier unique to that gateway. Each
skipping to change at page 77, line 5 skipping to change at page 76, line 5
University designed to handle bidirectional gatewaying between University designed to handle bidirectional gatewaying between
mailing lists and unmoderated groups. mailing lists and unmoderated groups.
1. The news-to-mail gateway preserves the message identifier of the 1. The news-to-mail gateway preserves the message identifier of the
news article in the generated email message. The mail-to-news news article in the generated email message. The mail-to-news
gateway likewise preserves the email message identifier provided gateway likewise preserves the email message identifier provided
that it is syntactically valid for Netnews. This allows the news that it is syntactically valid for Netnews. This allows the news
system's built-in suppression of duplicates to serve as the first system's built-in suppression of duplicates to serve as the first
line of defense against loops. line of defense against loops.
News Article Format June 2003 News Article Format and Transmission November 2003
2. The news-to-mail gateway adds an X-Gateway-header to all messages 2. The news-to-mail gateway adds an X-Gateway-header to all messages
it generates. The mail-to-news gateway discards any incoming it generates. The mail-to-news gateway discards any incoming
messages containing this header. This is robust against mailing messages containing this header. This is robust against mailing
list managers that replace the message identifier, and against any list managers that replace the message identifier, and against any
number of email hops, provided that the other message headers are number of email hops, provided that the other message headers are
preserved. preserved.
3. The mail-to-news gateway inserts the host name from which it 3. The mail-to-news gateway inserts the host name from which it
received the email message in the pre-injection region of the Path received the email message in the pre-injection region of the Path
skipping to change at page 78, line 4 skipping to change at page 77, line 4
be propagated beyond a cooperating subnet. The key security word here be propagated beyond a cooperating subnet. The key security word here
is "cooperating". When a machine is not configured properly, it may is "cooperating". When a machine is not configured properly, it may
become uncooperative and tend to distribute all articles. become uncooperative and tend to distribute all articles.
The flooding algorithm is extremely good at finding any path by which The flooding algorithm is extremely good at finding any path by which
articles can leave a subnet with supposedly restrictive boundaries, articles can leave a subnet with supposedly restrictive boundaries,
and substantial administrative effort is required to avoid this. and substantial administrative effort is required to avoid this.
Organizations wishing to control such leakage are strongly advised to Organizations wishing to control such leakage are strongly advised to
designate a small number of official gateways to handle all news designate a small number of official gateways to handle all news
exchange with the outside world (however, making such gateways too exchange with the outside world (however, making such gateways too
News Article Format June 2003 News Article Format and Transmission November 2003
restrictive can also encourage the setting up of unofficial paths restrictive can also encourage the setting up of unofficial paths
which can be exceedingly hard to track down). which can be exceedingly hard to track down).
The sendme control message (7.4), insofar as it is still used, can be The sendme control message (7.4), insofar as it is still used, can be
used to request articles with a given message identifier, even one used to request articles with a given message identifier, even one
that is not supposed to be supplied to the requestor. that is not supposed to be supplied to the requestor.
9.2. Attacks 9.2. Attacks
skipping to change at page 79, line 4 skipping to change at page 78, line 4
A malicious poster may also prevent his article being seen at a A malicious poster may also prevent his article being seen at a
particular site by preloading that site into the Path-header (5.6.1) particular site by preloading that site into the Path-header (5.6.1)
and may thus prevent the true owner of a forged From or Reply-To and may thus prevent the true owner of a forged From or Reply-To
address from ever seeing it. address from ever seeing it.
A malicious complainer may submit a modified copy of an article (e.g. A malicious complainer may submit a modified copy of an article (e.g.
with an altered Injector-Info-header) to the administrator of an with an altered Injector-Info-header) to the administrator of an
injecting agent in an attempt to discredit the author of that article injecting agent in an attempt to discredit the author of that article
and even to have his posting privileges removed. Administrators and even to have his posting privileges removed. Administrators
News Article Format June 2003 News Article Format and Transmission November 2003
should therefore obtain a genuine copy of the article from their own should therefore obtain a genuine copy of the article from their own
serving agent before taking such precipitate action. serving agent before taking such precipitate action.
Administrative agencies with responsibility for establishing policies Administrative agencies with responsibility for establishing policies
in particular hierarchies can and should set bounds upon the in particular hierarchies can and should set bounds upon the
behaviour that is considered acceptable within those hierarchies (for behaviour that is considered acceptable within those hierarchies (for
example by promulgating charters for individual newsgroups, and other example by promulgating charters for individual newsgroups, and other
codes of conduct). codes of conduct).
skipping to change at page 80, line 4 skipping to change at page 79, line 4
headers (6.15) are effectively cancel messages, and SHOULD be subject headers (6.15) are effectively cancel messages, and SHOULD be subject
to the same checks. Currently, many sites choose to ignore all to the same checks. Currently, many sites choose to ignore all
cancel messages on account of the difficulty of conducting such cancel messages on account of the difficulty of conducting such
checks. checks.
Improperly configured serving agents can allow articles posted to Improperly configured serving agents can allow articles posted to
moderated groups onto the net without first being approved by the moderated groups onto the net without first being approved by the
moderator. Injecting agents SHOULD verify that moderated articles moderator. Injecting agents SHOULD verify that moderated articles
were received from one of the entities given in their Approved- were received from one of the entities given in their Approved-
headers and/or check any digital signatures that may be provided (see headers and/or check any digital signatures that may be provided (see
News Article Format June 2003 News Article Format and Transmission November 2003
7.1). 7.1).
The filename parameter of the Archive-header (6.12) can be used to The filename parameter of the Archive-header (6.12) can be used to
attempt to store archived articles in inappropriate locations. attempt to store archived articles in inappropriate locations.
Archiving sites should be suspicious of absolute filename parameters, Archiving sites should be suspicious of absolute filename parameters,
as opposed to those relative to some location of the archiver's as opposed to those relative to some location of the archiver's
choosing. choosing.
There may be weaknesses in particular implementations that are There may be weaknesses in particular implementations that are
skipping to change at page 81, line 5 skipping to change at page 80, line 5
Posters also need to be aware that they are responsible if they Posters also need to be aware that they are responsible if they
breach Copyright, Libel, Harassment or other restrictions relating to breach Copyright, Libel, Harassment or other restrictions relating to
material that they post, and that they may possibly find themselves material that they post, and that they may possibly find themselves
liable for such breaches in jurisdictions far from their own. Serving liable for such breaches in jurisdictions far from their own. Serving
agents may also be liable in some jurisdictions, especially if the agents may also be liable in some jurisdictions, especially if the
breach has been explicitly drawn to their attention. breach has been explicitly drawn to their attention.
Users who are concerned about such matters should seek advice from Users who are concerned about such matters should seek advice from
competent legal authorities. competent legal authorities.
News Article Format June 2003 News Article Format and Transmission November 2003
10. IANA Considerations 10. IANA Considerations
IANA is requested to register the following media types, described IANA is requested to register the following media types, described
elsewhere in this standard for use with the Content-Type-header, in elsewhere in this standard for use with the Content-Type-header, in
the IETF tree in accordance with the procedures set out in [RFC the IETF tree in accordance with the procedures set out in [RFC
2048]. 2048].
application/news-transmission (6.21.6.1) application/news-transmission (6.21.4.1)
application/news-groupinfo (7.2.1.2) application/news-groupinfo (7.2.1.2)
application/news-checkgroups (7.2.4.1) application/news-checkgroups (7.2.4.1)
IANA is also requested to change the status of the following media IANA is also requested to change the status of the following media
type to "OBSOLETE". type to "OBSOLETE".
message/news (6.21.6.2) message/news (6.21.4.2)
NOTE: "Application/news-transmission" is an update, with NOTE: "Application/news-transmission" is an update, with
clarification and additional optional parameters, to an existing clarification and additional optional parameters, to an existing
registration. "Message/rfc822" should now be used in place of registration. "Message/rfc822" should now be used in place of
the obsoleted "message/news". the obsoleted "message/news".
11. References 11. References
[ANSI X3.4] "American National Standard for Information Systems - [ANSI X3.4] "American National Standard for Information Systems -
Coded Character Sets - 7-Bit American National Standard Code for Coded Character Sets - 7-Bit American National Standard Code for
skipping to change at page 82, line 5 skipping to change at page 81, line 5
[RFC 1034] P. Mockapetris, "Domain Names - Concepts and Facilities", [RFC 1034] P. Mockapetris, "Domain Names - Concepts and Facilities",
RFC 1034, November 1987. RFC 1034, November 1987.
[RFC 1036] M. Horton and R. Adams, "Standard for Interchange of [RFC 1036] M. Horton and R. Adams, "Standard for Interchange of
USENET Messages", RFC 1036, December 1987. USENET Messages", RFC 1036, December 1987.
[RFC 1864] J. Myers and M. Rose, "The Content-MD5 Header Field", RFC [RFC 1864] J. Myers and M. Rose, "The Content-MD5 Header Field", RFC
1864, October 1995. 1864, October 1995.
News Article Format June 2003 News Article Format and Transmission November 2003
[RFC 2045] N. Freed and N. Borenstein, "Multipurpose Internet Mail [RFC 2045] N. Freed and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Bodies", Extensions (MIME) Part One: Format of Internet Message Bodies",
RFC 2045, November 1996. RFC 2045, November 1996.
[RFC 2046] N. Freed and N. Borenstein, "Multipurpose Internet Mail [RFC 2046] N. Freed and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, November Extensions (MIME) Part Two: Media Types", RFC 2046, November
1996. 1996.
[RFC 2047] K. Moore, "MIME (Multipurpose Internet Mail Extensions) [RFC 2047] K. Moore, "MIME (Multipurpose Internet Mail Extensions)
skipping to change at page 82, line 43 skipping to change at page 81, line 43
Presentation Information in Internet Messages: The Content- Presentation Information in Internet Messages: The Content-
Disposition Header Field", RFC 2183, August 1997. Disposition Header Field", RFC 2183, August 1997.
[RFC 2231] N. Freed and K. Moore, "MIME Parameter Value and Encoded [RFC 2231] N. Freed and K. Moore, "MIME Parameter Value and Encoded
Word Extensions: Character Sets, Languages, and Continuations", Word Extensions: Character Sets, Languages, and Continuations",
RFC 2231, November 1997. RFC 2231, November 1997.
[RFC 2234] D. Crocker and P. Overell, "Augmented BNF for Syntax [RFC 2234] D. Crocker and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 2234, November 1997.
[RFC 2279] F. Yergeau, "UTF-8, a transformation format of ISO 10646",
RFC 2279, January 1998.
[RFC 2279bis] F. Yergeau, "UTF-8, a transformation format of ISO
10646", draft-yergeau-rfc2279bis-00.txt, April 2002.
[RFC 2298] R. Fajman, "An Extensible Message Format for Message [RFC 2298] R. Fajman, "An Extensible Message Format for Message
Disposition Notifications", RFC 2298, March 1998. Disposition Notifications", RFC 2298, March 1998.
[RFC 2373] R. Hinden and S. Deering, "IP Version 6 Addressing [RFC 2373] R. Hinden and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998. Architecture", RFC 2373, July 1998.
[RFC 2557] J. Palme, A. Hopmann, and N. Shelness, "MIME Encapsulation [RFC 2557] J. Palme, A. Hopmann, and N. Shelness, "MIME Encapsulation
of Aggregate Documents, such as HTML (MHTML)", RFC 2557, March of Aggregate Documents, such as HTML (MHTML)", RFC 2557, March
1999. 1999.
[RFC 2606] D. Eastlake and A. Panitz, "Reserved Top Level DNS Names", [RFC 2606] D. Eastlake and A. Panitz, "Reserved Top Level DNS Names",
RFC 2606, June 1999. RFC 2606, June 1999.
News Article Format June 2003
[RFC 2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, [RFC 2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter,
P. Leach, and T. Berners-Lee, "Hypertext Transfer Protocol -- P. Leach, and T. Berners-Lee, "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999. HTTP/1.1", RFC 2616, June 1999.
[RFC 2822] P. Resnick, "Internet Message Format", RFC 2822, April [RFC 2822] P. Resnick, "Internet Message Format", RFC 2822, April
News Article Format and Transmission November 2003
2001. 2001.
[RFC 2978] N. Freed and J. Postel, "IANA Charset Registration [RFC 2978] N. Freed and J. Postel, "IANA Charset Registration
Procedures", RFC 2978, October 2000. Procedures", RFC 2978, October 2000.
[RFC 3066] H. Alvestrand, "Tags for the Identification of Languages", [RFC 3066] H. Alvestrand, "Tags for the Identification of Languages",
RFC 3066, January 2001. RFC 3066, January 2001.
[RFC 3156] M. Elkins, D. Del Torto, R. Levien, and T. Roessler, "MIME [RFC 3156] M. Elkins, D. Del Torto, R. Levien, and T. Roessler, "MIME
Security with OpenPGP", RFC 3156, August 2001. Security with OpenPGP", RFC 3156, August 2001.
skipping to change at page 83, line 35 skipping to change at page 82, line 29
[RFC 822] D. Crocker, "Standard for the Format of ARPA Internet Text [RFC 822] D. Crocker, "Standard for the Format of ARPA Internet Text
Messages.", STD 11, RFC 822, August 1982. Messages.", STD 11, RFC 822, August 1982.
[RFC 850] Mark R. Horton, "Standard for interchange of Usenet [RFC 850] Mark R. Horton, "Standard for interchange of Usenet
messages", RFC 850, June 1983. messages", RFC 850, June 1983.
[RFC 976] Mark R. Horton, "UUCP mail interchange format standard", [RFC 976] Mark R. Horton, "UUCP mail interchange format standard",
RFC 976, February 1986. RFC 976, February 1986.
[RFC Errata] RFC Editor, "RFC Errata", <http"//www/rfc-
editor.org/errata.html>.
[Son-of-1036] Henry Spencer, "News article format and transmission", [Son-of-1036] Henry Spencer, "News article format and transmission",
<ftp://ftp.zoo.toronto.edu/pub/news.txt.Z>, June 1994. <ftp://ftp.zoo.toronto.edu/pub/news.txt.Z>, June 1994.
[UNICODE 3.0] The Unicode Consortium, "The Unicode Standard - Version [UNICODE 3.0] The Unicode Consortium, "The Unicode Standard - Version
3.0", Addison-Wesley, 2000. 3.0", Addison-Wesley, 2000.
[UNICODE 3.1] The Unicode Consortium, "The Unicode Standard - Version [UNICODE 3.1] The Unicode Consortium, "The Unicode Standard - Version
3.1, being an amendment to [UNICODE 3.0]", Unicode Standard 3.1, being an amendment to [UNICODE 3.0]", Unicode Standard
Annex #27 <http://www.unicode.org/unicode/reports/tr27>, 2001. Annex #27 <http://www.unicode.org/unicode/reports/tr27>, 2001.
skipping to change at page 84, line 5 skipping to change at page 82, line 57
[USEFOR] This Standard. [USEFOR] This Standard.
12. Acknowledgements 12. Acknowledgements
The editor wishes to thank the following members of the IETF Usenet The editor wishes to thank the following members of the IETF Usenet
Format Working Group who made significant contributions to this Format Working Group who made significant contributions to this
endeavour (however, inclusion in this list does not imply that a endeavour (however, inclusion in this list does not imply that a
person approves of everything contained herein). person approves of everything contained herein).
News Article Format June 2003
Per Abrahamsen Brian Kelly Per Abrahamsen Brian Kelly
Peter Alfredsen Evan Kirshenbaum Peter Alfredsen Evan Kirshenbaum
News Article Format and Transmission November 2003
Russ Allbery Brad Knowles Russ Allbery Brad Knowles
Greg Andruk Kent Landfield Greg Andruk Kent Landfield
Ralph Babel David C. Lawrence Ralph Babel David C. Lawrence
Stan Barber Bruce Lilly Stan Barber Bruce Lilly
Dave Barr Simon Lyall Dave Barr Simon Lyall
Ian Bell Todd Michel McComb Ian Bell Todd Michel McComb
G. James Berigan Denis McKeon G. James Berigan Denis McKeon
Terje Bless Seymour J. Metz Terje Bless Seymour J. Metz
Seth Breidbart John Moreno Seth Breidbart John Moreno
Buddha Buck Chris Newman Buddha Buck Chris Newman
skipping to change at page 85, line 4 skipping to change at page 83, line 56
Phone: +44 161 436 6131 Phone: +44 161 436 6131
Email: chl@clw.cs.man.ac.uk Email: chl@clw.cs.man.ac.uk
[ [
Working group chairs Working group chairs
Andrew Gierth <andrew@erlenstar.demon.co.uk> Andrew Gierth <andrew@erlenstar.demon.co.uk>
Pete Resnick <presnick@qualcomm.com> Pete Resnick <presnick@qualcomm.com>
] ]
News Article Format June 2003
Comments on this draft should preferably be sent to the mailing list Comments on this draft should preferably be sent to the mailing list
of the Usenet Format Working Group at of the Usenet Format Working Group at
News Article Format and Transmission November 2003
usenet-format@landfield.com. usenet-format@landfield.com.
This draft expires six months after the date of publication (see Page This draft expires six months after the date of publication (see Page
1) (i.e. in Dec 2003). 1) (i.e. in May 2004).
Appendix A.1 - A-News Article Format Appendix A.1 - A-News Article Format
The obsolete "A News" article format consisted of exactly five lines The obsolete "A News" article format consisted of exactly five lines
of header information, followed by the body. For example: of header information, followed by the body. For example:
Aeagle.642 Aeagle.642
news.misc news.misc
cbosgd!mhuxj!mhuxt!eagle!jerry cbosgd!mhuxj!mhuxt!eagle!jerry
Fri Nov 19 16:14:55 1982 Fri Nov 19 16:14:55 1982
Usenet Etiquette - Please Read Usenet Etiquette - Please Read
body body
body body
body body
The first line consisted of an "A" followed by an article ID The first line consisted of an "A" followed by an article ID
(analogous to a message ID and used for similar purposes). The (analogous to a message identifier and used for similar purposes).
second line was the list of newsgroups. The third line was the path. The second line was the list of newsgroups. The third line was the
The fourth was the date, in the format above (all fields fixed path. The fourth was the date, in the format above (all fields fixed
width), resembling an Internet date but not quite the same. The fifth width), resembling an Internet date but not quite the same. The fifth
was the subject. was the subject.
This format is documented for archeological purposes only. Articles This format is documented for archeological purposes only. Articles
MUST NOT be generated in this format. MUST NOT be generated in this format.
Appendix A.2 - Early B-News Article Format Appendix A.2 - Early B-News Article Format
The obsolete pseudo-Internet article format, used briefly during the The obsolete pseudo-Internet article format, used briefly during the
transition between the A News format and the modern format, followed transition between the A News format and the modern format, followed
skipping to change at page 86, line 4 skipping to change at page 84, line 57
Received: Fri Nov 19 16:59:30 1982 Received: Fri Nov 19 16:59:30 1982
Expires: Mon Jan 1 00:00:00 1990 Expires: Mon Jan 1 00:00:00 1990
body body
body body
body body
The From-header contained the information now found in the Path- The From-header contained the information now found in the Path-
header, plus possibly the full name now typically found in the From- header, plus possibly the full name now typically found in the From-
header. The Title-header contained what is now the Subject-content. header. The Title-header contained what is now the Subject-content.
News Article Format June 2003
The Posted-header contained what is now the Date-content. The The Posted-header contained what is now the Date-content. The
Article-I.D.-header contained an article ID, analogous to a message Article-I.D.-header contained an article ID, analogous to a message
ID and used for similar purposes. The Newsgroups- and Expires-headers identifier and used for similar purposes. The Newsgroups- and
were approximately as now. The Received-header contained the date News Article Format and Transmission November 2003
when the latest relaying agent to process the article first saw it.
All dates were in the above format, with all fields fixed width, Expires-headers were approximately as now. The Received-header
resembling an Internet date but not quite the same. contained the date when the latest relaying agent to process the
article first saw it. All dates were in the above format, with all
fields fixed width, resembling an Internet date but not quite the
same.
This format is documented for archeological purposes only. Articles This format is documented for archeological purposes only. Articles
MUST NOT be generated in this format. MUST NOT be generated in this format.
Appendix A.3 - Obsolete Headers Appendix A.3 - Obsolete Headers
Early versions of news software following the modern format sometimes Early versions of news software following the modern format sometimes
generated headers like the following: generated headers like the following:
Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP
skipping to change at page 87, line 4 skipping to change at page 85, line 58
Appendix A.4 - Obsolete Control Messages Appendix A.4 - Obsolete Control Messages
This present standard obsoletes certain control messages defined in This present standard obsoletes certain control messages defined in
[RFC 1036] (see 7.5), all of which had the effect of requesting a [RFC 1036] (see 7.5), all of which had the effect of requesting a
description of a relaying or serving agent's software, or its peering description of a relaying or serving agent's software, or its peering
arrangements with neighbouring sites, to be emailed to the article's arrangements with neighbouring sites, to be emailed to the article's
reply address. Whilst of some utility when Usenet was much smaller reply address. Whilst of some utility when Usenet was much smaller
than it is now, they had become no more than a tool for the malicious than it is now, they had become no more than a tool for the malicious
sending of mailbombs. Moreover, many organizations now consider sending of mailbombs. Moreover, many organizations now consider
News Article Format June 2003
information about their internal connectivity to be confidential. information about their internal connectivity to be confidential.
News Article Format and Transmission November 2003
version version
sendsys sendsys
whogets whogets
senduuname senduuname
"Version" requested details of the transport software in use at a "Version" requested details of the transport software in use at a
site. "Sendsys" requested the full list of newsgroups taken, and the site. "Sendsys" requested the full list of newsgroups taken, and the
peering arrangements. "Who gets" was similar, but restricted to a peering arrangements. "Who gets" was similar, but restricted to a
named newsgroup. "Senduuname" resembled "sendsys" but restricted to named newsgroup. "Senduuname" resembled "sendsys" but restricted to
the list of peers connected by UUCP. the list of peers connected by UUCP.
skipping to change at page 87, line 37 skipping to change at page 86, line 36
These forms are documented for archeological purposes only; they MUST These forms are documented for archeological purposes only; they MUST
NO LONGER be used. NO LONGER be used.
Appendix B - Collected Syntax Appendix B - Collected Syntax
Appendix B.1 - Characters, Atoms and Folding Appendix B.1 - Characters, Atoms and Folding
In the following syntactic rules, numbers in the left hand margin In the following syntactic rules, numbers in the left hand margin
indicate rules taken from other documents, specifically: indicate rules taken from other documents, specifically:
1 from [RFC 2231]; 1 from [RFC 2231] having regard to errata contained in [RFC
Errata];
2 from [RFC 2822] with the exception of those elements described 2 from [RFC 2822] with the exception of those elements described
therein as "obsolete"; therein as "obsolete";
3 from [RFC 2373]; 3 from [RFC 2373];
4 from [RFC 2234]; 4 from [RFC 2234];
5 from [RFC 2045]. 5 from [RFC 2045].
Where the number is followed by an asterisk ('*'), it indicates that Where the number is followed by an asterisk ('*'), it indicates that
the rule in question has been modified for the purposes of this the rule in question has been modified for the purposes of this
standard. standard.
skipping to change at page 88, line 4 skipping to change at page 87, line 4
%x61-7A ; a-z %x61-7A ; a-z
2 CFWS = *([FWS] comment) ( ([FWS] comment) / FWS ) 2 CFWS = *([FWS] comment) ( ([FWS] comment) / FWS )
4 CR = %x0D ; carriage return 4 CR = %x0D ; carriage return
4 CRLF = CR LF 4 CRLF = CR LF
4 DIGIT = %x30-39 ; 0-9 4 DIGIT = %x30-39 ; 0-9
4 DQUOTE = %d34 ; quote mark 4 DQUOTE = %d34 ; quote mark
2 FWS = ([*WSP CRLF] 1*WSP); folding whitespace 2 FWS = ([*WSP CRLF] 1*WSP); folding whitespace
4 HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" 4 HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
4 HTAB = %x09 ; horizontal tab 4 HTAB = %x09 ; horizontal tab
4 LF = %x0A ; line feed 4 LF = %x0A ; line feed
News Article Format June 2003 News Article Format and Transmission November 2003
2 NO-WS-CTL = %d1-8 / ; US-ASCII control characters 2 NO-WS-CTL = %d1-8 / ; US-ASCII control characters
%d11 / ; which do not include the %d11 / ; which do not include the
%d12 / ; carriage return, line feed, %d12 / ; carriage return, line feed,
%d14-31 / ; and whitespace characters %d14-31 / ; and whitespace characters
%d127 %d127
4 SP = %x20 ; space 4 SP = %x20 ; space
4 WSP = SP / HTAB ; whitespace characters 4 WSP = SP / HTAB ; whitespace characters
2 atext = ALPHA / DIGIT / 2 atext = ALPHA / DIGIT /
"!" / "#" / ; Any character except "!" / "#" / ; Any character except
skipping to change at page 89, line 4 skipping to change at page 88, line 4
extended-phrase extended-phrase
2 qcontent = qtext / quoted-pair 2 qcontent = qtext / quoted-pair
2 qtext = NO-WS-CTL / ; all of <text> except 2 qtext = NO-WS-CTL / ; all of <text> except
%d33 / ; SP, HTAB, "\" and DQUOTE %d33 / ; SP, HTAB, "\" and DQUOTE
%d35-91 / %d35-91 /
%d93-126 %d93-126
2 quoted-pair = "\" text 2 quoted-pair = "\" text
2 quoted-string = [CFWS] DQUOTE 2 quoted-string = [CFWS] DQUOTE
*( [FWS] qcontent ) [FWS] *( [FWS] qcontent ) [FWS]
DQUOTE [CFWS] DQUOTE [CFWS]
News Article Format June 2003 News Article Format and Transmission November 2003
2 specials = "(" / ")" / ; Special characters used in 2 specials = "(" / ")" / ; Special characters used in
"<" / ">" / ; other parts of the syntax "<" / ">" / ; other parts of the syntax
"[" / "]" / "[" / "]" /
":" / ";" / ":" / ";" /
"@" / "\" / "@" / "\" /
"," / "." / "," / "." /
DQUOTE DQUOTE
2 text = %d1-9 / ; all UTF-8 characters except 2 text = %d1-9 / ; all US-ASCII characters except
%d11-12 / ; US-ASCII NUL, CR and LF %d11-12 / ; NUL, CR and LF
%d14-127 %d14-127
5 tspecials = "(" / ")" / "<" / ">" / "@" / 5 tspecials = "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / DQUOTE / "," / ";" / ":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" / "=" "/" / "[" / "]" / "?" / "="
2* unstructured = 1*( [FWS] ( utext / encoded-word ) ) [FWS] 2* unstructured = 1*( [FWS] ( utext / encoded-word ) ) [FWS]
2 utext = NO-WS-CTL / ; Non white space controls 2 utext = NO-WS-CTL / ; Non white space controls
%d33-126 ; The rest of US-ASCII %d33-126 ; The rest of US-ASCII
2 word = atom / quoted-string 2 word = atom / quoted-string
Appendix B.2 - Basic Forms Appendix B.2 - Basic Forms
skipping to change at page 89, line 49 skipping to change at page 88, line 49
2 day-name = "Mon" / "Tue" / "Wed" / "Thu" / 2 day-name = "Mon" / "Tue" / "Wed" / "Thu" /
"Fri" / "Sat" / "Sun" "Fri" / "Sat" / "Sun"
2 day-of-week = [FWS] day-name 2 day-of-week = [FWS] day-name
2 domain = dot-atom / domain-literal 2 domain = dot-atom / domain-literal
2 domain-literal = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS] 2 domain-literal = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]
1 extended-initial-name 1 extended-initial-name
= attribute [initial-section] "*" = attribute [initial-section] "*"
1 extended-initial-value 1 extended-initial-value
= [charset] "'" [language] "'" = [charset] "'" [language] "'"
extended-other-values extended-other-values
1 extended-other-names = attribute other-section "*" 1 extended-other-names = attribute other-sections "*"
1* extended-other-value = *( "%" 2HEXDIG / attribute-char ) 1* extended-other-values= *( "%" 2HEXDIG / attribute-char )
1* extended-parameter = ( [CFWS] extended-initial-name [CFWS] 1* extended-parameter = ( [CFWS] extended-initial-name [CFWS]
"=" extended-initial-value ) / "=" extended-initial-value ) /
( [CFWS] extended-other-names [CFWS] ( [CFWS] extended-other-names [CFWS]
"=" extended-other-values ) "=" extended-other-values )
extension-parameter = <a parameter not defined by this standard> extension-parameter = <a parameter not defined by this standard>
2 group = display-name ":" [ mailbox-list / CFWS ] ";" 2 group = display-name ":" [ mailbox-list / CFWS ] ";"
[CFWS] [CFWS]
header-name = 1*name-character *( "-" 1*name-character ) header-name = 1*name-character *( "-" 1*name-character )
2 hour = 2DIGIT 2 hour = 2DIGIT
News Article Format June 2003 News Article Format and Transmission November 2003
1 initial-section = "*0" 1 initial-section = "*0"
2 local-part = dot-atom / quoted-string 2 local-part = dot-atom / quoted-string
2 mailbox = name-addr / addr-spec 2 mailbox = name-addr / addr-spec
2 mailbox-list = mailbox *( "," mailbox ) 2 mailbox-list = mailbox *( "," mailbox )
2 minute = 2DIGIT 2 minute = 2DIGIT
2 month = FWS month-name FWS 2 month = FWS month-name FWS
2 month-name = "Jan" / "Feb" / "Mar" / "Apr" / 2 month-name = "Jan" / "Feb" / "Mar" / "Apr" /
"May" / "Jun" / "Jul" / "Aug" / "May" / "Jun" / "Jul" / "Aug" /
"Sep" / "Oct" / "Nov" / "Dec" "Sep" / "Oct" / "Nov" / "Dec"
skipping to change at page 91, line 4 skipping to change at page 90, line 4
Reply-To-header / Reply-To-header /
Sender-header / Sender-header /
Organization-header / Organization-header /
Keywords-header / Keywords-header /
Summary-header / Summary-header /
Distribution-header / Distribution-header /
Followup-To-header / Followup-To-header /
Mail-Copies-To-header / Mail-Copies-To-header /
Posted-And-Mailed-header / Posted-And-Mailed-header /
References-header / References-header /
News Article Format June 2003 News Article Format and Transmission November 2003
Expires-header / Expires-header /
Archive-header / Archive-header /
Control-header / Control-header /
Approved-header / Approved-header /
Supersedes-header / Supersedes-header /
Xref-header / Xref-header /
Lines-header / Lines-header /
User-Agent-header / User-Agent-header /
Injector-Info-header / Injector-Info-header /
skipping to change at page 92, line 4 skipping to change at page 91, line 4
extension-parameter ) ) extension-parameter ) )
Injector-Info-parameter Injector-Info-parameter
= posting-host-parameter / = posting-host-parameter /
posting-account-parameter / posting-account-parameter /
posting-sender-parameter / posting-sender-parameter /
posting-logging-parameter / posting-logging-parameter /
posting-date-parameter posting-date-parameter
Keywords-content = phrase *( "," phrase ) Keywords-content = phrase *( "," phrase )
Keywords-header = "Keywords" ":" SP Keywords-content Keywords-header = "Keywords" ":" SP Keywords-content
Lines-content = [CFWS] 1*DIGIT [CFWS] Lines-content = [CFWS] 1*DIGIT [CFWS]
News Article Format June 2003 News Article Format and Transmission November 2003
Lines-header = "Lines" ":" SP Lines-content Lines-header = "Lines" ":" SP Lines-content
*( ";" extension-parameter ) *( ";" extension-parameter )
Mail-Copies-To-content Mail-Copies-To-content
= copy-addr / [CFWS] ( "nobody" / = copy-addr / [CFWS] ( "nobody" /
"poster" ) [CFWS] "poster" ) [CFWS]
Mail-Copies-To-header= "Mail-Copies-To" ":" SP Mail-Copies-To-content Mail-Copies-To-header= "Mail-Copies-To" ":" SP Mail-Copies-To-content
Message-ID-content = [FWS] msg-id [FWS] Message-ID-content = [FWS] msg-id [FWS]
Message-ID-header = "Message-ID" ":" SP Message-ID-content Message-ID-header = "Message-ID" ":" SP Message-ID-content
Newsgroups-content = [FWS] newsgroup-name Newsgroups-content = [FWS] newsgroup-name
skipping to change at page 93, line 4 skipping to change at page 92, line 4
Appendix B.3.2 - Control-message outlines Appendix B.3.2 - Control-message outlines
control-message = <empty> / control-message = <empty> /
Newgroup-message / Newgroup-message /
Rmgroup-message / Rmgroup-message /
Mvgroup-message / Mvgroup-message /
Checkgroup-message / Checkgroup-message /
Cancel-message / Cancel-message /
Ihave-message / Ihave-message /
News Article Format June 2003 News Article Format and Transmission November 2003
Sendme-message Sendme-message
Cancel-arguments = CFWS msg-id [CFWS] Cancel-arguments = CFWS msg-id [CFWS]
Cancel-message = "cancel" Cancel-arguments Cancel-message = "cancel" Cancel-arguments
Checkgroup-arguments = [ chkscope ] [ chksernr ] Checkgroup-arguments = [ chkscope ] [ chksernr ]
Checkgroup-message = "checkgroups" Checkgroup-arguments Checkgroup-message = "checkgroups" Checkgroup-arguments
Ihave-arguments = relayer-name Ihave-arguments = relayer-name
Ihave-message = "ihave" Ihave-arguments Ihave-message = "ihave" Ihave-arguments
Mvgroup-arguments = CFWS newsgroup-name CFWS newsgroup-name Mvgroup-arguments = CFWS newsgroup-name CFWS newsgroup-name
skipping to change at page 94, line 4 skipping to change at page 93, line 4
host-value = dot-atom / host-value = dot-atom /
[ dot-atom ":" ] [ dot-atom ":" ]
( IPv4address / IPv6address ) ( IPv4address / IPv6address )
; see [RFC 2373] ; see [RFC 2373]
2 id-left = dot-atom-text / no-fold-quote 2 id-left = dot-atom-text / no-fold-quote
2 id-right = dot-atom-text / no-fold-literal 2 id-right = dot-atom-text / no-fold-literal
ihave-body = *( msg-id CRLF ) ihave-body = *( msg-id CRLF )
3 IPv4address = 1*3DIGIT "." 1*3DIGIT "." 3 IPv4address = 1*3DIGIT "." 1*3DIGIT "."
1*3DIGIT "." 1*3DIGIT 1*3DIGIT "." 1*3DIGIT
3 IPv6address = hexpart [ ":" IPv4address ] 3 IPv6address = hexpart [ ":" IPv4address ]
News Article Format June 2003 News Article Format and Transmission November 2003
location = newsgroup-name ":" article-locator location = newsgroup-name ":" article-locator
mdtext = NO-WS-CTL / ; Non white space controls mdtext = NO-WS-CTL / ; Non white space controls
%d33-61 / ; The rest of the US-ASCII %d33-61 / ; The rest of the US-ASCII
%d63-90 / ; characters not including %d63-90 / ; characters not including
%d94-126 ; ">", "[", "]", or "\" %d94-126 ; ">", "[", "]", or "\"
moderation-flag = %x28.4D.6F.64.65.72.61.74.65.64.29 moderation-flag = %x28.4D.6F.64.65.72.61.74.65.64.29
; case sensitive "(Moderated)" ; case sensitive "(Moderated)"
mqspecial = "(" / ")" / ; same as specials except mqspecial = "(" / ")" / ; same as specials except
"<" / ; "\" and DQUOTE quoted "<" / ; "\" and DQUOTE quoted
skipping to change at page 95, line 4 skipping to change at page 94, line 4
and any value> and any value>
posting-date-parameter posting-date-parameter
= <a parameter with attribute "posting-date" = <a parameter with attribute "posting-date"
and value some date-time> and value some date-time>
posting-host-parameter posting-host-parameter
= <a parameter with attribute "posting-host" = <a parameter with attribute "posting-host"
and value some host-value> and value some host-value>
posting-logging-parameter posting-logging-parameter
= <a parameter with attribute "logging-data" = <a parameter with attribute "logging-data"
and any value> and any value>
News Article Format June 2003 News Article Format and Transmission November 2003
posting-sender-parameter posting-sender-parameter
= <a parameter with attribute "sender" = <a parameter with attribute "sender"
and value some sender-value> and value some sender-value>
product = [CFWS] token [CFWS] [ "/" product-version ] product = [CFWS] token [CFWS] [ "/" product-version ]
product-version = [CFWS] token [CFWS] product-version = [CFWS] token [CFWS]
pure-subject = unstructured pure-subject = unstructured
relayer-name = path-identity relayer-name = path-identity
rnews = %x72.6E.65.77.73 ; case sensitive "rnews" rnews = %x72.6E.65.77.73 ; case sensitive "rnews"
sender-value = mailbox / "verified" sender-value = mailbox / "verified"
skipping to change at page 95, line 46 skipping to change at page 94, line 46
be obtained from the IETF Secretariat. be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved Copyright (C) The Internet Society (2003). All Rights Reserved
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
News Article Format June 2003 News Article Format and Transmission November 2003
English. English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/