home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff319.lzh / CNewsSrc / cnews.orig.lzh / README < prev    next >
Text File  |  1989-06-27  |  10KB  |  177 lines

  1. This is C News, superseding assorted preliminary releases.  9 June 1989
  2.  
  3. C News is a reimplementation of the transport and storage subsystems of the
  4. news software -- basically, everything except news readers.  We supply a
  5. simple news reader (written by Michael Rourke, included by permission,
  6. slightly modified [so bugs are probably our fault]) as a replacement for
  7. B-News readnews suited to use by occasional users.  For regular news users,
  8. there are several more sophisticated readers widely available, and all should
  9. work with C News.  We use Larry Wall's "rn" ourselves; we have not included
  10. it because this distribution is already rather big.
  11.  
  12. C News's major advantage over B News is that it is much faster.  Timings
  13. quite a while ago gave C News a speed advantage of roughly a factor of 25
  14. in processing incoming batches.  This has probably improved a bit since.
  15. C News is now, on good machines with good C libraries, mostly system-call
  16. bound.  Use of system calls has been optimized with some care, so it's
  17. unlikely that further big speed improvements can be made at user level
  18. without sacrificing backward compatibility.  See our paper in the Winter '87
  19. Usenix proceedings for some discussion of how the speed was achieved.
  20.  
  21. C News also wins over B News on simplicity and robustness.  We provide
  22. (in our opinion) everything that's necessary, and avoid the frills that
  23. run up the complexity and decrease reliability.  We have not attempted to
  24. provide every feature anyone can think of, and have no plans to do so
  25. in future either.  (This is one reason why we've stayed out of the news-
  26. reader business, which generally has a bad case of feature-of-the-week
  27. syndrome.)
  28.  
  29. C News's files are fully compatible with those of B News for any program
  30. that does not inspect the middle field of the history file closely.  (The
  31. one major program that does is "nntp"; we include diffs for NNTP 1.5 which
  32. handle our middle-field format, interface it to our input subsystem, and
  33. generally make it quite a bit faster than the original.)  C News complies
  34. fully with RFC 1036 (nee RFC 850), the official definition of news interchange
  35. format.
  36.  
  37. C News is, by intent and *we think* in practice, compatible with B News
  38. at the level of most interfaces to the normal user, which basically means
  39. the semantics and options of "inews".  It is *not* compatible on the
  40. system-administration level, although we think most of the changes are
  41. improvements or worthwhile simplifications.  The "postnews" that we supply
  42. is not compatible with that of B News; it is purely interactive, as news
  43. that is already formatted can simply be fed to "inews -h".
  44.  
  45. For those who now run one of our ancient pre-alpha versions, many things
  46. have changed, and in particular the four-field history file format is gone.
  47. C News has also changed quite a bit since the alpha release that went out
  48. on Usenet some time ago.
  49.  
  50. For our beta testers, build and the Makefiles have changed quite a bit but
  51. the software itself needed only fairly trivial fixes.
  52.  
  53. We know of three things that could still use work in this release:
  54.  
  55.     1. The documentation could use work, especially for naive customers.
  56.     As it stands, it pretty much assumes a general knowledge of news
  57.     software.
  58.  
  59.     2. There are a great number of small improvements that could
  60.     be made to the installation process, especially to permit still more
  61.     customization via the "build" program.
  62.  
  63.     3. The fgetmfs function (in the libc directory) assumes that fgets
  64.     does not alter the buffer beyond the end of the string.  We are not
  65.     sure how portable this is, although it works on all our beta-test
  66.     systems, and may revise fgetmfs someday.
  67.  
  68. The active file format is the 4-field one that B news introduced midway
  69. through 2.10, with minor additions: an `x' in the 4th field means
  70. ``discard articles in this newsgroup'', and `=group' in the 4th field
  71. means ``file articles for this newsgroup under `group' instead''.
  72.  
  73. The history file format is like B with one exception:  the second field,
  74. which few programs ever look at, now consists of two subfields separated
  75. by a tilde (~).  The first is the arrival date as a decimal number, the
  76. second is the expiry date (if any) as a human-readable date (as emitted by
  77. rnews) or a decimal number (after expire has gotten its hands on it once).
  78. Expire is tolerant of human-readable dates in both those places, but other
  79. things may not be.  The best way to get the history file into the new
  80. format is to rebuild it completely (this is RELATIVELY quick).
  81.  
  82. The sys file format is like a late-model B news with two extensions.
  83. First, the second field (groups and distributions) may optionally be
  84. split into two subfields (newsgroups and distributions, respectively)
  85. with a slash. This permits solutions to various tricky problems that can
  86. arise in odd situations if it is impossible to tell what's a newsgroup
  87. name and what's a distribution.  Second, there is a new flag in the
  88. third field:  f is like F except that its output has the size
  89. information that the C batcher wants for accurate limiting of batch
  90. size.
  91.  
  92. The way the news articles themselves are stored is totally unchanged; we
  93. have been unable to think of any changes that are worth the trouble.
  94.  
  95. There are some new control files in /usr/lib/news, to control the smarter
  96. expire and batcher.  (Old C News sites, note some format changes.)
  97.  
  98. File organization:  the one change is that programs are now kept mostly
  99. in /usr/lib/newsbin, with /usr/lib/news reserved for control files etc.
  100.  
  101. B News sites note:  /bin/rnews is now a front end for the input spooler.
  102. The real news-filing program is called relaynews and is not in /bin.
  103.  
  104. C News is meant to run adequately on a 16-bit machine, although this has
  105. not been tested thoroughly since utzoo became a Sun.
  106.  
  107. Most (by intent all) of the programs understand seven key environment
  108. variables: NEWSARTS specifies location of articles (default
  109. /usr/spool/news), NEWSCTL specifies location of control files (default
  110. /usr/lib/news), NEWSBIN gives location of programs (default
  111. /usr/lib/newsbin), NEWSUMASK gives the umask to be used in creating
  112. files (default 002), NEWSPATH gives the path used to find "normal" programs
  113. (default /bin:/usr/bin), NEWSMASTER is the address to which problem
  114. reports should be mailed (default usenet), and NEWSCONFIG is the full
  115. pathname of a little file that shell programs can use to pick up local
  116. default settings for all these things (the equivalent for the C programs
  117. is in the C News library) (default /usr/lib/news/bin/config).  The
  118. environment variables override the defaults for testing and for operation
  119. in funny situations.  Note that one or two things (e.g. relaynews), as
  120. distributed, will insist on renouncing setuid privileges if invoked with
  121. these overrides.
  122.  
  123. Be warned that the nntp stuff in nntpdiffs, and the simple news reader in
  124. rna, have not been gone over very well to make sure that they use the
  125. standard configuration mechanisms.  Hardwired pathnames may be present there,
  126. and in general the stuff there is not well fitted into our automatic-install
  127. machinery.
  128.  
  129. See ROADMAP for a run-down on what's where in the distribution.  See
  130. doc/install for how to install it.  Conf/build is the interactive setup
  131. program that does most of the work, or rather, sets up shell files which,
  132. when run, do most of the work.  Even if your system is odd enough that
  133. you don't want to run the shell files conf/build generates -- doit.bin and
  134. friends -- as is, you are most strongly advised to run conf/build and use
  135. the resulting shell files as guides, rather than trying to "wing it"
  136. yourself.  Getting the library built correctly is *NOT* trivial, because
  137. we try to cater to all 57000 different variants of Unix and there are a lot
  138. of decisions that have to be made.  This is why we supply a 31KB shell
  139. program to generate the configure+compile+install instructions, rather than
  140. just sending a complete pre-cooked recipe embodied in a Makefile:  there are
  141. too many variables affecting how it should be done.
  142.  
  143. C News has been tested pretty thoroughly.  We're also thoroughly sick of
  144. it and make no promises that there will ever be another release.  We may,
  145. repeat *may*, provide updates via some appropriate newsgroup (currently
  146. the best choice is "news.software.b", although there is some sentiment for
  147. folding all the subgroups there into just "news.software"; we oppose
  148. creation of "news.software.c" because we don't think there will be enough
  149. traffic to justify a whole newsgroup).
  150.  
  151. If you've found a problem, we definitely do want to hear about it.  But,
  152. we *do not* want to see 2000 lines of diff listing!  What we want to see
  153. is a concise human-readable description of what the problem is and how, 
  154. if at all, you solved it.  If we want the diff listing, we will ask.
  155. Similarly, we are interested in hearing about changes and improvements,
  156. but want to see terse descriptions first.
  157.  
  158. If you want us to consider changes/fixes/etc, send them to us, don't just
  159. post them to the net.  We don't necessarily read all possibly-relevant
  160. groups.  Only postings from us are officially part of C News.
  161.  
  162. To send comments, complaints, problem reports, etc., do *not* mail to
  163. Geoff or Henry personally, but to:
  164.  
  165.     c-news@utstat.toronto.edu
  166. aka    c-news@utstat.utoronto.ca
  167. aka    utzoo!utstat!c-news
  168.  
  169. Utstat.toronto.edu is directly on the Internet but does not have a lot of
  170. UUCP connections.  However, it does talk to utzoo.  Utzoo connects to half
  171. the known universe (well, not quite, but try via allegra, att, attcan,
  172. attunix, decvax, dptcdc, floyd, hoptoad, kitty, linus, mnetor, pyramid,
  173. suncan, utai, utgpu, watmath, or yunexus).
  174.  
  175.                     Geoff Collyer
  176.                     Henry Spencer
  177.