[comp.sources.bugs] nntp 1.5.9 patch kit part 1 of 3

nntp@lib.tmc.edu (Stan Barber) (07/10/90)

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	AUTHORIZE
#	CHANGES.diff
#	Makefile.diff
#	README.1.5.9
#	README.diff
#	common
# This archive created: Tue Jul 10 00:04:48 1990
export PATH; PATH=/bin:$PATH
echo shar: extracting "'AUTHORIZE'" '(2231 characters)'
if test -f 'AUTHORIZE'
then
	echo shar: will not over-write existing file "'AUTHORIZE'"
else
sed 's/^	X//' << \SHAR_EOF > 'AUTHORIZE'
	XVersion 1.5.9 of NNTP contains Brian Kantor's authorization scheme described
	Xin the proposed NNTP Version 2 specification. This proposal is not published
	Xat this time. 
	X
	XHere is how it works:
	X
	X	Two files are involved on the server: the nntp access file and
	X	the system password file. The semantics of the nntp access
	X	file have changed a little. read access DOES NOT imply xfer
	X	capability. For a site to have both, a new token "both" has been added.
	X
	X	If any of the tokens (READ,XFER,BOTH,POST) are capitalized and 
	X	AUTH was defined in common/conf.h, then authentication will be
	X	required.
	X
	X	The client program will send "authinfo user USERID" and then
	X	"authinfo pass PASSWORD" which will be checked in two ways.
	X	First, the userid and password will be validated against the
	X	entry in /etc/passwd. Next, that user will be checked to insure
	X	that s/he is part of the "nntp" group. If both conditions are
	X	satisfied, the authentication is complete. The user entry in 
	X	/etc/passwd should have some sort of innocuous program (say /bin/sync)
	X	as the shell, in case the password becomes compromised.
	X
	X	Currently, only nntpxmit and inews have the AUTH routines in them.
	X	On each client machine on which authentication will be required,
	X	a authenication file will need to be created. This location of
	X	this file is specified in common/conf.h as PASSFILE. The format of
	X	this file is "nntp_server userid password" in plain text. Therefore,
	X	you should protect this file with 600, have it owned by "usenet"
	X	or "news" and setuid inews to that user. Note that this file is
	X	required for each CLIENT, but not on the SERVER.
	X
	X	Obviously, this is not a complete solution, but this software
	X	if provided as a first step towards solving the problem of 
	X	poster/reader authentication. Expansions of this process in line
	X	with the NNTP version 2 spec are welcome. Kerberos or equivalent
	X	is really the way to go for this sort of thing. We'd welcome code
	X	from someone who implements the version 2 spec using such a scheme.
	X	Comments about the spec	should be sent to brian@ucsd.edu. Code
	X	should be sent to nntp@lib.tmc.edu.
	X
	XEnjoy,
	X
	X BRIAN KANTOR  &   STAN BARBER
	Xbrian@ucsd.edu   nntp@lib.tmc.edu
	X	
	X
	X$Revision: 1.1 $
	X$Date: 90/07/05 01:49:55 $
SHAR_EOF
if test 2231 -ne "`wc -c < 'AUTHORIZE'`"
then
	echo shar: error transmitting "'AUTHORIZE'" '(should have been 2231 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'CHANGES.diff'" '(2299 characters)'
if test -f 'CHANGES.diff'
then
	echo shar: will not over-write existing file "'CHANGES.diff'"
else
sed 's/^	X//' << \SHAR_EOF > 'CHANGES.diff'
	X*** CHANGES	Fri Mar  9 22:31:07 1990
	X--- ../nntp/CHANGES	Sun Jul  8 03:12:52 1990
	X***************
	X*** 2,7
	X  since the initial release.  Individuals who either reported the bug or
	X  inspired the bug fix are in square brackets.
	X  
	X  1.5.8
	X  	Better support for SCO Xenix 2.3 with TCP/IP. [sob@bcm.tmc.edu]
	X  	Better integration of nntpxmit and nntpxfer with the rest of the
	X
	X--- 2,35 -----
	X  since the initial release.  Individuals who either reported the bug or
	X  inspired the bug fix are in square brackets.
	X  
	X+ 1.5.9
	X+ 	Incorporation of proposed NNTP version 2 authentication scheme.
	X+ 	    This is a trial and can be disabled if necessary. [brian@ucsd.edu]
	X+ 	Minor fixes to nntpxmit to use more configuration information from
	X+ 	common/conf.h. [trinkle@cs.purdue.edu]
	X+ 	Fixed space checking code that has been tested more throughly!
	X+ 	[eckert@informatik.uni-erlangen.de]
	X+ 	Modifications to batch and spawn to correctly invoke inews when
	X+ 	using Cnews. [gengenbach@forwiss.uni-passau.de]
	X+ 	Bug fix to nextlast.c to return correct message when moving back
	X+ 	and forth within a group. [kent@ssbell.IMD.Sterling.COM]
	X+ 	Removed the presumption that USG means you don't have DBM from conf.h.
	X+ 	[Mark Warren <mwarren@mips2.cr.bull.com>]
	X+ 	Increased security so that running nntpd as root would not necessarily
	X+ 	mean running inews as root.[paul@uxc.cso.uiuc.edu,vixie@decwrl.dec.com]
	X+ 	Fixed the nntpd start and stop time calculations.
	X+ 	[del@thrush.mlb.semi.harris.com, eggert@twinsun.com]
	X+ 	Fixed the Path: produced by mini-inews so that cnews will do the
	X+ 	right thing. [del@thrush.mlb.semi.harris.com (Don Lewis)]
	X+ 	Added the include directive for <vfork.h> on sparc computers to insure
	X+ 	bad things don't happen when we vfork in spawn.c and batch.c.
	X+ 	[eggert@twinsun.com]
	X+ 	In nntpxmit, BSD_43 and BSD_42 mean the same thing now.
	X+ 	[John Robert LoVerso <loverso@Xylogics.COM>]
	X+ 	Added the option of setting the process title to indicate what
	X+ 	NNTPD is doing much like sendmail does. [asp@uunet.uu.net]
	X+ 	Added fixes to make nntp work on Apollo. [jnp@tele.nokia.fi]
	X+ 	Added nntpxmit.dst to doc directory. [pab@naucse.cse.nau.edu]
	X  1.5.8
	X  	Better support for SCO Xenix 2.3 with TCP/IP. [sob@bcm.tmc.edu]
	X  	Better integration of nntpxmit and nntpxfer with the rest of the
