Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!bloom-beacon!wesommer
From: wesommer@athena.mit.edu (William Sommerfeld)
Newsgroups: news.misc
Subject: Re: Distributed Filesystems vs. NNTP at large sites.
Message-ID: 
Date: 26 Sep 89 22:35:23 GMT
References: <17735@looking.on.ca> <1989Sep20.060201.4473@rpi.edu>
	 <6307@ficc.uu.net>
Sender: daemon@bloom-beacon.MIT.EDU
Organization: /mit/wesommer/.organization
Lines: 62
In-reply-to: peter@ficc.uu.net's message of 26 Sep 89 11:21:40 GMT

In article <6307@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:

   This is an administrative problem, then... you don't trust the folks on your
   client workstations to not have hacked them?

They aren't "our" client workstations, in the sense that we don't
control them, we just share a network with them.  Pretty much anyone,
on any system within MIT on the campus network can read and post news
using our service.  We provide a recommended set of sources and
binaries for people to run to read news, but we don't require that
they use them.

   > The critical thing is the invariants which have to be maintained
   > across the various news databases (/usr/spool/news/*, and the history
   > and active files).

   [ response indicating that I wasn't clear enough the first time ]

I was hoping to save bandwith by assuming that the following was
common knowledge, but I guess I was wrong.

There's one copy of all this information, located on
bloom-beacon.mit.edu .

It is distributed across several files (/usr/lib/news/history,
/usr/lib/news/active, and the tree under /usr/spool/news).

There are a number of invariants which must be maintained by a program
wishing to modify this database; some of these include:

0) Each directory under /usr/spool/news must have an associated line
in /usr/lib/news/active, which lists the minimum and maximum article
numbers in that group; the minimum article number must be less than or
equal to the maximum article number.

1) Any file in a directory under /usr/spool/news must be in the proper
format (defined in RFC???), containing at least a Message-ID: field;
the last component of the name must consist entirely of decimal
digits, with a value not more than the maximum article number nor less
than the minimum article number for the group.

2) Each message-ID must appear on a line in /usr/lib/news/history,
along with the names of the file that it corresponds to.

3) No more than one file under /usr/spool/news may use a given Message-ID
string listed in /usr/lib/news/history.

If any of these invariants are broken then news will malfunction to
some lesser or greater degree.

In order to maintain these invariants, the news administrator must
have control over all software which modifies the underlying
representation of the news database.  One way to do this is to be the
system administrator for all systems which may access the news
database; this is not practical at a large site.  Another way is to
provide a high-level, abstract interface to the news database that
controls and protects the underlying database; that is what NNTP
provides.

						- Bill

--