usefor-article-03 February 2000
[< Prev]
[TOC] [ Next >]
8.4. Duties of a Serving 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
reading agents to access the news database. This database is normally
indexed by newsgroup with articles in each newsgroup identified by an
article-locater (usually in the form of a decimal number - see 6.14).
NOTE: Since control messages are often of interest, but should
not be displayed as normal articles in regular newsgroups, it is
common for serving agents to make them available in a pseudo-
newsgroup named "control" or in a pseudo-newsgroup in a sub-
hierarchy under "control." (e.g. "control.cancel").
A serving agent processes articles as follows:
1. It MUST verify the leftmost entry in the Path header and then
prepend its own path-identity with a '/' delimiter, and possibly
also the verified path-identity of its source with a '?' delimiter
(5.6.2).
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
mandatory headers (section 5) present, or which contains any
header that does not have legal contents.
4. It SHOULD reject any article that has already been sent to it (a
database of message identifiers of recent messages is usually kept
and matched against).
5. It SHOULD reject any article that has already been Canceled,
Superseded or Replaced by its author or by another trusted entity,
and delete any of such article that it already has in its news
database.
6. It MUST reject any article without an Approved header posted to
any moderated newsgroup which it is configured to receive, and it
MAY reject such articles for any newgroup it knows be moderated.
7. It SHOULD generate a correct Xref header (6.14) for each article.
8. Finally, it stores the article in its news database.
[< Prev]
[TOC] [ Next >]
#Diff to first older