$Revision: 1.36 $

This is the second (and hopefully last) beta version of inn version 1.5. If
you use this, and if you didn't do this for 1.5b1, I would appreciate a
short message sent to <inn-survey@isc.org> stating what hardware and OS
you're trying it on. Doing

	uname -a | Mail -s "1.5b2 usage survey" inn-survey@isc.org

is sufficient. You will get no response, so thanks in advance.

This work is sponsored by the Internet Software Consortium. A big thanks
first goes to Rich Salz for developing INN in the first place and then
turning it over to us. Next, thanks to Dave Barr for looking after things
through 4 releases of the 'unoff' versions. Paul Vixie at the ISC supplied
the funding and the machinery (and the occasional boot up the backside) to
keep things moving along.

The actual writing of code since the ISC has taken over, has been been done
by a lot more people than just me. See the file CONTRIBUTORS for more
details on who did what.

Thanks to the beta testers who absolutely drowned me in mail after b1 came
out. Hopefully this release will generate much less mail. Keep sending
those reports in though:

	inn-bugs@isc.org

is where they should go--I may not notice news postings. Any other INN mail
should go to:

	inn@isc.org


James Brister
brister@vix.com (for non-INN mail)
inn@isc.org (for INN mail)

			 -------------------------

Rev 1.5b2 is mostly just bug fixes over 1.5b1.

	- a fairly major performance fix (hammering of disk the active file
	  was on).

	- slowed down some unnecessary buffer expansion.

	- bug fix when accepting articles just slightly over max-size limit.

	- The manpages for sections 1 and 8 have been cleaned up to show
	  options more clearly.

	- Various new man pages (some being split up versions of other pages).

	- A new directory authprogs that has a sample authorization program
	  for use with the nnrpd 'authinfo generic'. This is not integrated
	  in any way (not even a makefile) and is more for the curious
	  right now than for serious use. See the readme file in there.

	- A new installation step will fixup the #! line of any perl
	  scripts to match the value you defined in config.data.

	- grephistory has a new '-t' flag.

	- more sample code (commented out) in the perl filters.

	- innlog.pl understands more stuff in the log file.

	- added the sample config files from the unoff4 distribution (these
	  are not yet up to date with 1.5).

	- added an innshellvars.csh for those who login as news (or anyone
	  crazy enough to program in the c-shell).

Some random notes:

	This isn't new, but I need to remind some people: don't use 1.4
	binaries with 1.5. The message protocol to/from innd defined in
	lib/inndcomm.c changed for 1.5 and so old programs, or anything
	you've written and linked to an old libinn.a, is doomed to
	fail. This is most evident with ctlinnd.

	dbz.c is distributed in pre-patched form. It's still an old dbz,
	though. 

	The LIKE_PULLERS config variable (if set to DONT--the default) can
	adversely affect certain types of news readers (gnus seems to be
	one). If a human starts complaining about slow reader response,
	they're probably using one of these clients. A more intelligent
	solution than the LIKE_PULLERS will be investigated
	(suggestions welcome). If complaints get bad, set it to DO and
	recompile.


There are still some known problems:

	- The perl hooks leak memory.

	- If the target of a funnel feed gets dropped and the funnel feed
	  itself doesn't get dropped, then the next time a article arrives
	  that should get fed to the funnel entry, innd will core dump.

	  e.g. in newsfeeds

		foo:*:Tm:bar
		bar:!*:Tf,Wnm*:

	  if you 'ctlinnd drop bar', then things go bad very very quickly.

	- The 'offered' count reported by innxmit is wrong if innxmit stops
	  issuing CHECKs and only issue TAKETHIS commands.

			 -------------------------

Differences from the 1.5a3 alpha release.

	+ A contrib directory has been included to add useful things that
	  for one reason or another (usually lack of time on my part) can't
	  be a full part of inn (yet, at least).

	+ Some bug fixes.

	+ new 'notdaily' argument for news.daily. Use this on extra times
	  during the day that you run news.daily. (dneedham).

Things actually in earlier releases but not properly noted in this README
back then:

	+ innd will catch the SIGUSR1 signal and recreate the control
	  channel (for when something deletes the named socket) (dneedham).

	+ 'cmsg' in Subject lines is ignored. The Control header is all tha
	  matters.

	+ inews now asks the server it's talking to for the moderator
	  address info, so copying a moderators file around the network is
	  no longer necessary (dneedham).

---------------------------------------------------------------------------
This is the third and last alpha of inn 1.5.

This release includes the following new features.

	- Perl support based on work done by Christophe Wolfhugel. It's had
	  some testing done, but no extensive experience with things like
	  memory footprint etc. See README.perl_hook for more details.
	- Poison newsgroup flag ``@'' in newsfeeds by John Stapleton. See
	  the newsfeeds(5) man page.
	- John Stapleton's support for misbehaving readers: (a) short timeout
	  on first read (to catch readers who connect and then go away
	  immediately) and (b) restrict the number of times a remote system
	  can connect per N seconds. (See the `-X' `-H' and `-T' flags in
	  the innd.8 man page.)
	- Support for '-e' in expire (expire on earliest crosspost) by John
	  Levine.
	- Perl and tcl versions of innshellvars.
	- If LOG_SIZE is set to DO in config.data, then the size of each
	  article will be put in the log entry.
	- If LIKE_PULLERS is set to DONT, then a small sleep is done on 
	  ARTICLE commands, and on HEAD and BODY after the first 100
	  commands done. This won't hinder normal readers, but will slow
	  down ``sucking'' feeds.
	- Updates to nntpsend an shrinkfile from chongo.
	- Default pathnames in config.data are a little more consistent. 
	- Some bug fixes.	

