NNTP
Click on the red underlined text to get to the source
...
This document specifies the Network News Transfer Protocol (NNTP),
which is used for the distribution, inquiry, retrieval, and posting
of Netnews articles using a reliable stream ...
... stream-based mechanism. For
news-reading clients, NNTP enables retrieval of news articles that
are stored in a central database ...
...
The Netnews model provides for indexing, cross-referencing, and
expiration of aged messages. NNTP is designed for efficient
transmission of Netnews articles over a reliable full duplex
communication channel ...
... requirements but not all the SHOULD
requirements for NNTP is said to be "conditionally compliant".
For the remainder of this document, the terms "client ...
... client" and "client
host" refer to a host making use of the NNTP service, while the terms
"server" and "server host ...
...
This document is written in XML using an NNTP-specific DTD. Custom
software is used to convert this to RFC 2629 ...
... requirements
of that section (for example, if it does not fit the grammar of
Section 4.1), the NNTP server MAY place some interpretation on it
(not specified by this document) or otherwise MUST treat it as a
syntax error ...
... channel. When the connection is established, the NNTP server host
MUST send a greeting. The client host ...
... UTF-8 [RFC3629]. Commands
in NNTP MUST consist of a keyword, which MAY be followed by one or
more arguments. A CRLF pair MUST terminate all commands. Multiple
...
... initial line followed by a multi-line data block.
An NNTP server MAY have an inactivity autologout timer. Such a timer
...
...
Not all NNTP servers provide exactly the same facilities, both
because this specification allows variation and because servers may
provide extensions. A set of facilities that are related are called
...
... first capability in the capability list; it indicates the
version(s) of NNTP that the server supports. There must be at
least one argument; each argument is a decimal number and MUST NOT
have a leading zero. Version numbers ...
...
Although NNTP is widely and robustly deployed, some parts of the
Internet community might wish to extend the NNTP ...
... NNTP is widely and robustly deployed, some parts of the
Internet community might wish to extend the NNTP service. It must be
emphasized that any extension to NNTP ...
... NNTP service. It must be
emphasized that any extension to NNTP should not be considered
lightly. NNTP's strength comes primarily from its simplicity.
...
... emphasized that any extension to NNTP should not be considered
lightly. NNTP's strength comes primarily from its simplicity.
Experience with many protocols has shown that:
...
... deployment, and interoperability costs. In many cases, the cost of
extending the NNTP service will likely outweigh the benefit.
...
... capability label defined by the extension.
o Any new NNTP commands associated with the extension (the names of
commands associated with registered extensions MUST NOT begin with
"X").
...
...
o The syntax and possible values of arguments associated with the
new NNTP commands.
o The response codes ...
... o The response codes and possible values of arguments for the
responses of the new NNTP commands.
o Any new arguments the extension associates with any other
...
...
o Any new arguments the extension associates with any other
pre-existing NNTP commands.
o Any increase in the maximum length of commands and initial
...
...
o A description of how support for the extension affects the
behaviour of a server and NNTP client in any other manner not
outlined above.
...
...
A server MUST NOT send different response codes to basic NNTP
commands documented here or to commands documented in registered
extensions in response to the availability or use of a private
...
... IANA will maintain a registry of NNTP capability labels. All
capability labels in the registry MUST be keywords and MUST NOT begin
...
... | | | |
| VERSION | Supported NNTP versions | Section 3.3.2 |
+-------------------+--------------------------+--------------------+
...
...
NNTP is traditionally used in two different ways. The first use is
"reading", where the client fetches articles from a large store
...
...
NNTP is intended to transfer articles between clients and servers.
For the purposes of this specification, articles are required to
...
... Note that this requirement applies only to the contents of
communications over NNTP; it does not prevent the client or server
from subsequently rejecting an article for reasons of local policy.
...
... from subsequently rejecting an article for reasons of local policy.
Also see Appendix A for further restrictions on the format of
articles in some uses of NNTP.
An article consists of two parts: the headers ...
... second and subsequent ones are part of the body). In order to meet
the general requirements of NNTP, an article MUST NOT include the
octet NUL, MUST NOT contain the octets LF and CR ...
... Each article MUST have a unique message-id; two articles offered by
an NNTP server MUST NOT have the same message-id. For the purposes
of this specification, message-ids are opaque ...
...
An NNTP server or extension MAY extend the syntax or semantics of
wildmats provided that all wildmats that meet the requirements ...
... Service Ready, posting permitted
[C] QUIT
[S] 205 NNTP Service exits normally
[Server closes connection ...
... Service Ready, posting prohibited
[C] QUIT
[S] 205 NNTP Service exits normally
[Server closes connection ...
... other state information (which, in turn, may be changed by the
effects of other commands or by external events). An NNTP client is
only able to get the current and correct information concerning
...
... News-reading clients have available a variety of mechanisms to
retrieve articles via NNTP. The news articles are stored and indexed
using three types of keys. The first type of key is the message-id
...
... newsgroup" and the "current article number", which are used by
various commands. At the start of an NNTP session, both of these
values are set to the special value "invalid".
...
... removed and added, the results of multiple
LAST and NEXT commands MAY not be consistent over the life of a
particular NNTP session.
...
... by the server host's news software and not
necessarily by the NNTP server itself.
The client ...
... Because some news server software may not immediately be able to
determine whether an article is suitable for posting or forwarding,
an NNTP server MAY acknowledge the successful transfer of the article
(with a 235 response) but later silently discard it.
...
... Section 6). This clock SHOULD be monotonic, and adjustments SHOULD
be made by running it fast or slow compared to "real" time rather
than by making sudden jumps. A system providing NNTP service SHOULD
keep the system clock as accurate as possible, either with NTP ...
...
The active.times list is maintained by some NNTP servers to contain
information about who created a particular newsgroup ...
... This keyword is optional.
The distrib.pats list is maintained by some NNTP servers to assist
clients to choose a value for the content of the Distribution header ...
...
The newsgroups list is maintained by NNTP servers to contain the name
of each newsgroup that is available on the server and a short
...
... Augmented BNF Syntax for NNTP ...
... Each of the following sections describes the syntax of a major
element of NNTP. This syntax extends and refines the descriptions
elsewhere in this specification and should be given precedence when
resolving apparent conflicts. Note that ABNF ...
... 8-bit clean.
Since then, Usenet and NNTP have spread throughout the world. In the
absence of standards for handling the issues of language and
...
... MIME in email, it is becoming more common to find
NNTP articles containing MIME headers that identify the character set
...
... One point that has been generally accepted is that articles can
contain octets with the top bit set, and NNTP is only expected to
operate on 8-bit clean transport ...
... producing this specification.
This specification extends NNTP from US-ASCII [ANSI1986] to UTF-8 ...
... RFC2822].
Of course, any article transmitted via NNTP needs to conform to this
specification as well.
...
... comparison will continue
to apply to most, if not all, uses of newsgroup names in NNTP.
In the meantime, any implementation experimenting with UTF-8 ...
... newsgroup names is strongly cautioned that a future specification may
require that those names be canonicalized when used with NNTP in a
way that is not compatible with their experiments.
...
... way that is not compatible with their experiments.
Since the primary use of NNTP is with Netnews, and since newsgroup
descriptions are normally distributed through specially formatted
...
... This section is meant to inform application developers, information
providers, and users of the security limitations in NNTP as described
by this document. The discussion does not include definitive
...
... is not disclosed inadvertently. Additionally, effective and easily
understood mechanisms to manage the distribution of news articles
SHOULD be provided to NNTP Server administrators, so that they are
able to report with confidence the likely spread of any particular
...
... token-based authentication in the basic
NNTP specification. Access is normally controlled by server
configuration files. Those files specify access by using domain
names ...
... domain
names or IP addresses. However, this specification does permit the
creation of extensions to NNTP for such purposes; one such extension
is [NNTP-AUTH]. While including such mechanisms is optional, doing
...
...
Many existing NNTP implementations authorize incoming connections by
checking the IP address ...
... association.
In particular, NNTP clients and servers SHOULD rely on their name
resolver for confirmation of an IP ...
... the cached information will remain useful.
If NNTP clients or servers cache the results of host name ...
... performance improvement, they MUST observe the TTL
information reported by DNS. If NNTP clients or servers do not
observe this rule, they could be spoofed when a previously accessed
...
... US-ASCII characters
are. Implementations SHOULD use one of the first two solutions where
the general structure of the NNTP stream remains intact and SHOULD
close the connection ...
... connection set-up completed.]
[S] 200 NNTP Service Ready, posting permitted
[C] CAPABILITIES
...
... connection set-up completed.]
[S] 200 NNTP Service Ready, posting permitted
[C] XSECRET fred flintstone
...
...
This document is the result of much effort by the present and past
members of the NNTP Working Group, chaired by Russ Allbery and Ned
Freed. It could not have been produced without them.
...
... Freed. It could not have been produced without them.
The author acknowledges the original authors of NNTP as documented in
RFC 977(-> 3977prop) [RFC977 ...
... The author gratefully acknowledges the following:
o The work of the NNTP committee chaired by Eliot Lear. The
organization of this document was influenced by the last available
...
... security issues that should be considered for
HTTP. Since many of the same considerations exist for NNTP, those
examples that are relevant have been included here with some minor
rewrites.
...
...
Rick Adams
Original author of the NNTP extensions to the RN news reader and
last maintainer of Bnews.
...
...
Stan Barber
Original author of the NNTP extensions to the news readers that
are part of Bnews.
...
... Vinocur, J., Murchison, K., and C. Newman, "Network News Transfer Protocol (NNTP) Extension for Authentication", RFC 4643prop, October 2006. ...
... Vinocur, J. and K. Murchison, "Network News Transfer Protocol (NNTP) Extension for Streaming Feeds", RFC 4644prop, October 2006. ...
... Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)", RFC 4642prop, October 2006. ...
...
Every article handled by an NNTP server MUST have a unique
message-id. For the purposes of this specification, a message-id ...
... <"ab.\cd"@example.com>
as being identical. Therefore, an NNTP implementation handing email
articles must ensure that only one of these three appears in the
...
...
As far as NNTP is concerned, the POST and IHAVE commands provide the
same basic facilities in a slightly different way. However, they
have rather different intentions.
...
... The IHAVE command is intended for transmitting conforming articles
between a system of NNTP servers, with all articles perhaps also
conforming to another specification (e.g., all articles are Netnews
articles). It is expected that the client ...
... convert it to the right form for onward distribution. This is often
done by a separate piece of software on the server installation; if
so, the NNTP server SHOULD pass the incoming article to that software
unaltered, making no attempt to filter characters, to fold or limit
...
