From: Charles Lindsey (chl@clw.cs.man.ac.uk)
Date: Thu Sep 14 2000 - 04:40:04 CDT
Here is my revised attempt at the Injector-Info header.
Changes:
Complaints-To is now a separate header.
There are RECOMMENDED usages which should make it much easier to pick
out this header in killfiles, filters, etc.
I considered a "server" parameter for server farms which ran several
parallel news-servers, but then I checked what we had already written
for the Path header, and found that the path-identity SHOULD already
identifiy the actual machine doing the injection, and hence the
Injector-Info header SHOULD do the same.
I considered a "protocol" parameter, but decided against it (unless
somebody twists my arm).
-------------------------------------------------------------------------------
6. Optional Headers
6.1. Injector-Info
The Injector-Info header is added to an article by an injecting agent
in order to provide information as to how that article entered the
Netnews system and to assist in tracing its true origin.
Injector-Info-content
= path-identity
Injector-Info-header-parameter
= posting-host-parameter /
posting-account-parameter /
posting-sender-parameter /
posting-logging-parameter /
posting-date-parameter
; for USENET-header-parameters see 4.1
posting-host-parameter
= [CFWS] "posting-host" [CFWS] "=" [CFWS]
( host-value /
DQUOTE host-value DQUOTE ) [CFWS]
host-value = dot-atom /
[ dot-atom ":" ]
( dotted-quad / ; see [RFC 820]
ipv6-numeric ) ; see [RFC 2373]
posting-account-parameter
= [CFWS] "posting-account" [CFWS] "=" value
posting-sender-parameter
= [CFWS] "sender" [CFWS] "=" [CFWS]
( sender-value /
DQUOTE sender-value DQUOTE ) [CFWS]
sender-value = ( mailbox / "verified" )
posting-logging-parameter
= [CFWS] "logging-data" [CFWS] "=" value
posting-date-parameter
= [CFWS] "posting-date" [CFWS] "=" [CFWS]
( posting-date-value /
DQUOTE date-value DQUOTE ) [CFWS]
date-value = 1*DIGIT [ ":" date-time ]
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
an article arrives at an injecting agent MUST be removed. In
particular if, for some exceptional reason (8.2.2), an article gets
injected twice, the Injector-Info header will always relate to the
second injection.
The path-identity MUST be the same as the path-identity prepended to
the Path header by that same injecting agent which, following section
5.6.2, MUST therefore be a fully qualified domain name (FQDN)
mailable address.
Although comments and folding of white space are permitted throughout
the Injector-Info-content specification, it is RECOMMENDED that
folding is not used within any header-parameter (but only before or
after the ";" separating parameters), and that comments are only used
following the last parameter. It is also RECOMMENDED that such
parameters as are present are included in the order in which they
have been defined in the syntax above. An injecting agent SHOULD use
a consistent form of this header for all articles emanating from the
same or similar origins.
[I based that wording on that used for date-times in the latest version
of MESSFOR. I shall likely adapt our own date-time wording to use it as
well.]
NOTE: The effect of those recommendations is to facilitate the
recognition of articles arising from certain designated origins
(as in the so-called "killfiles" which are available in some
reading agents). Observe that the order within the syntax has
been chosen to place last those parameters which are most likely
to change between successive articles posted from the same
origin.
NOTE: To comply with the overall "attribute = value" syntax of
USENET-header-parameters, any value containing an ipv6-numeric,
a date-time, a mailbox or any CFWS MUST be quoted using
<DQUOTE>s (the quoting is optional in other cases).
NOTE: This header is intended to replace various currently-used
but nowhere-documented headers such as "NNTP-Posting-Host",
"NNTP-Posting-Date" amd "X-Trace". Any of these headers present
when an article arrives SHOULD also be removed as above.
6.1.1. Usage of Injector-Info-header-parameters
The purpose of these parameters is to enable the injecting agent to
make assertions about the origin of the article, in fulfilment of its
responsibilities towards the rest of the network as set out in
section 8.2. These assertions can then be utilized as follows:
1. To enable the administrator of the injecting agent to respond to
complaints and queries concerning the article. For this purpose,
the parameters included SHOULD be sufficient to enable the
administrator to identify its true origin (which parameters are
best suited to this purpose will vary with the nature of the
injecting site and of its relationship to the posters who use it -
there is no benefit in including parameters which contribute
nothing to this aim). An administrator MAY, with those parameters
where the syntax so allows, use cryptic notations interpretable
only by himself if he considers it appropriate to protect the
privacy of that origin.
2. To enable relaying, serving and reading agents to recognize
articles from origins which they might wish to reject, divert, or
otherwise handle specially, for reasons of site policy.
3. To enable the timely identification of spews af articles arising
from a common origin.
An injecting agent MUST NOT include any Injector-Info-header-
parameter unless it has positive evidence of its correctness. An
injecting agent MAY include other-header-parameters with x-token
attributes which will assist in identifying the origin of the
article.
6.1.1.1. The posting-host-parameter
If a dot-atom is present, it MUST be a FQDN identifying the specific
host from which the injecting agent received the article.
Alternatively, an IP address (dotted-quad or ipv6-numeric) identifies
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
injected.
NOTE: It is commonly the case that this header identifies a
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
the article.
6.1.1.2. The posting-account-parameter
This parameter identifies the source from which the injecting agent
received the article. It MAY be in a cryptic notation understandable
only by the administrator of the injecting agent, but it MUST be such
that a given source always gives rise to the same posting-account (if
the injecting agent is unable to meet that obligation, then it should
use a posting-logging-parameter instead).
6.1.1.3. The posting-sender-parameter
This parameter identifies the mailbox of the verified sender of the
article (alternatively, it uses the token "verified" to indicate that
at least any addr-spec in the Sender header of the article, or in the
From header if the Sender header is absent, is correct).
NOTE: An injecting agent is unlikely to be able to make use of
this parameter except in cases where it is running on a machine
which is aware of the user-space in which the posting agent is
operating. This parameter should be used in preference to a
posting-account-parameter in such situations.
6.1.1.4. The posting-logging-parameter
This parameter contains information (typically a serial number or a
session number) which will enable the true origin of the article to
be determined by reference to logging information kept by the
injecting agent.
6.1.1.5. The posting-date-parameter
This parameter identifies the time at which the article was injected
(as distinct from the Date header, which indicates when it was
written). It is in the form of the number of seconds elapsed since
January 1st 1970, optionally followed by a date-time which MUST
indicate the same time.
6.1.2. Example
Injector-Info: news2.isp.net; posting-host=modem-15.pop.isp.net;
posting-account=client0002623; logging-data=2427;
posting-date="965243133: Wed 2 Aug 2000 20:05:33 -0100 (BST)"
6.2. Complaints-To
The Complaints-To header is added to an article by an injecting agent
in order to indicate the mailbox to which complaints concerning the
poster of the article may be sent.
Complaints-To-content
= mailbox
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
an article arrives at an injecting agent MUST be removed. In
particular if, for some exceptional reason (8.2.2), an article gets
injected twice, the Complaints-To header will always relate to the
second injection.
The specified mailbox is for sending complaints concerning the
behaviour of the poster of the article; it SHOULD NOT be used for
matters concerning propagation, protocol problems, etc. In the
absence of this header, such complaints should be sent to "usenet@"
or "news@" the path-identity which was prepended to the Path header
by the injecting agent following section 5.6.2.
7. Changes to be made to section 8.2.2 ("Procedure to be followed by
Injecting Agents").
An injecting agent processes articles as follows:
1. It MUST remove any Injector-Info or Complaints-To header already
present (though it might be useful to copy them to suitable X-
headers). It SHOULD likewise remove any NNTP-Posting-Host or other
undocumented tracing header.
[Subsequent paragraphs will need renumbering.]
...
8 An Injector-Info header SHOULD be added, identifying the trusted
source of the article, and a suitable Complaints-To header MAY be
added (except that these two headers SHOULD NOT be added if the
article is to be forwarded to a moderator).
9. The injecting agent MAY add other headers not already provided by
the poster, but SHOULD NOT alter, delete or reorder any headers
already present in the article (except for headers intended for
tracing purposes, such as Injector-Info and Complaints-To, as
already mentioned). The injecting agent MUST NOT alter the body of
the article in any way.
[RFC 2373] R. Hinden and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[RFC 820] J. Postel and J. Vernon, "Assigned Numbers", RFC 820,
January 1983.
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Email: chl@clw.cs.man.ac.uk Web: http://www.cs.man.ac.uk/~chl
Voice/Fax: +44 161 437 4506 Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5