From here on out, all new features will have to wait for 1.6. This version
will turn into a publically advertised beta test fairly soon. Please hammer
on it and send in all bug reports to <inn@isc.org>.

---------------------------------------------------------------------------

The first alpha was a merge of several things: Rich's original 1.5 alpha
code; the 1.4unoff4 release put out by Dave Barr; Bob Halley's TCL
filtering extension.

The second alpha included:

	- PGP verification of control messages (from tale).
	- actsync program (from chongo)
	- Patches for spooling in nnrpd if innd is unavailable (from dneedham)
	- XBATCH (compressed rnews-ready batches) support (via Matthias U.)
	- The '-x' option from innd is removed and adding
	  Xref headers the standard behaviour. (from dneedham)
	- The message format used by libcomm now includes a protocol 
	  version and a byte-count header (so ctlinnd from previous 
	  version won't work with this version).
	- A new 'p' flag for the newsfeeds entries: the time the article
	  was posted (from Matthias U.)
	- A LIST SUBSCRIPTIONS command for nnrpd (from dneedham).
	- gzip compress recognition to rnews (from Matthias U.)
	- A method of limiting those peers (in hosts.nntp) that can use
	  streaming (based on Christophe W.'s idea).

	Heaps of other more minor patches from various people (see the
	CHANGES) file.

Please send *all* mail regarding inn to me at the following address:

	inn@isc.org

Even if it is going to some mailing list that I'm already on, CC to
inn@isc.org anyway.

I'm especially interested in documentation gaps. Not that I like writing
documentation.

Thanks

James

------------------------------------------------------------------------------
InterNetNews -- the Internet meets Netnews
------------------------------------------
"Remember to tell your kids about the days when USENET was store and
 forward."  -- Jim Thompson, as part of a message that said he was getting
 under 200ms propagation, disk to disk.

InterNetNews is a complete Usenet system.  The cornerstone of the package
is innd, an NNTP server that multiplexes all I/O.  Think of it as an nntpd
merged with the B News inews, or as a C News relaynews that reads multiple
NNTP streams.  Newsreading is handled by a separate server, nnrpd, that is
spawned for each client.  Both innd and nnrpd have some slight variances
from the NNTP protocol; see the manpages.

The distribution is a compressed tar file. A new directory
and unpack the tar file in that directory.  For example:
	; mkdir inn
	; cd inn
	; ftp ftp.uu.net
	ftp> user anonymous <you@your.host.name>
	ftp> type image
	ftp> get news/nntp/inn/inn.tar.Z inn.tar.Z
	ftp> quit
	; uncompress <inn.tar.Z | tar vxf -
	; rm inn.tar.Z

The installation instructions are in Install.ms.  This is an nroff/troff
document that uses the -ms macro package, and is about 30 typeset pages.
(If you have groff use "-mgs".) The distribution has this file split into
two pieces; you can join them by typing either of the following commmands:
	; make Install.ms
	; cat Install.ms.? >Install.ms
You should probably print out a copy of config/config.dist when you print
out the installation manual.

Please read the COPYRIGHT.  This package has NO WARRANTY; use at your
own risk.

When updating from a previous release, you will usually want to do "make
update" from the top-level directory; this will only install the programs.
To update your scripts and config files, cd into the "site" directory and
do "make clean" -- this will remove any files that are unchanged from
the official release.  Then do "make diff >diff"; this will show you what
changes you will have to merge in.  Now merge in your changes (from
where the files are, ie. /usr/lib/news...) into the files in
$INN/site.  (You may find that due to the bug fixes and new features in
this release, you may not need to change any of the scripts, just the
configuration files).  Finally, doing "make install" will install
everything.

If you have a previous release you will probably also want to update the
pathnames, etc., in the new config file from your old config.  Here is one
way to do that:
	% cd config
	% make subst
	% cp config.dist config.data
	% ./subst -f {OLDFILE} config.data
where "{OLDFILE}" names your old config.data file.

Configuration is done using subst.   Subst is in config/subst.sh and
doc/subst.1.  The history file is written using DBZ.  The DBZ sources and
manual page are in the dbz directory.  Unlike subst, DBZ is kept
separately, to make it easier to track the C News release.  The subst
script and DBZ data utilities are currently at the "Performance Release"
patch date.  Thanks to Henry Spencer and Geoff Collyer for permission to
use and redistribute subst, and to Jon Zeef for permission to use DBZ as
modified by Henry.

This version includes new support for TCL filtering of articles (to either
reject or accept them). This work is done by Bob Halley. See the file
README.tcl_hook for more details.

This version includes support for Geoff Collyer's news overview package,
known as nov.  Nov replaces the external databases used by nn, trn, etc.,
with a common text database.  INN support includes programs to build and
maintain the overview database, and an XOVER command added to nnrpd (the
news-reading daemon) that is becoming a common extension to fetch the
overview data from an NNTP connection.  Nnrpd uses the overview database
internally, if it exists, making certain commands (e.g., XHDR) much
faster.  The nov package includes a newsreader library that you will need,
and some utilities that you will not; it is available on world.std.com in
the file src/news/nov.dist.tar.Z.  Prototypes of modified newsreaders are
in the in src/news/READER.dist.tar.Z -- most maintainers will be providing
official support very soon.  To make it explicit:  if you already have a
newsreader that can use the overview database, either via my NNTP xover
command, or by reading directly from NFS, then INN has all you need.

I hope you find INN useful.  If you like it, send me a postcard.
	Rich $alz
	Open Software Foundation
	11 Cambridge Center
	Cambridge, MA  02142
	INN mail:	<rsalz@uunet.uu.net>
	Other mail:	<rsalz@osf.org>
