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 --