SHAR_EOF
if test 2299 -ne "`wc -c < 'CHANGES.diff'`"
then
	echo shar: error transmitting "'CHANGES.diff'" '(should have been 2299 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Makefile.diff'" '(3898 characters)'
if test -f 'Makefile.diff'
then
	echo shar: will not over-write existing file "'Makefile.diff'"
else
sed 's/^	X//' << \SHAR_EOF > 'Makefile.diff'
	X*** Makefile	Sun Mar 11 18:03:17 1990
	X--- ../nntp/Makefile	Thu Jul  5 01:51:32 1990
	X***************
	X*** 1,6
	X  #
	X  # Makefile for NNTP intstallation
	X! #
	X  # set CFLAGS to be -Ipath/to/special/includes if needed
	X  CFLAGS= -O 
	X  # set LIBS to be -lneededlibrary if needed
	X
	X--- 1,6 -----
	X  #
	X  # Makefile for NNTP intstallation
	X! # $Header: Makefile,v 1.2 90/07/05 01:51:30 sob Exp $
	X  # set CFLAGS to be -Ipath/to/special/includes if needed
	X  CFLAGS= -O 
	X  # set LIBS to be -lneededlibrary if needed
	X***************
	X*** 4,10
	X  # set CFLAGS to be -Ipath/to/special/includes if needed
	X  CFLAGS= -O 
	X  # set LIBS to be -lneededlibrary if needed
	X! LIBS=
	X  
	X  DISTFILES = Makefile README CHANGES rrnpatches
	X  
	X
	X--- 4,10 -----
	X  # set CFLAGS to be -Ipath/to/special/includes if needed
	X  CFLAGS= -O 
	X  # set LIBS to be -lneededlibrary if needed
	X! LIBS=-ldbm
	X  
	X  DISTFILES = Makefile README CHANGES
	X  
	X***************
	X*** 6,12
	X  # set LIBS to be -lneededlibrary if needed
	X  LIBS=
	X  
	X! DISTFILES = Makefile README CHANGES rrnpatches
	X  
	X  DISTDIRS = common doc inews server support xfer xmit
	X  
	X
	X--- 6,12 -----
	X  # set LIBS to be -lneededlibrary if needed
	X  LIBS=-ldbm
	X  
	X! DISTFILES = Makefile README CHANGES
	X  
	X  DISTDIRS = common doc inews server support xfer xmit
	X  
	X***************
	X*** 28,38
	X  	@ echo "See README for details."
	X  
	X  make_server: /nowhere
	X! 	cd server; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd support; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd doc; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd xmit; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd xfer; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X  
	X  server: make_server
	X  
	X
	X--- 28,38 -----
	X  	@ echo "See README for details."
	X  
	X  make_server: /nowhere
	X! 	cd server; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd support; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd doc; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd xmit; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd xfer; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X  
	X  server: make_server
	X  
	X***************
	X*** 37,44
	X  server: make_server
	X  
	X  make_client: /nowhere
	X! 	cd inews; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd doc; make "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X  
	X  client: make_client
	X  
	X
	X--- 37,44 -----
	X  server: make_server
	X  
	X  make_client: /nowhere
	X! 	cd inews; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X! 	cd doc; $(MAKE) $(MFLAGS) "LIBS=${LIBS}" "CFLAGS=${CFLAGS}"
	X  
	X  client: make_client
	X  
	X***************
	X*** 60,66
	X  	cd doc; make install
	X  
	X  clean:
	X! 	rm  -f .[a-z]* ; for i in $(DISTDIRS); do cd $$i; make clean; cd ..; done
	X  
	X  check:
	X  	for i in $(DISTDIRS); do cd $$i; make check; cd ..; done
	X
	X--- 60,66 -----
	X  	cd doc; make install
	X  
	X  clean:
	X! 	rm  -f .[a-z]* ; for i in $(DISTDIRS); do cd $$i; $(MAKE) $(MFLAGS) clean; cd ..; done
	X  
	X  check:
	X  	for i in $(DISTDIRS); do cd $$i; $(MAKE) $(MFLAGS) check; cd ..; done
	X***************
	X*** 63,69
	X  	rm  -f .[a-z]* ; for i in $(DISTDIRS); do cd $$i; make clean; cd ..; done
	X  
	X  check:
	X! 	for i in $(DISTDIRS); do cd $$i; make check; cd ..; done
	X  
	X  distrib: check
	X  	mkdir ../nntp.dist
	X
	X--- 63,69 -----
	X  	rm  -f .[a-z]* ; for i in $(DISTDIRS); do cd $$i; $(MAKE) $(MFLAGS) clean; cd ..; done
	X  
	X  check:
	X! 	for i in $(DISTDIRS); do cd $$i; $(MAKE) $(MFLAGS) check; cd ..; done
	X  
	X  distrib: check
	X  	mkdir ../nntp.dist
	X***************
	X*** 68,74
	X  distrib: check
	X  	mkdir ../nntp.dist
	X  	cp -rp $(DIST) ../nntp.dist
	X! 	cd ../nntp.dist; for i in $(DISTDIRS); do cd $$i; make distrib; cd ..; done
	X  
	X  rpt: /nowhere
	X  	tar cf rrnpatches.tar rrnpatches; compress rrnpatches.tar
	X
	X--- 68,74 -----
	X  distrib: check
	X  	mkdir ../nntp.dist
	X  	cp -rp $(DIST) ../nntp.dist
	X! 	cd ../nntp.dist; for i in $(DISTDIRS); do cd $$i; $(MAKE) $(MFLAGS) distrib; cd ..; done
	X  
	X  rpt: /nowhere
	X  	tar cf rrnpatches.tar rrnpatches; compress rrnpatches.tar
