This is the 20 Feb 1993 Performance Release of C News, a minor update to the 2 May 1992 P.R. that just fixes some installation problems and a couple of annoying bugs. Everything that was in the "known.problems" file on UUNET as of 17 Feb 1993 has been fixed, in particular, as well as a couple of things that were noticed after those fixes went out. This release is more or less a halfway step to what we've been calling the "cleanup release". Its main claims to fame are (a) major modifications to improve performance for big-league sites with a lot of outgoing feeds, and (b) a reimplemented and much improved ihave/sendme subsystem. A number of changes planned for the cleanup release have also been started, although many of them are not yet finished. This release may have some rough edges yet: due to various complications, including Henry being seriously ill at an inconvenient time, it's not as well-polished as we usually prefer. We are not releasing patches to bring you up to this release -- they would be too big -- and will not be releasing patches to bring this one up to the cleanup release -- same reason. People who are happy with the older C News might want to wait for the cleanup release, which is still coming although behind schedule. People with performance problems or ihave/sendme problems probably want to install this one, though, and we'd welcome feedback on how well it behaves. A quick overview of changes: inews is now largely written in C and runs about 10 times as fast as the old one. anne.jones is gone; I wish I could say the same of its namesake. The state has no business in the movie theaters of the nation. The inews etc. machinery now puts articles into the in.coming spool directory rather than firing up relaynews directly. This may cause some delays in postings (although newsrun is now run rather more frequently if you use the recommended cron configuration), but avoids a swamp of problems with setuid, NFS, ulimit, etc etc. The ngmatch routine has been rewritten and extended to permit pre-parsing of frequently-matched patterns and to make the matching itself much faster. relaynews makes use of pre-parsing to cope rapidly with many and complex sys entries. news(5) has been split up due to its size and the resulting pages are better organised. documentation has been coalesced into a single Installation & Operations Guide (excluding manual pages), with a table of contents and an index. Newsrun is now much more careful about space checking (the December release introduced some problems in this area). It also copes better with an unwriteable or nonexistent in.coming/bad directory, which used to cause infinite loops and massive errlog bloat if any batch hit problems in relaynews. ihave/sendme has been reimplemented (twice!) and is now simpler to set up and faster to process ihave and sendme control messages. There is a start at a news mirroring and restoral facility (see relaynews(8)). relaynews now writes "master batch files" and so processes articles more quickly for sites with many outgoing feeds. There is a new exploder program to turn these quickly into normal batch files. Batching has changed to 16-bit compression as the default. 12-bit compression is still available for the few who need it. The space checkers are much more careful about some tricky issues, and include provisions for much better estimates of inode consumption. There is now an expireiflow command that can be run frequently to trigger an expire when space gets too low (assuming you're short of space and willing to run expire at random times). Addmissing has been revised to lock the news system only as needed, and generally is much more practical as something to run occasionally on an operational system rather than only as an emergency measure. Control messages with serious mischief potential are now delayed 24 hours, with a note to the local sysadmin. Newsdaily handles actual execution of the requests, which occurs only if the control message hasn't been cancelled meanwhile. This is done for both "sendsys" and "version"; "senduuname" is gone entirely. This scheme is somewhat vulnerable to sites that expire the "control" pseudo-newsgroup quickly anyway, but it seemed the simplest way of handling the increasing sendsys mess. There is an (incomplete, ill-documented) provision for controlling how the "newgroup" control message is handled. Newswatch has provisions to keep an eye out for space shortages. As usual, there have been assorted bits of cleanup and improvement that don't merit specific mention (and possibly some we should mention but have forgotten about).