draft-ietf-nntpext-base-23.txt   draft-ietf-nntpext-base-24.txt 
NNTP C. Feather NNTP C. Feather
Internet-Draft Thus plc Internet-Draft Thus plc
Expires: February 24, 2005 August 26, 2004 Expires: March 4, 2005 September 3, 2004
Network News Transport Protocol Network News Transfer Protocol
draft-ietf-nntpext-base-23 draft-ietf-nntpext-base-24
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions This document is an Internet-Draft and is subject to all provisions
of section 3 of RFC 3667. By submitting this Internet-Draft, each of section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with which he or she become aware will be disclosed, in accordance with
RFC 3668. RFC 3668.
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 24, 2005. This Internet-Draft will expire on March 4, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). Copyright (C) The Internet Society (2004).
Abstract Abstract
The Network News Transport Protocol (NNTP) has been in use in the The Network News Transfer Protocol (NNTP) has been in use in the
Internet for a decade and remains one of the most popular protocols Internet for a decade and remains one of the most popular protocols
(by volume) in use today. This document is a replacement for RFC 977 (by volume) in use today. This document is a replacement for RFC 977
and officially updates the protocol specification. It clarifies some and officially updates the protocol specification. It clarifies some
vagueness in RFC 977, includes some new base functionality, and vagueness in RFC 977, includes some new base functionality, and
provides a specific mechanism to add standardized extensions to NNTP. provides a specific mechanism to add standardized extensions to NNTP.
Administration Administration
This document is a product of the NNTP Working Group, chaired by Russ This document is a product of the NNTP Working Group, chaired by Russ
Allbery and Ned Freed. Allbery and Ned Freed.
skipping to change at page 5, line 7 skipping to change at page 5, line 7
B.3 Article posting . . . . . . . . . . . . . . . . . . . . 98 B.3 Article posting . . . . . . . . . . . . . . . . . . . . 98
C. Summary of Response Codes . . . . . . . . . . . . . . . . . 100 C. Summary of Response Codes . . . . . . . . . . . . . . . . . 100
D. Formal specification of the standard extensions . . . . . . 104 D. Formal specification of the standard extensions . . . . . . 104
D.1 The LISTGROUP extension . . . . . . . . . . . . . . . . 104 D.1 The LISTGROUP extension . . . . . . . . . . . . . . . . 104
D.2 The OVER extension . . . . . . . . . . . . . . . . . . . 104 D.2 The OVER extension . . . . . . . . . . . . . . . . . . . 104
D.3 The HDR extension . . . . . . . . . . . . . . . . . . . 105 D.3 The HDR extension . . . . . . . . . . . . . . . . . . . 105
Intellectual Property and Copyright Statements . . . . . . . 106 Intellectual Property and Copyright Statements . . . . . . . 106
1. Introduction 1. Introduction
This document specifies the Network News Transport Protocol (NNTP), This document specifies the Network News Transfer Protocol (NNTP),
which is used for the distribution, inquiry, retrieval, and posting which is used for the distribution, inquiry, retrieval, and posting
of Netnews articles using a reliable stream-based mechanism. For of Netnews articles using a reliable stream-based mechanism. For
news reading clients, NNTP enables retrieval of news articles that news reading clients, NNTP enables retrieval of news articles that
are stored in a central database, giving subscribers the ability to are stored in a central database, giving subscribers the ability to
select only those articles they wish to read. select only those articles they wish to read.
The Netnews model provides for indexing, cross-referencing, and The Netnews model provides for indexing, cross-referencing, and
expiration of aged messages. For server-to-server interaction, NNTP expiration of aged messages. For server-to-server interaction, NNTP
is designed for efficient transmission of Netnews articles over a is designed for efficient transmission of Netnews articles over a
reliable full duplex communication channel. reliable full duplex communication channel.
skipping to change at page 54, line 51 skipping to change at page 54, line 51
This command is optional. This command is optional.
Syntax Syntax
LIST ACTIVE.TIMES [wildmat] LIST ACTIVE.TIMES [wildmat]
Responses Responses
215 Information follows (multiline) 215 Information follows (multiline)
Parameters Parameters
wildmat = groups of interest wildmat = groups of interest
7.6.2.2 Description 7.6.2.2 Description
The active.times list is maintained by some news transport systems to The active.times list is maintained by some news transfer systems to
contain information about who created a particular newsgroup and contain information about who created a particular newsgroup and
when. Each line of this list consists of three fields separated from when. Each line of this list consists of three fields separated from
each other by one or more spaces. The first field is the name of the each other by one or more spaces. The first field is the name of the
newsgroup. The second is the time when this group was created on newsgroup. The second is the time when this group was created on
this news server, measured in seconds since the start of January 1, this news server, measured in seconds since the start of January 1,
1970. The third is plain text intended to describe the entity that 1970. The third is plain text intended to describe the entity that
created the newsgroup; it is often a mailbox as defined in RFC 2822 created the newsgroup; it is often a mailbox as defined in RFC 2822
[RFC2822]. [RFC2822].
The list MAY omit newsgroups for which the information is unavailable The list MAY omit newsgroups for which the information is unavailable
skipping to change at page 56, line 17 skipping to change at page 56, line 17
7.6.3.1 Usage 7.6.3.1 Usage
This command is optional. This command is optional.
Syntax Syntax
LIST DISTRIBUTIONS LIST DISTRIBUTIONS
Responses Responses
215 Information follows (multiline) 215 Information follows (multiline)
7.6.3.2 Description 7.6.3.2 Description
The distributions list is maintained by some news transport systems The distributions list is maintained by some news transfer systems to
to contain information about valid values for the content of the contain information about valid values for the content of the
Distribution header in a news article and about what the various Distribution header in a news article and about what the various
values mean. Each line of this list consists of two fields separated values mean. Each line of this list consists of two fields separated
from each other by one or more spaces. The first field is a value from each other by one or more spaces. The first field is a value
and the second is a short explanation of the meaning of that value. and the second is a short explanation of the meaning of that value.
If the information is available, it is returned as a multi-line If the information is available, it is returned as a multi-line
response following the 215 response code. response following the 215 response code.
7.6.3.3 Examples 7.6.3.3 Examples
skipping to change at page 57, line 12 skipping to change at page 57, line 12
7.6.4.1 Usage 7.6.4.1 Usage
This command is optional. This command is optional.
Syntax Syntax
LIST DISTRIB.PATS LIST DISTRIB.PATS
Responses Responses
215 Information follows (multiline) 215 Information follows (multiline)
7.6.4.2 Description 7.6.4.2 Description
The distrib.pats list is maintained by some news transport systems to The distrib.pats list is maintained by some news transfer systems to
choose a value for the content of the Distribution header of a news choose a value for the content of the Distribution header of a news
article being posted. Each line of this list consists of three article being posted. Each line of this list consists of three
fields separated from each other by a colon (":"). The first field fields separated from each other by a colon (":"). The first field
is a weight, the second field is a wildmat (which may be a simple is a weight, the second field is a wildmat (which may be a simple
group name), and the third field is a value for the Distribution group name), and the third field is a value for the Distribution
header content. header content.
The client MAY use this information to construct an appropriate The client MAY use this information to construct an appropriate
Distribution header given the name of a newsgroup. To do so, it Distribution header given the name of a newsgroup. To do so, it
should determine the lines whose second field matches the newsgroup should determine the lines whose second field matches the newsgroup
skipping to change at page 58, line 19 skipping to change at page 58, line 19
This command is optional. This command is optional.
Syntax Syntax
LIST NEWSGROUPS [wildmat] LIST NEWSGROUPS [wildmat]
Responses Responses
215 Information follows (multiline) 215 Information follows (multiline)
Parameters Parameters
wildmat = groups of interest wildmat = groups of interest
7.6.5.2 Description 7.6.5.2 Description
The newsgroups list is maintained by some news transport systems to The newsgroups list is maintained by some news transfer systems to
contain the name of each newsgroup that is available on the server contain the name of each newsgroup that is available on the server
and a short description about the purpose of the group. Each line of and a short description about the purpose of the group. Each line of
this list consists of two fields separated from each other by one or this list consists of two fields separated from each other by one or
more space or TAB characters (usual practice is a single TAB). The more space or TAB characters (usual practice is a single TAB). The
first field is the name of the newsgroup and the second is a short first field is the name of the newsgroup and the second is a short
description of the group. description of the group.
The list MAY omit newsgroups for which the information is unavailable The list MAY omit newsgroups for which the information is unavailable
and MAY include groups not available on the server. The client MUST and MAY include groups not available on the server. The client MUST
NOT assume that the list is complete or that it matches the list NOT assume that the list is complete or that it matches the list
skipping to change at page 61, line 32 skipping to change at page 61, line 32
may have (if any); may have (if any);
o a specific statement about the circumstances when use of this o a specific statement about the circumstances when use of this
extension can alter the output from LIST EXTENSIONS; extension can alter the output from LIST EXTENSIONS;
o the circumstances under which the extension can cause any o the circumstances under which the extension can cause any
pre-existing command to produce a 401, 480, or 483 response; pre-existing command to produce a 401, 480, or 483 response;
o whether the extension can be used before or after the MODE READER o whether the extension can be used before or after the MODE READER
command, and what changes (if any) the latter has on the command, and what changes (if any) the latter has on the
extension. extension.
A private extension need not be included in the output of LIST A private extension need not be included in the output of LIST
EXTENSIONS. A server MAY provide additional keywords - either for EXTENSIONS. A server MAY provide additional keywords - for new
new commands or new variants of existing commands - as part of a commands and also for new variants of existing commands - as part of
private extension. To avoid the risk of a clash with a future a private extension. To avoid the risk of a clash with a future
registered extension, the names of private extensions and commands registered extension, the names of private extensions and commands
defined by them SHOULD begin with "X" and MUST NOT be the same as the defined by them SHOULD begin with "X" and MUST NOT be the same as the
name of a registered extension. name of a registered extension.
If the server provides a registered extension (indicated by listing If the server provides a registered extension (indicated by listing
it in the output of LIST EXTENSIONS), it MUST implement all of the it in the output of LIST EXTENSIONS), it MUST implement all of the
commands in the specification of the extension except for those commands in the specification of the extension except for those
marked as optional. If it does not implement the extension as marked as optional. If it does not implement the extension as
specified, it MUST NOT list the extension in the output of LIST specified, it MUST NOT list the extension in the output of LIST
EXTENSIONS under its registered name; in this case it MAY, but SHOULD EXTENSIONS under its registered name; in this case it MAY, but SHOULD
skipping to change at page 63, line 21 skipping to change at page 63, line 21
group = name of newsgroup group = name of newsgroup
number = estimated number of articles in the group number = estimated number of articles in the group
low = reported low water mark low = reported low water mark
high = reported high water mark high = reported high water mark
[1] The 412 response can only occur if no group has been specified. [1] The 412 response can only occur if no group has been specified.
8.3.1.2 Description 8.3.1.2 Description
The LISTGROUP command is used to get a listing of all the article The LISTGROUP command is used to get a listing of all the article
numbers in a particular newsgroup. As a side effect, it also selects numbers in a particular newsgroup. As a side effect, it also selects
the group in the same way as the the GROUP command (see Section the group in the same way as the GROUP command (see Section 6.1.1).
6.1.1).
The optional argument is the name of the newsgroup to be selected The optional argument is the name of the newsgroup to be selected
(e.g. "news.software.misc"). A list of valid newsgroups may be (e.g. "news.software.misc"). A list of valid newsgroups may be
obtained from the LIST ACTIVE command. If no group is specified, the obtained from the LIST ACTIVE command. If no group is specified, the
current selected newsgroup is used. current selected newsgroup is used.
On success, the list of article numbers is returned as a multi-line On success, the list of article numbers is returned as a multi-line
response following the 211 response code (the arguments on the response following the 211 response code (the arguments on the
initial response line are the same as for the GROUP command. The initial response line are the same as for the GROUP command. The
list contains one number per line, is in numerical order, and lists list contains one number per line, is in numerical order, and lists
skipping to change at page 99, line 11 skipping to change at page 99, line 11
conforming to another specification (e.g. all articles are Netnews conforming to another specification (e.g. all articles are Netnews
articles). It is expected that the client will have already done any articles). It is expected that the client will have already done any
necessary validation (or has in turn obtained the article from a necessary validation (or has in turn obtained the article from a
third party which has done so); therefore the contents SHOULD be left third party which has done so); therefore the contents SHOULD be left
unchanged. unchanged.
In contrast, the POST command is intended for use when an end-user is In contrast, the POST command is intended for use when an end-user is
injecting a newly-created article into a such a system. The article injecting a newly-created article into a such a system. The article
being transferred might not be a conforming email or Netnews article, being transferred might not be a conforming email or Netnews article,
and the server is expected to validate it and, if necessary, convert and the server is expected to validate it and, if necessary, convert
it to the right form for onward distribution. It is often the case it to the right form for onward distribution. This is often done by
that this is done by a separate piece of software on the server a separate piece of software on the server installation; if so, the
installation. If so, the NNTP server SHOULD pass the incoming NNTP server SHOULD pass the incoming article to that software
article to that software unaltered, making no attempt to filter unaltered, making no attempt to filter characters, fold or limit
characters, fold or limit lines, or otherwise process the incoming lines, or otherwise process the incoming text.
text.
The POST command can fail in various ways and clients should be The POST command can fail in various ways and clients should be
prepared to re-send an article. When doing so, however, it is often prepared to re-send an article. When doing so, however, it is often
important to ensure - as far as possible - that the same message-id important to ensure - as far as possible - that the same message-id
is allocated to both attempts so that the server, or other servers, is allocated to both attempts so that the server, or other servers,
can recognize the two articles as being duplicates. In the case of can recognize the two articles as being duplicates. In the case of
email or Netnews articles, therefore, the posted article SHOULD email or Netnews articles, therefore, the posted article SHOULD
contain a header with name "Message-ID" and the contents of this contain a header with name "Message-ID" and the contents of this
header SHOULD be identical on each attempt. The server SHOULD ensure header SHOULD be identical on each attempt. The server SHOULD ensure
that two POSTed articles with the same contents for this header are that two POSTed articles with the same contents for this header are
 End of changes. 

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