SHAR_EOF
if test 3898 -ne "`wc -c < 'Makefile.diff'`"
then
	echo shar: error transmitting "'Makefile.diff'" '(should have been 3898 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'README.1.5.9'" '(3328 characters)'
if test -f 'README.1.5.9'
then
	echo shar: will not over-write existing file "'README.1.5.9'"
else
sed 's/^	X//' << \SHAR_EOF > 'README.1.5.9'
	XWelcome to patch number 9 for NNTP 1.5.
	X
	X	If you have not installed the first eight patches, you must do so
	X	before proceeding. You can get those patches (and this one) from
	X	anoymous ftp on bcm.tmc.edu [128.249.2.1] or by sending a message
	X	to the archive-server@bcm.tmc.edu with the following text:
	X	send public nntp.patch.1
	X	send public nntp.patch.2
	X	send public nntp.patch.3
	X	send public nntp.patch.4.shar
	X	send public nntp.patch.5.shar
	X	send public nntp.patch.6.shar
	X	send public nntp.patch.7.shar
	X	send public nntp.patch.8.pt1.shar
	X	send public nntp.patch.8.pt2.shar
	X
	X	If you have all eight patches installed, you are ready to install
	X	this set of patches. These patches are packaged as a shell archive.
	X	They are as follows:
	X	CHANGES.diff  -- This will patch the CHANGES file in the root
	X	of the nntp distrbution to reflect changes since the release of 1.5.
	X	To install, just type patch < CHANGES.diff
	X	README.diff  -- This will patch the README file in the root
	X	of the nntp distrbution to make it more accurate. 
	X	To install, just type patch < README.diff
	X	server.diff -- This patch is for the files in the server subdirectory.
	X	Makefile.diff  -- This will patch the Makefile file in the root
	X	of the nntp distrbution to make it more useful.
	X	To install, just type patch < Makefile.diff
	X	server.diff -- This patch is for the files in the server subdirectory.
	X	To install, change directory to the server directory and type
	X	patch < server.diff.
	X	common.diff -- This patch is for the files in the common subdirectory.
	X	To install, change directory to the common directory and type
	X	patch < common.diff
	X	xfer.diff -- This is a patch for nntpxfer.c in the xfer directory.
	X	To install, change directory to the xfer directory and type
	X	patch < xfer.diff.
	X	xmit.diff -- This is a patch for the files in the xmit directory.
	X	To install, change directory to the xmit directory and type
	X	patch < xmit.diff.
	X	doc.diff -- This is a patch for nntpd.dst in the doc directory.
	X	To install, change directory to the doc directory and type
	X	patch < doc.diff.
	X	inews.diff -- This patch is for the files in the inews subdirectory.
	X	To install, change directory to the inews directory and type
	X	patch < inews.diff.
	X
	XThe following are new files included with NNTP for the first time:
	XAUTHORIZE
	Xserver/auth.c
	Xxmit/xmitauth.c
	Xinews/postauth.c
	Xdoc/nntpxmit.dst
	X	
	XPlease read the CHANGES file (following application of the patch) for
	Xa list of new features/bug fixes. This release contains the initial 
	Xversion of the proposed NNTP V2 authentication feature. Please be sure that
	Xyour read the file AUTHORIZE if you want to use it. The meaning of the verbs
	Xin the nntp access file have been altered slightly. Be sure to read the revised
	Xnntpd man page for more information.
	X
	XBug reports and enhancements welcome,
	XStan Barber
	Xnntp@lib.tmc.edu
	X
	XP.S. This patched version of NNTP has been compiled on the following systems:
	X
	XVax 3600 running Ultrix 3.1 (BNEWS 2.11.19)
	XSolbourne Series 5/601 with OS/MP 4.0C (SunOS 4.0.3c compatible) (Same BNEWS)
	XHP 9000/825 running HP-UX A.B3.00.5B
	X
	XP.P.S. The fully patched version is available via anonymous ftp from
	Xlib.tmc.edu [129.106.5.1]. Look in the public directory for nntp.1.5.9.tar.
	XA compressed version is also on line.
	X
	XP.P.P.S. There will most likely be a release 1.5.10 before we get to 1.6. 
	X
	X
	X
	X
	X
SHAR_EOF
if test 3328 -ne "`wc -c < 'README.1.5.9'`"
then
	echo shar: error transmitting "'README.1.5.9'" '(should have been 3328 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'README.diff'" '(4653 characters)'
if test -f 'README.diff'
then
	echo shar: will not over-write existing file "'README.diff'"
