NAME¶
history - record of current and recently expired Usenet articles
DESCRIPTION¶
The file
<pathdb in inn.conf>/history keeps a record of all
articles currently stored in the news system, as well as those that have been
received but since expired. In a typical production environment, this file
will be many megabytes.
The file consists of text lines. Each line corresponds to one article. The file
is normally kept sorted in the order in which articles are received, although
this is not a requirement.
Innd(8) appends a new line each time it
files an article, and
expire(8) builds a new version of the file by
removing old articles and purging old entries.
Each line consists of two or three fields separated by a tab, shown below as
\t:
[Hash] \t date
[Hash] \t date \t token
The
Hash field is the ASCII representation of the hash of the Message-ID
header. This is directly used for the key of the
dbz(3).
The
date field consists of three sub-fields separated by a tilde. All
sub-fields are the text representation of the number of seconds since the
epoch —
i.e., a
time_t; see
gettimeofday(2). The
first sub-field is the article's arrival date. If copies of the article are
still present then the second sub-field is either the value of the article's
Expires header, or a hyphen if no expiration date was specified. If an article
has been expired then the second sub-field will be a hyphen. The third
sub-field is the value of the article's Date header, recording when the
article was posted.
The
token field is a token of the article. This field is empty if the
article has been expired.
For example, an article whose Message-ID was
<7q2saq$sal$1@isrv4.pa.vix.com>, posted on 26 Aug 1999 08:02:34 GMT and
recieved at 26 Aug 1999 08:06:54 GMT, could have a history line (broken into
three lines for display) like the following:
[E6184A5BC2898A35A3140B149DE91D5C] \t
935678987~-~935678821 \t
@030154574F00000000000007CE3B000004BA@
In addition to the text file, there is a
dbz(3) database associated with
the file that uses the Message-ID field as a key to determine the offset in
the text file where the associated line begins. For historical reasons, the
key includes the trailing \0 byte (which is not stored in the text file).
HISTORY¶
Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews. This is
revision 3782, dated 2000-08-17.
SEE ALSO¶
dbz(3),
expire(8),
inn.conf(5),
innd(8),
makehistory(8).