NNTP README January 23, 1988 For version 1.5 NNTP package [See the file CHANGES to see differences between this version and older versions.] INTRODUCTION This package contains everything (well, most of it, I hope) that you'll need to implement a remote news server running the NNTP protocol. A brief tour of the directories and their programs: server Source for the NNTP news server daemon. rrnpatches Patches to rn #39 to allow remote news reading. inews A "mini-inews" written by Steven Grady which allows remote posting without changing much else. xmit An active transmission client for transferring news, written by Erik Fair; see note below. common Common stuff (response codes, configuration info, and some client library routines) for the the news server and the clients. The "conf.h" file here needs to be edited to reflect the peculiarities of your system. support Some support files and scripts. doc Documentation on the server, including manual pages. Manual pages for rrn are in rrn/. xfer A passive reception client which uses the NEWNEWS command to retrieve news from a remote server. Written by Brian Kantor, this software is UNSUPPORTED. Each directory has associated with it a README file. This file will try to give enough information for you to get things running and installed, but the README in each directory has more details for each subset of the NNTP package. You may also want to print a copy of doc/rfc977, which describes the NNTP protocol. INTRODUCTION TO NNTP INSTALLATION First, figure out what you are trying to do (this is good advice under most circumstances, and it is especially apropos here). NNTP can be used for two things: (1) Remote news reading, where news is stored on one machine and read from remote machines across a high-speed local area network such as Ethernet, and (2) News transfer, where news is transmitted to NNTP servers on remote machines over either local or long-haul networks. NNTP "server" machines are machines that have a full installation of USENET news on them. An NNTP process, the "server", allows remote sites to connect to the server machine and read or transfer news. The server machine DOES NOT NEED "reader client" software such as "rrn". It MAY NEED "transmission client" software such as "nntpxmit" if you want to use NNTP to transfer news. NNTP "client" machines do not have a full installation of USENET news on them. They get their news from an NNTP server machine across the network. They DO have NNTP "reader clients" such as "rrn" installed on them. In summary, >>> A full client installation of NNTP requires the following files (suitable for rdist, assuming standard directories): NEWS = ( /usr/local/{Pnews,Rnmail,inews,rn,rrn,newsetup,newsgroups,lib/rn} /usr/man/catl/{Pnews,Rnmail,rn,newsetup,newsgroups}.1 ) You DO NOT need any of the normal news junk (e.g., /usr/lib/news, postnews, checknews, readnews) on CLIENT systems. You DO need these on SERVER systems. An important note: The NNTP server assumes that the history file format is 2.11 or 2.10.3; therefore you need 2.11 news on your server machine. >>>>> Get 2.11 news if you don't have it. GENERAL INSTALLATION Time for a general and cohesive Plan: Regardless of whether you are making a server or a client NNTP setup, you will have to edit common/conf.h to reflect your system's setup. So, 1. Look at common/README. This will explain the stuff needs to be tailored for your system in common/conf.h. Make the necessary changes to reflect your system. If you are running with System V or Excelan TCP/IP, please read Stan Barber's instructions in common/README.SYSV If you have an HPUX machine, please read common/README.HPUX Now, at this point, what you do depends on whether you are installing a server system or a client system. SERVER INSTALLATION 2. Type "make server" in this directory. 3. Type "make install_server" in this directory. CLIENT INSTALLATION 2. You must configure "rrn", the remote newsreading client. cd into "rrnpatches", and read README_RRN. This will explain how to apply the patches supplied to turn rn #39 into rrn #39. 3. Type "make client" in this directory. 4. Type "make install_client" in this directory. IF YOU HAVE PROBLEMS You can get to me via electronic mail at the following addresses: Internet: phil@ucbvax.berkeley.edu UUCP: ...!ucbvax!phil Telephone (home): (415) 848-8409 Telephone (work): (415) 642-7447 I'm very interested in learning what hacks need to be made to nntpd to get it to work on various systems, and certainly, if there are outright bugs, please let me know. Bug reports and fixes for nntp are posted to the newsgroup "news.software.nntp". Announcements of new versions of nntp software are posted there too. I'll support bugs caused by my additions/hacks to turn "rn" into "rrn" (hopefully Larry Wall will be supporting this soon...) but please don't send me reports about things that were already in rn itself. Also, if you add features to rrn, I probably am not interested in supporting them unless they are really necessary; every change I make to rrn is something that I have to hack into future releases of rn, so the fewer changes, the better. ACKNOWLEDGEMENTS I'd like to thank the various people who both inspired and helped to make NNTP a reality: Erik Fair, whose criticism and suggestions helped mold NNTP (and who wrote the active transmission client); Brian Kantor, who really got me motivated enough to finish the thing, and whose work on the RFC was *tremendous*; Steven Grady, who wrote the inews interface (and wasted countless hours only to have his work dashed periodically...); Mike Meyer, who beta tested the software and pointed out numerous problems; Bob Henry, who let me have the resources so that it got done; Peter Yee, who repeated enough good ideas to get me to include them; all the folks who had patience with me and didn't go off and write this themselves (jsq, you listening? My thanks.); Chuq von Rospach and the members of lan-news; Gene Spafford for eliminating having to include 1 MB of source to rn by a set of patches; Matt Thomas for adding support for DECNET; Stan Barber for adding System V/Excelan support and putting up with my sloth; the kind folks who beta tested version 1.4 and put up with stupid bugs and provided helpful feedback, notably Craig Leres, Matt Thomas, Wengyik Yeong, and Stan Barber; all the individuals who have reported bugs or suggested improvements (see CHANGES for a list); and probably many other people I've neglected to mention. My thanks to all. Phil Lapsley 26 February 1988