else
sed 's/^	X//' << \SHAR_EOF > 'README.diff'
	X*** README	Sat Nov 11 02:07:51 1989
	X--- ../nntp/README	Thu Jul  5 01:55:42 1990
	X***************
	X*** 1,4
	X! NNTP README		November 10, 1989   For version 1.5.7 of NNTP
	X  
	X  [See the file CHANGES to see differences between this version and
	X  older versions.]
	X
	X--- 1,4 -----
	X! NNTP README		July 4, 1990  (NNTP 1.5.9)
	X  
	X  [See the file CHANGES to see differences between this version and
	X  older versions.]
	X***************
	X*** 33,39
	X  	xfer		A passive reception client which uses the
	X  			NEWNEWS command to retrieve news from a remote
	X  			server.  Written by Brian Kantor, this software
	X! 			is UNSUPPORTED.
	X  
	X       Each directory has associated with it a README file.
	X  This file will try to give enough information for you to get things
	X
	X--- 33,39 -----
	X  	xfer		A passive reception client which uses the
	X  			NEWNEWS command to retrieve news from a remote
	X  			server.  Written by Brian Kantor, this software
	X! 			works more or less. Bug reports are welcome.
	X  
	X       Each directory has associated with it a README file.
	X  This file will try to give enough information for you to get things
	X***************
	X*** 65,71
	X  
	X       In summary,
	X  
	X! 	>>> A full client installation of NNTP requires the following
	X  	    files (suitable for rdist, assuming standard directories):
	X  
	X  NEWS = ( /usr/local/{Pnews,Rnmail,inews,rn,rrn,newsetup,newsgroups,lib/rn}
	X
	X--- 65,71 -----
	X  
	X       In summary,
	X  
	X! 	>>> A full client installation of NNTP may require the following
	X  	    files (suitable for rdist, assuming standard directories):
	X  
	X  NEWS = ( /usr/local/bin/{Pnews,Rnmail,inews,rn,rrn,newsetup,newsgroups}
	X***************
	X*** 68,74
	X  	>>> A full client installation of NNTP requires the following
	X  	    files (suitable for rdist, assuming standard directories):
	X  
	X! NEWS = ( /usr/local/{Pnews,Rnmail,inews,rn,rrn,newsetup,newsgroups,lib/rn}
	X  	/usr/man/catl/{Pnews,Rnmail,rn,newsetup,newsgroups}.1 )
	X  
	X  	    You DO NOT need any of the normal news junk (e.g.,
	X
	X--- 68,75 -----
	X  	>>> A full client installation of NNTP may require the following
	X  	    files (suitable for rdist, assuming standard directories):
	X  
	X! NEWS = ( /usr/local/bin/{Pnews,Rnmail,inews,rn,rrn,newsetup,newsgroups}
	X! 	/usr/local/lib/rn 
	X  	/usr/man/catl/{Pnews,Rnmail,rn,newsetup,newsgroups}.1 )
	X  
	X  	    You DO NOT need any of the normal news junk (e.g.,
	X***************
	X*** 72,78
	X  	/usr/man/catl/{Pnews,Rnmail,rn,newsetup,newsgroups}.1 )
	X  
	X  	    You DO NOT need any of the normal news junk (e.g.,
	X! 	    /usr/lib/news, postnews, checknews, readnews) on CLIENT
	X  	    systems.
	X  
	X  	    You DO need these on SERVER systems.
	X
	X--- 73,79 -----
	X  	/usr/man/catl/{Pnews,Rnmail,rn,newsetup,newsgroups}.1 )
	X  
	X  	    You DO NOT need any of the normal news junk (e.g.,
	X! 	    /usr/lib/news, /usr/spool/news, /usr/spool/batch) on CLIENT
	X  	    systems.
	X  
	X  	    You DO need these on SERVER systems.
	X***************
	X*** 97,104
	X  	needs to be tailored for your system in common/conf.h.
	X  	Make the necessary changes to reflect your system.
	X  
	X! 	If you are running with System V or Excelan TCP/IP,
	X! 	please read the instructions in common/README.SYSV
	X  
	X  	If you have an HPUX machine, please read common/README.HPUX
	X  
	X
	X--- 98,105 -----
	X  	needs to be tailored for your system in common/conf.h.
	X  	Make the necessary changes to reflect your system.
	X  
	X! 	There are special READMEs for certain types of systems.
	X! 	Look them over and see if they apply to you.
	X  
	X       Now, at this point, what you do depends on whether you are
	X  installing a server system or a client system.
	X***************
	X*** 100,107
	X  	If you are running with System V or Excelan TCP/IP,
	X  	please read the instructions in common/README.SYSV
	X  
	X- 	If you have an HPUX machine, please read common/README.HPUX
	X- 
	X       Now, at this point, what you do depends on whether you are
	X  installing a server system or a client system.
	X  
	X
	X--- 101,106 -----
	X  	There are special READMEs for certain types of systems.
	X  	Look them over and see if they apply to you.
	X  
	X       Now, at this point, what you do depends on whether you are
	X  installing a server system or a client system.
	X  
	X***************
	X*** 124,131
	X  
	X       You can get to me via electronic mail at the following addresses:
	X  
	X! 	Internet:		sob@bcm.tmc.edu
	X! 	UUCP:			...!bcm!sob
	X  	Telephone (work):	(713) 798-6042
	X  
	X       I'm very interested in learning what hacks need to be made to
	X
	X--- 123,130 -----
	X  
	X       You can get to me via electronic mail at the following addresses:
	X  
	X! 	Internet:		nntp@lib.tmc.edu
	X! 	UUCP:			...!bcm!nntp
	X  	Telephone (work):	(713) 798-6042
	X  
	X       I'm very interested in learning what hacks need to be made to
SHAR_EOF
if test 4653 -ne "`wc -c < 'README.diff'`"
then
	echo shar: error transmitting "'README.diff'" '(should have been 4653 characters)'
fi
fi # end of overwriting check
if test ! -d 'common'
then
	echo shar: creating directory "'common'"
	mkdir 'common'
fi
echo shar: entering directory "'common'"
cd 'common'
echo shar: extracting "'common.diff'" '(19120 characters)'
if test -f 'common.diff'
then
	echo shar: will not over-write existing file "'common.diff'"
else
sed 's/^	X//' << \SHAR_EOF > 'common.diff'
	X*** README.XENIX	Sun Mar 11 17:31:12 1990
	X--- ../../nntp/common/README.XENIX	Thu Jul  5 02:09:48 1990
	X***************
	X*** 5,13
	X  
	X  2. Edit common/conf.h. Make sure you define USG and LAI_TCP. Look at all the
	X  other stuff in there to be sure you have defined all the other things
	X! you need. (You will most likely need to vfork and FAKESYSLOG. You will most 
	X! likely need to undefine FASTFORK, and BSD_42. You will need to undefine SYSLOG
	X! if you don't define FAKESYSLOG.)
	X  
	X  3. Edit Makefile. Make sure to add "-lx -lsocket" to the LIBS line.
	X  
	X
	X--- 5,13 -----
	X  
	X  2. Edit common/conf.h. Make sure you define USG and LAI_TCP. Look at all the
	X  other stuff in there to be sure you have defined all the other things
	X! you need. (You will most likely need to define vfork and FAKESYSLOG. You will
	X! most likely need to undefine FASTFORK, and BSD_42. You will need to undefine
	X! SYSLOG if you don't define FAKESYSLOG.)
	X  
	X  3. Edit Makefile. Make sure to add "-lx -lsocket" to the LIBS line.
	X  
	X***************
	X*** 18,22
	X  If you have problems, send mail to sob@tmc.edu and he will help if he
	X  can.
	X  
	X! Stan Barber (3/11/90)
	X  
	X
	X--- 18,24 -----
	X  If you have problems, send mail to sob@tmc.edu and he will help if he
	X  can.
	X  
	X! Stan Barber (6/30/90)
	X! 
	X! $Revision: 1.2 $
	X  
	X*** README	Sun Mar 11 18:14:05 1990
	X--- ../../nntp/common/README	Thu Jul  5 02:06:58 1990
	X***************
	X*** 32,37
	X  certain code.  The options should be "#undef"ed if you don't want
	X  them, and "#defined" if you do.
	X  
	X  ALONE		(undefined)
	X  
	X       Defines whether we're a stand alone version of the server, or
	X
	X--- 32,43 -----
	X  certain code.  The options should be "#undef"ed if you don't want
	X  them, and "#defined" if you do.
	X  
	X+ AUTH		(defined)
	X+ 
	X+      Defines whether we want to use the experimental NNTP Version 2
	X+ Authorization process. Read the file AUTHORIZATION in the root directory of
	X+ the NNTP distribution for more information.
	X+ 
	X  ALONE		(undefined)
	X  
	X       Defines whether we're a stand alone version of the server, or
	X***************
	X*** 99,104
	X  to collect incoming articled into a file which periodically is sent to the
	X  incoming news processor. 
	X  
	X  EXCELAN		(undefined)
	X  	This will compile in support for the EXCELAN EXOS TCP/IP routines.
	X  It is known to work with Unisys 5000-series computer.
	X
	X--- 105,114 -----
	X  to collect incoming articled into a file which periodically is sent to the
	X  incoming news processor. 
	X  
	X+ LAI_TCP		(undefined)
	X+ 	This should be defined if you are compiling on SCO Xenix with TCP/IP.
	X+ It make work on other systems as well.
	X+ 
	X  EXCELAN		(undefined)
	X  	This will compile in support for the EXCELAN EXOS TCP/IP routines.
	X  It is known to work with Unisys 5000-series computer.
	X***************
	X*** 108,115
	X  
	X  SIGRET		(defined)
	X       This should be defined to be int or void depending on what
	X! signals return on your system. SunOS 4.X and IRIX return void. Most others
	X! return int.
	X  
	X  MINFREE		(4000)
	X  	This is the minimum number of kbytes or blocks (depending on what the
	X
	X--- 118,125 -----
	X  
	X  SIGRET		(defined)
	X       This should be defined to be int or void depending on what
	X! signals return on your system. SunOS 4.X Ultrix 3.X and IRIX return void.
	X! Most others return int.
	X  
	X  MINFREE		(4000)
	X  	This is the minimum number of kbytes or blocks (depending on what the
	X***************
	X*** 121,127
	X  blocks or kbytes available. This allows posting to continue while XFERs are
	X  stopped.
	X  
	X! MINFREE		(undefined)
	X  	This is the minimum number of inodes that must be available on the
	X  news spool partition before nntp will allow any function that will create 
	X  more files. If you define this, please be careful not to make it a large 
	X
	X--- 131,137 -----
	X  blocks or kbytes available. This allows posting to continue while XFERs are
	X  stopped.
	X  
	X! MINFILES	(MINFREE/4)
	X  	This is the minimum number of inodes that must be available on the
	X  news spool partition before nntp will allow any function that will create 
	X  more files. If you define this, please be careful not to make it a large 
	X***************
	X*** 127,132
	X  more files. If you define this, please be careful not to make it a large 
	X  number. I recommend something around MINFREE/4.
	X  
	X  vfork		(undefined)
	X  
	X       If you DON'T have vfork, replace this line with:
	X
	X--- 137,147 -----
	X  more files. If you define this, please be careful not to make it a large 
	X  number. I recommend something around MINFREE/4.
	X  
	X+ SETPROCTITLE	(defined)
	X+ 	This will replace the process name with information about what nntp
	X+ is doing. This is known to work on BSD-flavored Unix, but may not work on
	X+ USG Unix.
	X+ 
	X  vfork		(undefined)
	X  
	X       If you DON'T have vfork, replace this line with:
	X***************
	X*** 258,263
	X  or $DOTDIR/.signature does not exist, $HOME/.signature will be used instead.
	X  This is similiar to the behavior of rn.
	X  
	X  FCNTL		(defined if SYSV is defined)
	X  
	X  	Some systems define things like O_RDONLY, etc. in <fcntl.h>.
	X
	X--- 273,282 -----
	X  or $DOTDIR/.signature does not exist, $HOME/.signature will be used instead.
	X  This is similiar to the behavior of rn.
	X  
	X+ PASSFILE	(/etc/nntp.sys)
	X+ 	This file contains the password authentication information that the
	X+ client uses if AUTH is defined and in use.
	X+ 
	X  FCNTL		(defined if SYSV is defined)
	X  
	X  	Some systems define things like O_RDONLY, etc. in <fcntl.h>.
	X***************
	X*** 393,399
	X  
	X  SPOOLDIR	("/usr/spool/news")
	X  
	X!      This is the directory where news is stored.
	X  
	X  RNEWS		("/usr/bin/rnews")
	X  
	X
	X--- 412,418 -----
	X  
	X  SPOOLDIR	("/usr/spool/news")
	X  
	X!      This is the directory where news is stored on the server.
	X  
	X  RNEWS		("/usr/bin/rnews")
	X  
	X*** conf.h	Mon Oct 30 01:20:38 1989
	X--- ../../nntp/common/conf.h	Thu Jul  5 01:48:29 1990
	X***************
	X*** 6,11
	X  /*
	X   * Compile time options.
	X   */
	X  
	X  #undef	ALONE		/* True if we're running without inetd */
	X  #undef	FASTFORK	/* True if we don't want to read active file on start */
	X
	X--- 6,13 -----
	X  /*
	X   * Compile time options.
	X   */
	X+   
	X+ #define	AUTH		/* Define if you want simple authentication */
	X  
	X  #undef	ALONE		/* True if we're running without inetd */
	X  #undef	FASTFORK	/* True if we don't want to read active file on start */
	X***************
	X*** 38,44
	X  #undef U_LONG		/* Define this if your <sys/types.h> is missing */
	X  			/* typedefs for u_long */
	X  
	X! #define SIGRET int	/* Newfangled signal() returns void, old returns int */
	X  
	X  #define MINFREE 4000	/* NNTP will not allow an XFER if there is less */
	X  			/* than this much diskspace (in blocks or kbytes) */
	X
	X--- 40,46 -----
	X  #undef U_LONG		/* Define this if your <sys/types.h> is missing */
	X  			/* typedefs for u_long */
	X  
	X! #define SIGRET void	/* Newfangled signal() returns void, old returns int */
	X  
	X  #define MINFREE 4000	/* NNTP will not allow an XFER if there is less */
	X  			/* than this much diskspace (in blocks or kbytes) */
	X***************
	X*** 44,49
	X  			/* than this much diskspace (in blocks or kbytes) */
	X  #define POSTBUFFER 1000 /* NNTP will allow local posting until
	X  			       MINFREE-POSTBUFFER blocks or kbytes are left */
	X  /*
	X   * If you DON'T have vfork, make this "#define vfork fork"
	X   * vfork will speed up article transfer nntpds by about 2.5 times.
	X
	X--- 46,52 -----
	X  			/* than this much diskspace (in blocks or kbytes) */
	X  #define POSTBUFFER 1000 /* NNTP will allow local posting until
	X  			       MINFREE-POSTBUFFER blocks or kbytes are left */
	X+ #define SETPROCTITLE	/* if you want status visable via ps */
	X  /*
	X   * If you DON'T have vfork, make this "#define vfork fork"
	X   * vfork will speed up article transfer nntpds by about 2.5 times.
	X***************
	X*** 85,91
	X  #define	SYSLOG	LOG_NEWS
	X  
	X  #ifdef SYSLOG		/* Define LOG if you want copious logging info */
	X! #undef	 LOG		/* undef it if you don't */
	X  #endif			/* but you can only have LOG if you have SYSLOG */
	X  
	X  #ifdef BSD_42		/* This is a logical, warranted assumption */
	X
	X--- 88,94 -----
	X  #define	SYSLOG	LOG_NEWS
	X  
	X  #ifdef SYSLOG		/* Define LOG if you want copious logging info */
	X! #define	 LOG		/* undef it if you don't */
	X  #endif			/* but you can only have LOG if you have SYSLOG */
	X  
	X  #ifdef BSD_42		/* This is a logical, warranted assumption */
	X***************
	X*** 103,114
	X  #   endif
	X  #endif BSD_42
	X  
	X- #ifdef USG		/* Another similar assumption */
	X- #   ifndef USGHIST
	X- #       define USGHIST
	X- #   endif not USGHIST
	X- #endif USG
	X- 
	X  #ifndef USG
	X  #    ifndef BSD_42
	X  #        ifndef MACH
	X
	X--- 106,111 -----
	X  #   endif
	X  #endif BSD_42
	X  
	X  #ifndef USG
	X  #    ifndef BSD_42
	X  #        ifndef MACH
	X***************
	X*** 161,166
	X  			/* this directory ifdefined in the environment. */
	X  			/* This is like rn. Undefine it and it will only */
	X  			/* look in the user's home directory. */
	X  /*
	X   * System V compatability
	X   */
	X
	X--- 158,172 -----
	X  			/* this directory ifdefined in the environment. */
	X  			/* This is like rn. Undefine it and it will only */
	X  			/* look in the user's home directory. */
	X+ 
	X+ #ifdef AUTH
	X+ /* 
	X+  * the file where the nntpxmit site/userid/passwords are kept
	X+  * think (and PROTECT!) this file like L.sys, i.e., mode 600
	X+  */
	X+ # define	PASSFILE	"/etc/nntp.sys"
	X+ #endif AUTH
	X+ 
	X  /*
	X   * System V compatability
	X   */
	X***************
	X*** 277,282
	X  
	X  /*
	X   * Support for C-News style batching 
	X   */
	X  #define TOOBIG 300000L		/* batch > TOOBIG bytes, kick rnews */
	X  #define TOOOLD (5*60)		/* batch > TOOOLD seconds old, kick rnews */
	X
	X--- 283,292 -----
	X  
	X  /*
	X   * Support for C-News style batching 
	X+ #ifdef CNEWS
	X+ # define ACTIVE_TIMES_FILE	"/usr/lib/news/active.times"
	X+ #endif
	X+ 
	X   */
	X  #define TOOBIG 300000L		/* batch > TOOBIG bytes, kick rnews */
	X  #define TOOOLD (5*60)		/* batch > TOOOLD seconds old, kick rnews */
	X***************
	X*** 286,292
	X  #define INDIR			"/usr/spool/news/in.coming"
	X  #define BATCH_FILE		"/usr/spool/news/in.coming/nntp.XXXXXX"
	X  #define NEWSRUN			"/usr/lib/newsbin/input/newsrun"
	X- #ifdef CNEWS
	X- # define ACTIVE_TIMES_FILE	"/usr/lib/news/active.times"
	X- #endif
	X- 
	X
	X--- 296,298 -----
	X  #define INDIR			"/usr/spool/news/in.coming"
	X  #define BATCH_FILE		"/usr/spool/news/in.coming/nntp.XXXXXX"
	X  #define NEWSRUN			"/usr/lib/newsbin/input/newsrun"
	X*** conf.h.dist	Mon Jan 15 10:46:52 1990
	X--- ../../nntp/common/conf.h.dist	Thu Jul  5 02:11:16 1990
	X***************
	X*** 1,4
	X! /*
	X   * Configuration information for use by NNTP server and support
	X   * programs.  Change these as appropriate for your system.
	X   */
	X
	X--- 1,4 -----
	X! /* $Header: conf.h.dist,v 1.1 90/07/05 02:11:14 sob Exp $
	X   * Configuration information for use by NNTP server and support
	X   * programs.  Change these as appropriate for your system.
	X   */
	X***************
	X*** 6,11
	X  /*
	X   * Compile time options.
	X   */
	X  
	X  #undef	ALONE		/* True if we're running without inetd */
	X  #undef	FASTFORK	/* True if we don't want to read active file on start */
	X
	X--- 6,13 -----
	X  /*
	X   * Compile time options.
	X   */
	X+   
	X+ #define	AUTH		/* Define if you want simple authentication */
	X  
	X  #undef	ALONE		/* True if we're running without inetd */
	X  #undef	FASTFORK	/* True if we don't want to read active file on start */
	X***************
	X*** 34,40
	X  				batched input (not supported by B-NEWS,yet)  */
	X  
	X  #undef LAI_TCP		/* Lachman Streams TCP/IP support (Xenix) */
	X! #undef	EXCELAN		/* Excelan EXOS 205 support */
	X  #undef U_LONG		/* Define this if your <sys/types.h> is missing */
	X  			/* typedefs for u_long */
	X  
	X
	X--- 36,42 -----
	X  				batched input (not supported by B-NEWS,yet)  */
	X  
	X  #undef LAI_TCP		/* Lachman Streams TCP/IP support (Xenix) */
	X! #undef EXCELAN		/* Excelan EXOS 205 support */
	X  #undef U_LONG		/* Define this if your <sys/types.h> is missing */
	X  			/* typedefs for u_long */
	X  
	X***************
	X*** 47,52
	X  #undef MINFILES  MINFREE/4
	X  			/* NNTP will not allow an XFER if there is less */
	X  			/* than this many inodes on the SPOOLDIR filesystem */
	X  /*
	X   * If you DON'T have vfork, make this "#define vfork fork"
	X   * vfork will speed up article transfer nntpds by about 2.5 times.
	X
	X--- 49,55 -----
	X  #undef MINFILES  MINFREE/4
	X  			/* NNTP will not allow an XFER if there is less */
	X  			/* than this many inodes on the SPOOLDIR filesystem */
	X+ #define SETPROCTITLE	/* if you want status visable via ps */
	X  /*
	X   * If you DON'T have vfork, make this "#define vfork fork"
	X   * vfork will speed up article transfer nntpds by about 2.5 times.
	X***************
	X*** 108,119
	X  #   endif
	X  #endif BSD_42
	X  
	X- #ifdef USG		/* Another similar assumption */
	X- #   ifndef USGHIST
	X- #       define USGHIST
	X- #   endif not USGHIST
	X- #endif USG
	X- 
	X  #ifndef USG
	X  #    ifndef BSD_42
	X  #        ifndef CMU_MACH
	X
	X--- 111,116 -----
	X  #   endif
	X  #endif BSD_42
	X  
	X  #ifndef USG
	X  #    ifndef BSD_42
	X  #        ifndef CMU_MACH
	X***************
	X*** 166,171
	X  			/* this directory ifdefined in the environment. */
	X  			/* This is like rn. Undefine it and it will only */
	X  			/* look in the user's home directory. */
	X  /*
	X   * System V compatability
	X   */
	X
	X--- 163,177 -----
	X  			/* this directory ifdefined in the environment. */
	X  			/* This is like rn. Undefine it and it will only */
	X  			/* look in the user's home directory. */
	X+ 
	X+ #ifdef AUTH
	X+ /* 
	X+  * the file where the nntpxmit site/userid/passwords are kept
	X+  * think (and PROTECT!) this file like L.sys, i.e., mode 600
	X+  */
	X+ # define	PASSFILE	"/etc/nntp.sys"
	X+ #endif AUTH
	X+ 
	X  /*
	X   * System V compatability
	X   */
	X*** nntp.h	Tue Jan 12 01:50:26 1988
	X--- ../../nntp/common/nntp.h	Thu Jul  5 02:08:41 1990
	X***************
	X*** 1,7
	X  /*
	X   * Response codes for NNTP server
	X   *
	X!  * @(#)nntp.h	1.7	(Berkeley) 1/11/88
	X   *
	X   * First digit:
	X   *
	X
	X--- 1,7 -----
	X  /*
	X   * Response codes for NNTP server
	X   *
	X!  * @(#)$Header: nntp.h,v 1.8 90/07/05 02:08:31 sob Exp $
	X   *
	X   * First digit:
	X   *
	X***************
	X*** 29,34
	X  #define	CHAR_FATAL	'5'
	X  
	X  #define	INF_HELP	100	/* Help text on way */
	X  #define	INF_DEBUG	199	/* Debug output */
	X  
	X  #define	OK_CANPOST	200	/* Hello; you can post */
	X
	X--- 29,35 -----
	X  #define	CHAR_FATAL	'5'
	X  
	X  #define	INF_HELP	100	/* Help text on way */
	X+ #define	INF_AUTH	180	/* Authorization capabilities */
	X  #define	INF_DEBUG	199	/* Debug output */
	X  
	X  #define	OK_CANPOST	200	/* Hello; you can post */
	X***************
	X*** 45,50
	X  #define	OK_NEWGROUPS	231	/* New newsgroups follow */
	X  #define	OK_XFERED	235	/* Article transferred successfully */
	X  #define	OK_POSTED	240	/* Article posted successfully */
	X  
	X  #define CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X
	X--- 46,53 -----
	X  #define	OK_NEWGROUPS	231	/* New newsgroups follow */
	X  #define	OK_XFERED	235	/* Article transferred successfully */
	X  #define	OK_POSTED	240	/* Article posted successfully */
	X+ #define	OK_AUTHSYS	280	/* Authorization system ok */
	X+ #define	OK_AUTH		281	/* Authorization (user/pass) ok */
	X  
	X  #define	CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X***************
	X*** 46,52
	X  #define	OK_XFERED	235	/* Article transferred successfully */
	X  #define	OK_POSTED	240	/* Article posted successfully */
	X  
	X! #define CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X  
	X  #define	ERR_GOODBYE	400	/* Have to hang up for some reason */
	X
	X--- 49,55 -----
	X  #define	OK_AUTHSYS	280	/* Authorization system ok */
	X  #define	OK_AUTH		281	/* Authorization (user/pass) ok */
	X  
	X! #define	CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X  #define	NEED_AUTHINFO	380	/* authorization is required */
	X  #define	NEED_AUTHDATA	381	/* <type> authorization data required */
	X***************
	X*** 48,53
	X  
	X  #define CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X  
	X  #define	ERR_GOODBYE	400	/* Have to hang up for some reason */
	X  #define	ERR_NOGROUP	411	/* No such newsgroup */
	X
	X--- 51,58 -----
	X  
	X  #define	CONT_XFER	335	/* Continue to send article */
	X  #define	CONT_POST	340	/* Continue to post article */
	X+ #define	NEED_AUTHINFO	380	/* authorization is required */
	X+ #define	NEED_AUTHDATA	381	/* <type> authorization data required */
	X  
	X  #define	ERR_GOODBYE	400	/* Have to hang up for some reason */
	X  #define	ERR_NOGROUP	411	/* No such newsgroup */
	X***************
	X*** 56,64
	X  #define	ERR_NONEXT	421	/* No next article in this group */
	X  #define	ERR_NOPREV	422	/* No previous article in this group */
	X  #define	ERR_NOARTIG	423	/* No such article in this group */
	X! #define ERR_NOART	430	/* No such article at all */
	X! #define ERR_GOTIT	435	/* Already got that article, don't send */
	X! #define ERR_XFERFAIL	436	/* Transfer failed */
	X  #define	ERR_XFERRJCT	437	/* Article rejected, don't resend */
	X  #define	ERR_NOPOST	440	/* Posting not allowed */
	X  #define	ERR_POSTFAIL	441	/* Posting failed */
	X
	X--- 61,69 -----
	X  #define	ERR_NONEXT	421	/* No next article in this group */
	X  #define	ERR_NOPREV	422	/* No previous article in this group */
	X  #define	ERR_NOARTIG	423	/* No such article in this group */
	X! #define	ERR_NOART	430	/* No such article at all */
	X! #define	ERR_GOTIT	435	/* Already got that article, don't send */
	X! #define	ERR_XFERFAIL	436	/* Transfer failed */
	X  #define	ERR_XFERRJCT	437	/* Article rejected, don't resend */
	X  #define	ERR_NOPOST	440	/* Posting not allowed */
	X  #define	ERR_POSTFAIL	441	/* Posting failed */
	X***************
	X*** 62,67
	X  #define	ERR_XFERRJCT	437	/* Article rejected, don't resend */
	X  #define	ERR_NOPOST	440	/* Posting not allowed */
	X  #define	ERR_POSTFAIL	441	/* Posting failed */
	X  
	X  #define	ERR_COMMAND	500	/* Command not recognized */
	X  #define	ERR_CMDSYN	501	/* Command syntax error */
	X
	X--- 67,75 -----
	X  #define	ERR_XFERRJCT	437	/* Article rejected, don't resend */
	X  #define	ERR_NOPOST	440	/* Posting not allowed */
	X  #define	ERR_POSTFAIL	441	/* Posting failed */
	X+ #define	ERR_NOAUTH	480	/* authorization required for command */
	X+ #define	ERR_AUTHSYS	481	/* Authorization system invalid */
	X+ #define	ERR_AUTHREJ	482	/* Authorization data rejected */
	X  
	X  #define	ERR_COMMAND	500	/* Command not recognized */
	X  #define	ERR_CMDSYN	501	/* Command syntax error */
	X***************
	X*** 66,72
	X  #define	ERR_COMMAND	500	/* Command not recognized */
	X  #define	ERR_CMDSYN	501	/* Command syntax error */
	X  #define	ERR_ACCESS	502	/* Access to server denied */
	X! #define ERR_FAULT	503	/* Program fault, command not performed */
	X  
	X  /* RFC 977 defines this; don't change it. */
	X  
	X
	X--- 74,81 -----
	X  #define	ERR_COMMAND	500	/* Command not recognized */
	X  #define	ERR_CMDSYN	501	/* Command syntax error */
	X  #define	ERR_ACCESS	502	/* Access to server denied */
	X! #define	ERR_FAULT	503	/* Program fault, command not performed */
	X! #define	ERR_AUTHBAD	580	/* Authorization Failed */
	X  
	X  /* RFC 977 defines this; don't change it. */
	X  
	X*** version.c	Fri Mar  9 22:50:01 1990
	X--- ../../nntp/common/version.c	Thu Jul  5 02:11:49 1990
	X***************
	X*** 2,5
	X   * Provide the version number of this release.
	X   */
	X  
	X! char	nntp_version[] = "1.5.8 (11 March 90)";
	X
	X--- 2,5 -----
	X   * Provide the version number of this release.
	X   */
	X  
	X! char	nntp_version[] = "1.5.9 (4 July 1990)";
SHAR_EOF
if test 19120 -ne "`wc -c < 'common.diff'`"
then
	echo shar: error transmitting "'common.diff'" '(should have been 19120 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'common'"
cd ..
#	End of shell archive
exit 0