From hwr@pilhuhn.de Tue Oct 17 16:10:44 EDT 1995
Article: 14844 of news.software.nntp
Path: news.math.psu.edu!chi-news.cic.net!newsfeed.internetmci.com!news.sprintlink.net!EU.net!Germany.EU.net!zib-berlin.de!news.uni-ulm.de!rz.uni-karlsruhe.de!snert!not-4-mail
From: hwr@pilhuhn.de (Heiko W.Rupp)
Newsgroups: news.software.nntp,news.software.b,news.answers
Subject: INN FAQ Part 3/5: Operating Guide & Tutorial
Supersedes: <faq.p3_813411125@pilhuhn.de>
Followup-To: news.software.nntp,news.software.b
Date: 17 Oct 1995 09:23:23 +0100
Organization: The Home Of The Pilhuhn
Lines: 1554
Approved: news-answers-request@MIT.EDU
Expires: 5 Nov 1995 08:23:03 GMT
Message-ID: <faq.p3_813918183@pilhuhn.de>
NNTP-Posting-Host: pilhuhn.de
Summary: This article is part 3 of a multi-part FAQ:
	Part 3: Day-to-day operational questions.  This includes general questions asked once INN is running for a while, some big changes you can make, bug warnings for 1.4, 1.3, 1.2.
Xref: news.math.psu.edu news.software.nntp:14844 news.software.b:4435 news.answers:43524

Posted-By: post_faq 2.10
Archive-name: usenet/software/inn-faq/part3
Last Changed: $Id: part3,v 1.14 95/10/04 10:20:30 hwr Exp Locker: hwr $

                  Part 3 of 5
 
INN FAQ Part 1/5: General Information
INN FAQ Part 2/5: Debugging Guide & Tutorial
INN FAQ Part 3/5: Operational and Misc. Questions
                    Day-to-day operational questions
                    INN is running, but i have this small problem...
                    How do i... (Big changes you can make to the system)
                    Bugs in INN 1.5:
                    Bugs in INN 1.4:
                    Bugs in INN 1.3:
                    Bugs in INN 1.2:
INN FAQ Part 4/5: Appendix A: Norman's install guide
INN FAQ Part 5/5: Appendix B: Configurations for certain systems 
 
------------------------------
 
Subject:  Table Of Contents for Part 3/5
 
=====================================================================
  TABLE OF CONTENTS FOR PART 3/5:  Operational and Misc. Questions
=====================================================================

DAY-TO-DAY OPERATIONAL QUESTIONS:
	How do I create all those directories in the newsspool?
	Why is /usr/lib/news/newsgroups not found?
	Safe way to edit the "active" file?
	What's the best way to upgrade to a new version of INN?
	How do I talk to innd from C or Perl?
	After a crash.
	How do I moderate a mailing list?
	How do I configure the /usr/lib/news/moderators file?
	Listing every article
INN IS RUNNING, BUT I HAVE THIS SMALL PROBLEM...:
	XHDR says Bad Article Number
	Everything I receive, I re-feed to the feeder
	Suddenly my active and history files are owned by root!
	How come my host name comes out twice in the Path line?
	Expire had problems last night, and while I fixed the problem,
	expire reports "Group not matched (removed?) --
		Using default expiration"
	Expire reports 'Can't replace history files, Cross-device link'
	Why doesn't this newsfeeds entry do what I want?
	Why am I forwarding cancel messages for articles in comp.foo
	Debugging someone that is feeding you.
	Feeds suddenly can't connect anymore!
	I'm getting groups sent to me that I don't want.
	When my feeder connects, I get articles but they don't take
		what's waiting for them.
	Directories are being created with wrong permissions.
	Why am I getting alt.sex.pictures even though I have...
	More about the "to.*" groups
	What's a decent syslog.conf configuration?
	INN batcher writing "#!rnews 0" separators
	Posting while throttled doesn't work
	overchan can't keep up.
	"newgroup" control messages aren't being executed
	What do these history.n.* files do?
	Out of inodes but still space left on disk
	Server throttled No space left on device writing article file
	Is there a automatic way to update newsfeeds?
	Reloading hosts.nntp is slow.
	What are these "xforte" commands that appear in my logs?
HOW DO I... (Big changes you can make to the system):
	How do I set up a delayed IHAVE/SENDME over NNTP?
	I want compressed news, but do not have uucp
	Can I use gzip with INN?
	What do I do if /var/spool/news is split over multiple partitions?
	Sun Online Disk Suite for news spool?
	Add local newsgroups?
	Archiving expired articles
	How do I restrict access on certain newsgroups (like alt.sex)
	INN on one machine, UUCP modem on a different one
	Setting up proxy-nntp to talk through a firewall
	How do I set up inpaths with INN?
	Fill different types of control messages in different directories?
	Use more than ~100 Feeds on SunOS 4.1 ?
BUGS IN 1.4:
	Security Patch
	Looping Select Patch
BUGS IN 1.3:
	7-bit encoded batches are not correctly processed. Why is this?
	NOV (overchan) doesn't work well.
BUGS IN 1.2:
	Why doesn't nntpget work?


=====================================================================
                  DAY-TO-DAY OPERATIONAL QUESTIONS
=====================================================================


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

Subject:  How do I create all those directories in the newsspool?

Q:  For example, if you receive comp.sys.amiga.applications, do you
have to mkdir /var/spool/news/comp/sys/amiga/applications?

A:  Nope.  innd creates the directory for you the first time you
receive an article for that newsgroup.


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

Subject:  Why is /usr/lib/news/newsgroups not found?

The latest rev is in:
        ftp://ftp.uu.net/networking/news/config/newsgroups.Z
Get it and install it.

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

Subject:  Safe way to edit the "active" file?

First of all, you could manipulate the active file using the ctlinnd
"newgroup", "rmgroup" and "changegroup" commands.  However, sometimes
you just need to do a lot of editing all at once:

The following sequence is the shortest:

	ctlinnd pause "edit active"
	[do something to the active file]
	inncheck
	ctlinnd reload active "edit active"
	ctlinnd go "edit active"

Simple!  No need to "flush" since the "pause" does that.

> What if I need to delete 3000 lines from my active file?

I would definitely edit the active file manually (using
the above procedure).

> What if I need to delete 10 lines from my active file?

For a couple quick changes, I recommend using "ctlinnd".  This is a
little slow because all channels are closed and reopened after each
"rmgroup", "newgroup", and "changegroup".  However, it's easier than
remembering the above sequence.

DO NOT THROTTLE THE SERVER WHEN DOING MULTIPLE rmgroup COMMANDS.  There
is a bug in INN (all versions) that will shred your active file if you
do multiple "rmgroup" messages while the server if throttled.  This is
a common mistake.  People think the "rmgroup"'s will go faster if the
server is throttled.  It will go faster, it will also shred your active
file.

If you have a large number of groups to remove or create, you can use
awk to write a script to do the work for you.

	% cat thelist
	alt.foo.bar
	alt.delete.me
	comp.sys.mac
	% awk <thelist '{ print "ctlinnd rmgroup " $1 }'
	ctlinnd rmgroup alt.foo.bar
	ctlinnd rmgroup alt.delete.me
	ctlinnd rmgroup comp.sys.mac

Now, you can either send the output of that to "| sh -x",
or you can redirect the output to a file, and "source" the
file.

If you want to create a bunch of newsgroups, the awk
command might be like this:

	% awk <thelist \
	'{ print "ctlinnd newgroup " $1 " y user@host" }' | sh -x

Be aware that news.daily also throttles the server at some time so
verify the state of the server before doing ctlinnd {rm,new}group.


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

Subject:  What's the best way to upgrade to a new version of INN?

First, you should read the README and the Install.ms (yes, read
them both... again).   Things change in new versions.

Second, the README explains how to do an upgrade.  This document
is redundant, but explains the procedure in more detail.

STEP 1:  Copy the values in the old config.data to your new config.data.
You can do this automaticly with this trick:

	% cd config
	% make subst
	% cp config.dist config.data
	% ./subst -f {OLDFILE} config.data
where "{OLDFILE}" names your old config.data file.

STEP 2:  Edit the config.data to see if you want to change any of
the new settings that didn't exist in the old version's config.data
file.

STEP 3: Compile everything:

	% cd $INN
	% make all
(you can run "make world", which also runs "lint".  If you don't
know what "lint" is, just ignore anything it outputs.  If it bombs,
run "make all" instead.)

STEP 4: When you feel you are ready to install the new files shut down
	the old daemon:

	% ctlinnd shutdown 'upgrade in progress'
	[ kill innwatch by hand if you need to ]

STEP 4: Install the new files:

	% cd $INN
	% make update

STEP 5: Now update all your $INN/site files to be the same as they were
for your old software.  "cd $INN/site ; make diff-installed" will tell
you what's different between the files in /usr/lib/news and $INN/site.
If you only make changes in the $INN/site directory and use "make
install" to copy them into place you'll save your self a lot of
trouble.  Read $INN/site/Makefile for more interesting things that
"make" can do.

STEP 6: When you feel you are ready to install the new $INN/site files:

	# cd $INN/site
	# make install

STEP 7: Re-start the system:

	% sh /usr/lib/news/etc/rc.news

STEP 8: If everything was done right you should be up and running.
Part 2 of the FAQ gives tips on testing your configuration.


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

Subject:  How do I talk to innd from C or Perl?

Rich Salz says:

If you are writing C, look at doc/inndcomm.3 and include/inndcomm.h;
they include all you need to do any ctlinnd command (in fact, ctlinnd
itself is little more than a call to the library).

Hacking up a Perl subroutine that spoke to innd's Unix-domain control
socket should be fairly straightforward but hasn't yet been written.


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

Subject:  After a crash.

"What do I do after a system crash?"

INN handles crashes pretty well.  If there are any problems they
get cleaned up by the nightly expire.  About once a month you
might want to run "makehistory -buv" to look for "lost" articles.
Check the man page for "makehistory" for more information.
(The man page for "makehistory" is in the news-recovery man
page until INN 1.4). 
The manpage is a little unclear about the '-n' flag. If used alone 
(e.g. makehistory -n) it does not rebuild the dbz files. But if used 
in conjunction with -bu (e.g. makehistory -bunv) it does not pause 
the server.


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

Subject: How do I moderate a mailing list?

Ask your news administrator.  If you are the news administrator, read
RFC 1036.  (also, refer to "How do I configure the
/usr/lib/news/moderators file?")

Hint: The relevant part of RFC 1036 is " 2.2.11 Approved ".

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

Subject: How do I configure the /usr/lib/news/moderators file?

Q: The 'moderators' file that comes with INN has only the following
lines:

	gnu.*:%s@tut.cis.ohio-state.edu
	*:%s@uunet.uu.net

Should this be changed?  That is, if at Usenet site, does the news
admin have to configure this file in order for INN to email the local
posts to moderated newsgroups to the correct moderator?  In this case
then, every time a new moderated group is created, and/or changes its
moderator, it should be necessary to change this file.

A: Fortunately not!

First of all, the default configuration says, "The moderator for
foo.bar is foo-bar@uunet.uu.net".  The good people at UUNET keep mail
aliases for all the moderated newsgroups so that as moderators come and
go, they will always forward to the correct person.

Refer to the "How to Construct the Mailpaths File" FAQ, for an
explanation of the moderation mechanism.  This article explains the
'mailpaths' file from C News, which is similar in nature to the INN's
'moderators' file although with a different syntax.

The file 'moderators' could be modified, though, according to that
article.  For example, there are other sites that do what UUNET does,
and they might be closer to you.

Also, you might want to take a look to the inn.conf(5) man page to read
the 'moderatormailer' parameter description.


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

Subject:  Listing every article

People often ask for a way to list every file in the newsspool.  There
are a couple ways of doing this.  They work well for INN as well as C
News:

1. Here's the fastest way.  However, it only lists the files that are
actually in the history file and if an article is crossposted it only
gets listed once:

#!/bin/sh
. /usr/lib/news/innshellvars
cd ${SPOOL}
awk '(NF > 2){print $3}' < ${HISTORY} | tr . /

Sorting the output will improve directory cache efficiency.

2. This lists any article file no matter how many links
you have, etc. and even if it is not listed in the history
file:

	cd /var/spool/news
	gfind . -regex '.*/[0-9][0-9]*$' -print

NOTE: GNU find will execute this much faster than the "find" that
comes with most versions of Unix (including SunOS).

3. If you need to do something fancier than what find can do, consider
using perl's find2perl program.  Given a find command line, find2perl
will output the perl code to do the same thing.  You can then modify
the output to do what you want.  For example:

	find2perl . -mtime +30 -name '[0-9][0-9]*$' -exec '/bin/rm {}'

outputs a perl script that deletes any article that is over 30 days old
(except the regular expression is output as wrong...  change it to:

	/^[0-9]+$/ &&

and it should work just fine.

4. Another efficient way to scan all articles in the spool, including
those that for some reason aren't in the history file, is to read the
active file for a list of newsgroup names, and chdir() to each
directory to scan for files.  Remember *not* to do a recursive treewalk
for each directory.


=====================================================================
          INN IS RUNNING, BUT I HAVE THIS SMALL PROBLEM...
=====================================================================

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

Subject:  XHDR says Bad Article Number

Q: When I do a XHDR command the INN NNTP server may give
me article numbers which is not valid (get 403 Bad Article Number
when requesting the article text). Is this normal?

A: Absolutely not!

Perhaps DIR_STYLE is wrong?


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

Subject:  Everything I receive, I re-feed to the feeder

"It seems that all the articles sent to me are resent back to my
provider.  I only want to post those articles which have been locally
generated at my site back to my news feed provider."

or "I feed a site named foo.bar, but it puts something besides foo.bar
in their Path: header"

Let's look at a typical Path: line:

Path: plts!sdl!newsgw.mentorg.com!uunet!gatech!howland.reston.ans.net!agate!barrnet.net!jfrank.com!usenet

As a post goes from system to system, each site prepends their sitename
to the line.  Usually a site uses their FQDN, but sometimes they register
something with the UUCP Mapping Project which makes sure no two sites use
the same name.  In the above, we see a couple FQDN's and a couple sites
that are registered with the UUCP Mapping Project.

INN will not feed this article to any feed who's name appears in the Path:
header.

Suppose you have a feed to/from barrnet.net that looks like this:

netnews.barrnet.net:*,!control,!junk:Tf,Wnm:

This means "send all newsgroups except control and junk, but not if the
Path: line includes 'netnews.barrnet.net'".  That's fine, but as we see
in the above Path: example, BarrNet puts "barrnet.net" in the path,
even though their netnews machine is called "netnews.barrnet.net".

Therefore, we change the newsfeeds file to include a "/barrnet.net"
which means "exclude posts that have gone through barrnet.net".

netnews.barrnet.net/barrnet.net:*,!control,!junk:Tf,Wnm:

Now you won't feed to netnews.barrnet.net articles that have already
gone through barrnet.

The best way to solve this problem is:
	1.  Read the Path: line from an article that has passed
		through that site already.
	2.  Insert that sitename into the feeds description in newsfeeds.
	3.  "ctlinnd reload newsfeeds fixed_feed"

OTHER USES:

Suppose two sites have very reliable NNTP feeds from uunet and psinet
but still want a feed between each other to increase redundancy.  They
might set up feeds like:

othersite/uunet,uupsi:...

so that they aren't sending articles that have already reached two of
the biggest sites on Usenet (and therefore must have gotten good
distribution already), but will pass on everything else.


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

Subject:  Suddenly my active and history files are owned by root!

rc.news runs from root.  After that, everything else should run as
news.  It sounds like you've run news.daily as root by mistake.  Make
sure all your cron jobs run as news and you'll be fine.

If you have an old "cron" system, you might consider replacing yours
with one of the many public domain replacements.  If you can't create
a different "crontab" for each user, the idiom is:

0 * * * * * su news -c '/do/this/as/news'


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

Subject:  How come my host name comes out twice in the Path line?

The INN server puts its name in the Path line of every article that it
receives.  Obviously, it has to do this.  The default configuration has
inews put the local host in the Path header.  If nobody posts on the
server and you use fully-qualified domain names on your workstations,
then everything works the right way.  (If `hostname` doesn't give an
FQDN on your machine, you can work-around this by setting the "domain"
value in inn.conf; remember that innd never re-reads inn.conf.  You
must "ctlinnd shutdown x" and then re-start the server).  Many people
don't want the client machines to put their name in the Path header.
To do this, set INEWS_PATH to DONT.  Finally, let me say that it is
probably a mistake to have a "pathhost" line on any machine other than
your server if you set INEWS_PATH to DO.  If you doubt this, please
trace the article flow for yourself.  If you are curious about the
effect of INEWS_PATH, read the nroff source -- not the formatted
output -- of doc/inews.1


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

Subject:  Expire had problems last night, and while I fixed the
			problem, it still won't run.

When expire starts up it "reserves" the server so that nobody else can
pause or throttle it.  This prevents anyone else from coming in and
modifying the history database.  If expire bails out because of a bad
error (e.g., your expire.ctl has syntax errors) it leaves the server
reserved so that no maintenance will be done until a good expire run has
occurred.  To unblock the server, use the ctlinnd "reserve" command with
an empty string argument.


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

Subject: expire reports "Group not matched (removed?) --
		Using default expiration"

Expire says:
Group not matched (removed?) alt.techno-shamanism -- Using default expiration
Group not matched (removed?) misc.computers.forsale -- Using default expiration
Group not matched (removed?) de.rec.sf.startrek -- Using default expiration

YOU DID NOTHING WRONG!

That just means that you've removed those newsgroups groups and expire
is slowly removing articles from the spool as they expire.  Eventually
the articles will all have been deleted and so will these messages.

Here's a neat trick to make deleted groups go away at the next expire
instead of hanging around waiting for their articles to expire in a
timely manner.  Using this combination of lines at the *start* of
expire.ctl:
	*:A:0:0:0
	*:U:0:7:31
	*:M:0:14:365
will cause groups which are neither moderated nor unmoderated to be
discarded - the only such groups are deleted ones.  Thanks to
ian@pipex.net (Ian Phillipps) for this tip!

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

Subject: Expire reports "Can't replace history files, Cross-device link"

If your directory where your history is does not have enough space left
for two copies of the history, you can also expire in another directory.
But you must tell expire to do so - failing to do so produces the above
message. You can either tell it news.daily by adding a expdir=/some/dir
flag or by adding the -d flag when starting expire.


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

Subject:  Why doesn't this newsfeeds entry do what I want?
			"foo.com:alt,!alt.sex"

A newsfeeds entry is not a sys file (C News) entry.  Please read
newsfeeds.5.  You might also find the sys2nf program in the frontends
directory useful, as well as the inncheck Perl script that is found in
the samples directory.  The INN Configuration FAQ has cook-book
examples of the steps required to install a NNTP feed, UUCP feed, and
NNTP via nntplink feed.


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

Subject:  Why am I forwarding cancel messages for articles in comp.foo
			when I explicitly have !comp.foo in the newsfeeds entry?

Control messages can be explicitly forwarded, so a control message to
comp.foo is forwarded to sites that receive either comp.foo or control.
Please see the "Control Messages" section of innd.8.  As that
documentation says, you probably want to put "!control" in the
subscription list for most of your newsfeeds.


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

Subject:  Debugging someone that is feeding you.

David Myers <dem@meaddata.com> suggests that if a neighbor complains
that their feed to you doesn't work: (1) make sure they've read the man
pages, and (2) have them send a copy of their newsfeeds file.

Truly sage advice!


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

Subject:  Feeds suddenly can't connect anymore!

Q:  How come feeds tell me they can't connect to me any more?

A:  When innd starts up it reads the hosts.nntp file and looks up the
IP addresses for all the entries mentioned there.  The problem is that
this data is dynamic (sometimes people change IP addresses), and innd
never goes back to check.  If your system stays up for days and one of
your feeds changes their IP address (or has a new CNAME), innd will
reject them.  Rich plans to handle this in INN1.5, but for now you
might find it useful to do a "ctlinnd reload hosts.nntp" out of cron
every day or so or when you notice there's a problem.

Here is a sample crontab entry to use: (news should run this)

55 7,12,17,22 * * * /usr/local/newsbin/ctlinnd -s reload hosts.nntp crontab

I hope people vary the time this runs.  If a huge number of INN hosts,
many running NTP so their clocks are within a few ms., all kick off DNS
lookups at exactly the same time, the internet traffic could get
"interesting".  Try setting the minutes value to the time you added
this entry to crontab rather than everyone using "55".  In fact, if
everyone used their birthday plus 1 if they are born on an odd month,
that would spread it out just fine.


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

Subject:  I'm getting groups sent to me that I don't want.

Tell the system administrator(s) of the machine(s) that feed news to
you to stop sending those groups.  There is no other way to do it.  (In
B or C News, the groups would end up in junk; at least with INN they
are not taking up space.  You should compile with WANT_JUNK set to
DONT).

If the people that feed you use B news or C news, remember that they
don't use a "newsfeeds" file.  They use a file called "sys" which has a
completely different format for specifying newsgroups.


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

Subject:  When my feeder connects, I get articles but they don't take what's waiting for them.

I hate to say this, but this really shows that you haven't RTFMed very
much.

News is not automaticly bidirectional (it's like SMTP, not UUCP).  If
you want to send things out you will have to make sure that you run
send-nntp or nntpsend from cron.  nntpsend is easier and elsewhere in
this document there are cookbook examples of what to add every time you
set up a new feed.


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

Subject:  Directories are being created with wrong permissions.

> Question:
>When I received news for /var/spool/news/foo/bar for the first
>time, the directories got created:
>
># ls -lgR foo
>total 1
>d-wx-w-rwx  2 news     news          512 Feb  9 00:03 bar/
>
>What did I do wrong?
>
>##  Mode that directories are created under.
>#### =()<GROUPDIR_MODE          @<GROUPDIR_MODE>@>()=
>GROUPDIR_MODE           2775

  Answer:
You forgot a zero in front of this number, for the C compiler to interpret it
as octal instead of decimal.


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

Subject:  Why am I getting alt.sex.pictures even though I have
			"ME:!alt.sex.pictures" in my newsfeeds file?

The active file is the definitive list of what newsgroups you receive.
INN's ME entry is different from C News and B News; please see
newsfeeds.5.  If you do not want to receive alt.sex.pictures, ask the
system(s) that send you news not to send it to you.  (You would have to do
that no matter what news system you are running.)


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

Subject:  More about the "to.*" groups

(Thanks to jmalcolm@sura.net (Joseph Malcolm) for supplying
these answers.)

>1) Why did my local INN act on the sendsys posted to to.neighbor?

to.* groups aren't magic to INN.  Your system received the message,
it acted on it.

>2) Why did my neighbor send the cmsg to all of his neighbors?

See 3.

>3) Is is related to having the "control" group in our newsgroups patterns?

Yes.

>   The INN docs say you probably don't want to do this, but they don't say
>   why.

Actually, they do. This is from innd(8):

	Sites may explicitly have the ``control'' newsgroup in their
	subscription  list,  although  it is usually best to exclude
	it.  If a control message is posted to a  group  whose  name
	ends  with  the  four characters ``.ctl'' then the suffix is
	stripped off and what is left is used  as  the  group  name.
	For  example,  a cancel message posted to ``news.admin.misc.ctl''
	will be sent to all sites that subscribe to  ``control''  or
	``news.admin.misc''.

There is also a pointer to this in newsfeeds(5).

>   But I still need it in my active file, right?

Yes.


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

Subject:  What's a decent syslog.conf configuration?

The configuration will be different for each site, but here is what
Greg Earle recommends as the lines for the "news.*" related part.
Remember that most syslog's require tabs, not spaces.

Greg's canonical SunOS 4.1.x INN-related syslog.conf entries (which can
be merged into your current configuration):

#
# INN stuff
#
##  Send critical messages to everyone who is logged in and to the console.
news.crit               *
news.crit               /dev/console

##  Log news messages to separate files.
##  Note that each level includes all of the above it.
## =()<news.crit        @<_PATH_MOST_LOGS>@/news.crit>()=
news.crit               /var/log/news/news.crit
## =()<news.err         @<_PATH_MOST_LOGS>@/news.err>()=
news.err                /var/log/news/news.err
## =()<news.notice      @<_PATH_MOST_LOGS>@/news.notice>()=
news.notice             /var/log/news/news.notice

If you don't want /var/log/messages to be crowded by messages from news
add the following to the line, where /var/log/messages get logged:
news.none so that the line reads (as an example):

*.err;kern.debug;auth.notice;mail.crit,news.none       /dev/console


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

Subject:  INN batcher writing "#!rnews 0" separators

>Outgoing UUCP batches from here are going out with "#!rnews 0" at
>the head of each article.
 
Most common cause:  your newsfeeds entry has "Wnm" not "Wnb".

Other reasons:

batchfiles have something other than a single space between article
filename and size

batchfiles lack size information (all the articles sizes will be read
>from  the batch file as zero)


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

Subject:  Posting while throttled doesn't work

>I want to be able to allow my users to be able to post articles when
>innwatch has throttled the system when the spool disk is "full".

Cannot be done in 1.4.

At a minimum, in 1.5 nnrpd will spool the post for the user.


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

Subject:  overchan can't keep up.

> About once a month or so, I get the following warning messages:
> 
> Jan 20 07:20:22 optima innd: overview!:31:proc:9193 cant flush count 14639 Operation would block
> Jan 20 07:20:22 optima innd: overview! spooling 14639 bytes

or

> there's a file "overview!" in /usr/spool/news/out.going with stuff in it.
> 
> Should I be doing anything more with this than ignoring it, and maybe
> occasionally deleting it (it just grows)?

This happens because innd is feeding info to overchan faster than
overchan can process it.  The overflow is sent to the file
"overview!".  This file can be deleted, as nnrpd will grab the missing
data out of the articles "manually".  The slow-down won't be noticed,
much.  You can "expireover -a" to "fill in the holes".

To prevent this in the future, you need to make overchan run faster.
This is easy to do.  There are two things to do:

1.  Increase the size of many of your kernel buffers.  In particular,
increase buffers relating to directory caches (the "namei" cache", to
mention one).  If you use SunOS, change "maxusers" to 200.  Ignore the
variable's name.  This variable is used to calculate most of the other
buffer sizes, etc. and 200 is good for a system that is as overworked
as, say, a machine running netnews. Do this only if you have enough RAM.
I can't exactly say what is 'enough' but for a machine with 48MB 200 seems
to be too big (64 is ok here). The problem seems to be that the kernel then
needs too much space and runs out of it.

2.  (this is more important than #1) Move the .overview files out of
the /var/spool/news hierarchy.  For example, moving the overview files
into /var/spool/news/over.view made things fast enough on one machine
that the problem went away.  To do this:  change "_PATH_OVERVIEWDIR" in
"config.data", recompile, and "make install".  You will need to
recompile any newsreaders that read via NFS or off the local disk.

For really great performance, put the NOV files on a separate disk.
(Not just a separate partition, a separate disk or spindle.)

This one-liner will generate a shell script that will move your NOV files:
	awk '{ print $1 }' /usr/lib/news/active | tr . / | awk '{ print "mkdir -p /new/location/" $1 ; print "mv " $1 "/.overview /new/location/" $1 "/.overview" }'

WHY THIS WORKS:

Why does doing all this speed up overchan?  overchan works by opening
the proper ".overview" file, appending 1 line to it, then closing the
file.  If you have the ".overview" file in the same directory as 10000
articles then opening the ".overview" file will take a huge amount of
time.  The open() call literally searches though about 5000 (half of
10000) file names to find ".overview".  If you move your ".overview"
files so that each one is in it's own directory, (say,
/usr/spool/news/over.view/{group}/{name}/.overview) then open() is
searching through 3 files ( ".", "..", and ".overview") to find 1
file.  ( O(N/2) where N=10000 vs. N=3... and you thought those first
year CS classes would never be useful!)

There isn't much you can do to make the "append" and "close" steps much
faster, except maybe install a PrestoServe or similar write-cache, and
that won't help very much.

Profiling overchan (with PureSoft's Quantify product) found that the
open() call was around 80% of the execution time of overchan.  That was
reduced to 40% when I moved the ".overview" files to their own
directory.  With the change, overview's profiling statistics are pretty
flat. (which is good).

IF YOU CAN'T DO THE ABOVE CHANGES:
Run "expireover -a" to fix the problem temporarily.  However, it will
come back.

DO NOT try feeding the "overview!" file to overchan manually.
	(1) overchan doesn't do any locking and you'll have two overchan's
		running at once.
	(2) overchan only appends to the ".overview" files.  If you've gotten
		any articles since the "overview!" file was created (you will
		have) then you'll be appending told old entries that are out of
		order.  Your ".overview" files must be in sorted order for the
		other utilities to work right.


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

Subject:  "newgroup" control messages aren't being executed

> "newgroup" control messages aren't be executed

The usual blame for this is _PATH_EGREP points to a grep that doesn't
understand regular expressions.  For example, GNU grep only understands
regular expressions if it is called "egrep" (i.e. not "gnuegrep" or
"egnugrep").

Make sure you have a link or symlink between egnugrep and egrep.  You
then need to modify config.data so that _PATH_EGREP is
/your/local/path/egrep and NOT /your/local/path/egnuegrep.  Then
recompile and "make install" to have the new binaries and shell
scripts installed.

You also want to check the syntax of your control.ctl file.

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

Subject: What do these history.n.* files do?

Q: There are history.n, history.n.dir and history.n.pag lying around -
   what are they good for?

These files come from expire and are the new history. Without errors 
these files should disappear after expire is done. If they stay after
expire is finished, you most certainly have a problem with disk space
on the disk where history.* is or if not a broken line in history, which
caused expire to bail out.

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

Subject: Out of inodes but still space left on disk

If you have still space on your disk but no more inodes then you should 
consider rebuilding the partition on which your spool is.
Default options for filesystems are mostly to use 4k / inode. For a newsfs
this isn't appropriate, as articles are in average under 3k. So create
your newsspool with 2k per inode. 
If you rebuild you also could adjust the values for block-/fragsize 
to 4096/512 so you'll get more space out of your disk than on 8192/1024
(this will be a bit slower than 8k/1k for articles bigger than 4k, which 
are a minority so don't use it on a partition dedicated to alt.binaries)

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

Subject: Server throttled No space left on device writing article file

If df still shows you plenty of space then look if you have enough
inodes free. If not then refer to "Out of inodes but still space left on disk"


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

Subject: Is there a automatic way to update newsfeeds?

>Does anyone know of a way to automatically update the newsfeeds file?
>I'm looking for something that will allow a site to send a request

We use gup at various locations with big success. You can find it in
ftp://ftp.math.psu.edu/pub/INN/contrib

One sends a mail to gup, which gets processed and a new group list for
the site is written. Then from cron gupdate runs and gathers all site
files to your newsfeeds.

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

Subject: Reloading hosts.nntp is slow.
 
>" but I need to reload hosts.nntp each time I add
>a feed.  That takes about 15-25 minutes to happen.

Write a small script/program that parses hosts.nntp.txt and writes
only IP addresses to hosts.nntp and innd will reload it nearly
instantaneously.

or you can  lookup on each of the hosts before doing a ctlinnd reload.
Then it should be almost instantaneous. One could write up a script for that.

Somebody has to take the time to convert FQDN's to IP addresses, but
there's no requirement that it be innd.

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

Subject: What are these "xforte" commands that appear in my logs?

Q: I see "xforte" commands in syslog as unknown commands - where do they
come from?

Version 0.55 of Forte Free Agent uses this to make it so a news
server will not timeout even if the user is idle.  It appears to
happen once per minute when the user is idle.

After Version 0.55 Forte uses the help command as the anti-idle
command. So if you are just annoyed by the messages in syslog, encourage 
your users to upgrade to a newer version. In versions 1.0 and 0.99+ 
this feature can be turned off.

These anti-idle commands are a very bad behaviour, as the news reader does 
not disconnect, but occupies resources.

Btw. Pine seems to do this behaviour via 'NOOP'.

=====================================================================
        HOW DO I... (Big changes you can make to the system)
=====================================================================

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

Subject:  How do I set up a delayed IHAVE/SENDME over NNTP?

Christophe Wolfhugel <Christophe.Wolfhugel@grasp.insa-lyon.fr> writes:

Having some of your NNTP newsfeeds delayed by a fixed amount of time is
a good way to reduce your bandwidth requirements, or a good way to set
up a backup-feed.  By including a Wt flag in your newsfeeds file, INN
will insert timestamp entries in that batchfile, channels, or
exploders.  This timestamp can be used to implement delayed
ihave/sendme processing.  INN's senders (like innxmit) do not use that
data yet.  However, NNTPLINK does support this delayed IHAVE/SENDME
mechanism since release 3.3  (NNTPLINK can be found on
shape.mps.ohio-state.edu:/pub/nntplink/nntplink.tar.gz).

HOW TO DO IT:

The syntax that you would use in your newsfeeds file would be:

	site:*:Tf,Wtmn:

and run this command now and then:

	nntplink -i batchfile -y 300 -b site news.site.fr

The delayed IHAVE/SENDME is expected to allow bandwidth savings in
situations where all sites use nntplink in following topology:

	Your site -- 64k -----------+-----------  Site 1
	                            |               |
	                            |              2mb
	                            |               |
	                            +------------ Site 2

   Site 1 and 2 are in the same metropolitan area, you feed them both.
   With the standard nntplink layout, you generally send all articles
   twice, which is a waste even if you're at 2 Meg/s link and even if
   Site 1 and 2 do nntplinks, you're faster.

   The delayed link would be used between your site and Site 2.  A 2 or
   3 minute delay allows Site 1 to feed Site 2 before you, and in case
   of a Site 1 outage the backup starts nearly immediately.

   Reasonable delays are still kept as You -> 1 -> 2 should take less
   than one minute (or just 300 ms disk to disk if using nntplink -i ? :)).

Experiences seem to show that a 2 to 3 minutes delay is
a reasonable choice.

Chris

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

Subject: I want compressed news, but do not have uucp

There is an extension to the nntp Protocol called XBatch. XBatch
lets you tunnel binary data through a nntp connection. The batches
will be put in a separate directory on the receiving host, where they
can then be fed into rnews.

Before trying xbatch make sure, that you can get news via nntp!!!

To be able to receive XBatch batches you have to patch innd with the
following patch:

ftp://ftp.math.psu.edu/pub/INN/contrib/innxbatch-for-inn-1.4.tar.gz

The remote has to to install the innxbatch binary, which also is in 
the patch.

After successfully patching inn, you can check that the server really 
accepts xbatch (from a host which is in your hosts.nntp):

132 % telnet your.news.host.pilhuhn.de nntp
xbatch 3  <-- you type
339			result code
abc       <-- you type
239		    successfully accepted

You then want to install the following, which processes incoming 
batches (put it in the crontab for news):

cd /usr/spool/news/in.coming/xbatch
mv * ..
rnews -U

There is a unxbatch coming with the patch, but I find the above more
useful.

The remote creates the batches as it would do for uucp, but instead
of feeding them to uux they write it to a file, where is then fetched
by innxbatch (there is a sendxbatches script in the Patch):

% batcher -p "(echo \"#! cunbatch\" > /news/x.batch/$site.\$\$; compress >> /news/x.batch/$site.\$\$)" $site $site.togo
% innxbatch  "$host" /news/x.batch/$site.*

/news/x.batch is here a directory, where these outgoing batches are stored
until transmission.

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

Subject:  Can I use gzip with INN?

[this was written with the help of Michael Brouwer
<michael@tar.wft.stack.urc.tue.nl>]

There are three things that can be effected by using gzip:  Compression
of old logs, compressing batches to send out, and decompressing batches
that come in.

With INN 1.4 all you need to do is change two lines in config.data to
something like this:

COMPRESS                /usr/local/bin/gzip
DOTZ                    .gz

If you rebuild INN with these options set, all logs will be gzipped, and rnews
will use gzip to decompress news.

gzip will automaticly and transparently decompress UNIX Compress, SCO
UNIX Compress (I'm told it's 99% compatible with UNIX Compress), Pack,
and gzip.  Therefore, you can now receive batches compressed with any
of the above listed formats.  Let's say your site is now has "a
universal decompresser".

It has been reported that if you hardlink gzip to be zcat, and make
sure that it is the zcat that INN uses, you can get the "universal
decompresser" without having to use gzip for your logs.  (Though, gzip
for your logs is a big win, so why make trouble for yourself?)

`send-uucp' will still use compress for outgoing batches, so the sites
you feed won't suddenly start getting data they don't understand.

Before you can send gzipped batches, you should make sure that the
sites that you feed have made the above changes so that they have the
"universal decompresser" too.

Edit send-uucp to use gzip instead of compress for certain hosts (see
example of using compress -b12 for the host esac in send-uucp),
outgoing batches will be gzipped.

If you use sendbatch, you will have to edit the file so that COMPRESS
is set to "gzip" and COMPFLAGS is set to "-9vc".


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

Subject:  What do I do if /var/spool/news is split over multiple partitions?

READ THIS ENTIRE SECTION BEFORE YOU BEGIN.

First of all, you can do this by either mounting a filesystem at
/var/spool/news/comp (for example) or by mounting a filesystem anywhere
and making /var/spool/news/comp a symbolic link to the new partition.

Articles will be written as normal, but cross-posts have to be handled
specially now.  Usually INN handles crossposts by writing the article
to the first newssgroup, and then creating hard links to all the other
places where the article should appear.  Hard links do not take up
additional disk space (except making your directories longer).  Hard
links also have the advantage that the file data doesn't get deleted
until the last hard link is gone (and they can be deleted in any
order).  Therefore, you can expire each newsgroup at a different rate,
but the file data won't delete until it is expired from the last
newsgroup.

The problem is that two hard linked files must both be on the same
filesystem (partition).

When INN sees that it can not make a hard link (because an article is
cross-posted across two partitions) it will try to make a symbolic
link.  If your system can not do symbolic links, set HAVE_SYMLINKS to
DONT in your config.data file.  This will make INN write a second
(or third, etc.) copy of the file instead.  (NOTE: INN 1.4 doesn't
make the extra files.  This feature is planned for INN 1.5.)

Anyway, even though INN will automatically create symbolic links, you
have to give expire the "-l" flag so that it will know to modify its
behavior.  Suppose that a message is posted to rec.photo and
alt.cameras and suppose that rec.photo expires more quickly then the
alt group.  If this happens, then you will be left with a dangling
symlink.  The -l flag prevents this from happening by not removing
the file from rec.photos until alt.cameras expire time permits it
>from  being deleted.

To inform expire that your spool is split across multiple partitions:

In news.daily, change:
	EXPIREFLAGS="-v1"
to read
	EXPIREFLAGS="-v1 -l"

In expirerm, change:
	RMPROC="fastrm -e -u -s ${SPOOL}"
to read
	RMPROC="fastrm -e -s ${SPOOL}"

Now edit innwatch.ctl so that it checks all the spool disks, not just
".".  See the lines with "No space (spool)".

Lastly, edit innstat (the line with the "df") so that all spool disks
are included.  After that, you're done!

If you ever need to run "makehistory" you should pay attention to the
caveat in makehistory(8) (NB: This man page is called "news-recovery"
in releases before INN 1.5):
 
MOVING THE FILES:

Here is an example of moving /var/spool/news/rec to its own
partition:
	(mount the new disk onto /mnt)
	cd /var/spool/news/rec
	tar cf - . | ( cd /mnt && tar xpvf - )
	If you are confident you did it right, "rm -rf /var/spool/news/rec"
	then "mkdir /var/spool/news/rec".
	umount /mnt
	mount /var/spool/news/rec

If you are moving >50% of the spool, you might use dump instead of tar:
	dump 0f - /var/spool/news | ( cd /mnt && restore xf - rec)

Remember:  If you screw up the /etc/fstab, SunOS and many other UNIXs
won't boot.  fstab can't have any blank lines in many UNIXs either.
Double check the file after you modify it.


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

Subject: Sun Online Disk Suite for news spool?

Another way under SunOS 4.1.[34] not to use multiple partitions is 
to use the Sun Online Disk Suite. 
Several sites use this and have spool capacities up to 12 GB. It has 
been reported that using a stripe size of 1 cylinder gives the best
performance for the article filesystem.
Chris Schmidt <cs@germany.eu.net> elaborates more:

  "You add several physical volumes to get a logical volume. We have 
a meta partition made out of three 2GB disks with one partition each.
df shows:
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md1a            5878350 4831490  752943    87%    /EUnet/news/spool

With the Online Disk Suite you also can do striping to balance the 
load among the used disks: the first cylinder is on the first disk, 
the second on the second one, the third on the third one and the 
fourth on the first disk again .."

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

Subject:  Add local newsgroups?

Q: Does anyone have a cookbook example on how to create a local news group?

These are the steps ..

1) Make sure your innd is running
2) Add the group with: ctlinnd newgroup local.group
3) Add entries to newsfeeds to restrict the local groups to your 
   organization:
	ME:!local.*::

	out.going.site:*,!local.*:Tf,Wnm:
4) Add a descriptive entry to newsgroups
5) Ready :)

Please consider, that local is a very common name for local groups, so
if a user crossposts to local.test and misc.test the article will show
up in all local.test over the world. So please choose a 'better' name.

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

Subject:  Archiving expired articles

In <2hmomh$262@news.iastate.edu> rod@iastate.edu writes:
>What options do I have in INN for archiving local newsgroups?
>Any help would be appreciated. Any cookbook examples would also help.

See doc/archive.8.  You could also put "never:never:never" in your
expire.ctl file.

Here's a cookbook example of an archive feed:
	# Feed all moderated source postings to an archiver
	source-archive!:!*,*sources*,!*wanted*,!*.d\
		:Tc,Nm,Wn:/usr/local/bin/archive -f -i /usr/spool/news.archive/INDEX

Ulf Kieber <uk1@irz.inf.tu-dresden.de> writes:
The INN 1.4 newsfeeds(5) man page show how to set up a /program/ feed
for archive.  The "archive" program currently does NOT support this
method.  i.e. do not use Tp in "newsfeeds" for an archive feed.

Even if "archive" supported being used as a program feed, you would not
want to use it as such if you intended to use the ``-i'' flag as
archive does not do any file locking on it's index file.  The index
file might get corrupted by multiple concurrently running instances of
archive, as may happen with a program feed.


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

Subject:  How do I restrict access on certain newsgroups (like alt.sex)

>If I were running a news server, and some of my users complained that they
>didn't want their kids being able to access some of the newsgroups, would it
>be possible to block access to specific newsgroups on a per-user basis?

>I'm not asking if it's easy, just _possible_.

If they are not using NNTP for reading, you can make a /etc/group entry
for a group called something special, like "horny" and give only users
in group horny access to read that directory:

	chown news /var/spool/news/alt/sex
	chgrp horny /var/spool/news/alt/sex
	chmod 750 /var/spool/news/alt/sex
	chmod 750 /var/spool/news/over.view/alt/sex	# your NOV data
	chmod 770 /var/spool/news/in.coming
	chmod 770 /var/spool/news/out.going

Now only people in the group "horny" can read that newsgroup.  Everyone
can subscribe to it, but only horny people can read it.  innd (which
runs as "news") will still be able to do its business.

Inn 1.4 has a authentication scheme called authinfo for use with NNTP. 
The user must supply a name and a password. if they match an entry in 
nnrp.access then the user may read the groups specific to this entry. 
An example entry for nnrpd.access:

----------
*.pilhuhn.de:R P:::*,!pilhuhn.foo
:R P:hwr:XXX:*
----------

Here users from hosts *.pilhuhn.de may read and post in all groups
besides pilhuhn.foo. If a user authenticates a user hwr with password
XXX then he or she might also read pilhuhn.foo.
Note that those 'password entries' need to be last in nnrp.access.
There is a bug in inn1.4 which allows users to post to such a protected 
group if they know the name of the group even if they can't read it. 
nnrp.access-auth.patch (on the usual patch site) cures this.

If the newsreader software doesn't support this then you can still restrict 
access on a per-host basis.  To read a specific group you then need to be
on a specific machine (but then everybody on that machine can read the group).

In 1.5 there will be a better protocol for doing this and it should
gain better acceptance than the current protocol.


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

Subject:  INN on one machine, UUCP modem on a different one

Say you have a machine named "newsy" and "modemhead".  "newsy" runs INN
but only "modemhead" has any modems.

A quick overview:  config.data has a variable called "RNEWSLOCALCONNECT".
If it is set to "DO", "rnews" will expect to be running on the same
machine as "innd".  On the other hand, if "RNEWSLOCALCONNECT" is set to
"DONT" then "rnews" will connect to the machine listed in "inn.conf".
Sending batches is a little more complicated.

Receiving batches on modemhead:  Make sure config.data has
"RNEWSLOCALCONNECT" set to "DONT", recompile, and copy /bin/rnews and
/usr/lib/news/inn.conf to modemhead.  The unbatching will be done on
modemhead, but the articles will be sent to newsy.  It will work like
magic.  When /bin/rnews runs, it will open an NNTP connection to newsy
and feed the batch (one article at a time) to newsy... newsy thinks
it's just getting a regular NNTP feed.  (which means modemhead has to
be listed in hosts.nntp).  If newsy and modemhead are different platforms
(i.e. Ultrix vs. SunOS) you can use the MakeRnews script (mentioned
in Install.ms) to generate just rnews for the modemhead machine.

Sending batches via modemhead:  The "sendbatch" program calls $(UUX).
Change ${UUX} to be something like "rsh modemhead uux" instead of "uux".
You'll have to do a little hacking on sendbatch.  For example, the part
that checks to see if the queue is full might have to be re-written.
Anyway... now the batches will be generated and send via modemhead's
UUCP system.

Pretty neat, eh?


Other advice:

I set UUX to 'rsh uucphost uux' (note no pipe [|]).
Also, we have no 'uuq' command, but even if we did, it would have
	returned bogus info as $SITE is not known to UUCP on newshost.
	Thus I created a stupid 'uuq' that does 'echo 0 0 0 0 0 0 0'
	to satisfy the awk script.  However, we have no way to monitor
	queue length (though its of little importance to us as we only have
	3 feeds and they are partial)
Finally, the /etc/passwd entry for 'news' on 'uucphost' MUST list /bin/sh;
	/bin/csh results in 'rnews: event not found' and escaping the '!'
	inside sendbatch had no effect.


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

Subject:  Setting up proxy-nntp to talk through a firewall

Try ftp.cs.cmu.edu:misc/dnntpd/dnntpd.tar.Z

or look at backends/rcompressed.c in the INN distribution.

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

Subject:  How do I set up inpaths with INN?

inpaths should work just fine with INN as it ships.  However, you can
make it run faster by using the following shell script.  Edit it to
your tastes.  It replaces the long "(cd /var/spool/news ;
/usr/local/bin/gfind . -type f -print | /usr/lib/news/local/inpaths sdl
| /usr/ucb/mail admin,pathsurvey@decwrl.dec.com )" which people usually
use.

#!/bin/sh
. /usr/lib/news/innshellvars
cd ${SPOOL}
awk '(NF > 2){print $3}' < ${HISTORY} | tr . / | sort | \
inpaths `innconfval pathhost` | \
${MAILCMD} newsmaster,pathsurvey@decwrl.dec.com

If the inpaths people would include this information in the
README, I could delete it from this FAQ.

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

Subject: Fill different types of control messages in different directories?

If you want to keep newgroup messages longer and expire cancel messages after
half a day you can do the following:

Create the groups control.newgroup and control.cancel

ctlinnd newgroup control.newgroup
ctlinnd newgroup control.cancel

Add the following to expire.ctl:

control.*:A:1:2:4
control.sendsys:A:10:15:21
control.newgroup:A:10:15:21

so all control messages typically expire after 2 days, but sendsys and 
newgroup messages are normally kept for 15 days.
You should also change newsfeeds appropriately to reflect the changes that
control now is a group and a hierarchy.

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

Subject: Use more than ~100 Feeds on SunOS 4.1 ?

SunOS 4.1 normally has a limit of 256 file descriptors per process. But
unfortunately there is a bug in stdio (the use of a _signed_ char ) which
lets one only use 128 file descriptors.
One way would be to use an exploder feed (like bufchan).
The other is:
   There is a stdio replacement called sfio which you can get from 
http://netlib.att.com/netlib/attgifts/sfio.shar.Z
Just compile it as indicated in the package. After that, you must tweak
config.data a bit to use sfio:

DEFS            -I../include -I/usr/local/include/sfio
CC              gcc
CFLAGS          $(DEFS) -O2
DBZCFLAGS      $(CFLAGS) -DMMAP
LDFLAGS         (empty)
LIBS            -L/usr/local/lib/sfio -lsfio
VAR_STYLE       STDARGS (important! sfio doesn't like varargs if compiled ANSI)
NOFILE_LIMIT    -1
EXITVAL         volatile void
_EXITVAL        volatile void

Just recompile inn then and go for it.

If you even need more than 256 descriptors, then you can use SunDBE (the
Sun Databese Excelerator) which raises the limit from 256 to 1024.
Thanks to Christopher Davis <ckd@loiosh.kei.com> for this tip.


=====================================================================
                           INFO ABOUT 1.5
=====================================================================

INN 1.5 hasn't been released yet.  However, people constantly mis-type
"INN 1.5" when they mean "INN 1.4".  The bug is in the human posting
the message, not the software.

Release date for 1.5:  Unknown by even the author.

New features in 1.5:

1)  Fix memory leaks in makehistory, thereby speeding it up.

2)  Posting always allowed, even when server is throttled.

3)  Operating systems that require HAVE_UNIX_DOMAIN set to DONT won't
	be so, uh, handicapped.

4)  A global killfile controlled by a function you write in TCL.
	(Start learning TCL now if you want to stay totally hip.)

5)  More interesting ways to control access to nnrpd.

6)  More support for systems that don't have symbolic links.

7)  Free beer.

8)  Just kidding about #6.

None of these features prevent you from having a happy,
healthy and productive life with INN 1.4sec.

DO NOT ASK RICH ABOUT 1.5.  IT WILL BE RELEASED WHEN IT IS DONE, NOT
WHEN SUFFICIENT NUMBERS OF PEOPLE HAVE ASKED WHEN IT WILL BE FINISHED.
Post to news.software.nntp if you have questions about features.


=====================================================================
                             BUGS IN 1.4
=====================================================================

UNOFFICIAL patches for INN 1.4 are available via anonymous FTP at
ftp://ftp.math.psu.edu/pub/INN/patches

The file ftp://ftp.math.psu.edu/pub/INN/patches/README describes
each of the UNOFFICIAL patches.

The ones that are highly recommended are:

1.4-to-1.4sec     -- Fixes the major security hole in INN.
1.4sec-to-1.4sec2 -- Fixes the remaining known security hole in INN.
select-loop-bug.patch -- Under some circumstances innd can lose track
		of a file descriptor and end up sitting in a select()
		loop.  If your INN suddenly is using up tons of CPU
		time and not getting much done, install this UNOFFICIAL
		patch.  Some OSs are more susceptible to this bug.

THERE ARE MANY MORE at that site, many add some useful features.

There is a replacement for innwatch that is written in Perl.  Get it from
"ftp://ftp.univ-lyon1.fr/pub/unix/news/inn/contrib/innwatch-beta2.pl.gz".
This directory is mirrored on ftp://ftp.math.psu.edu/pub/INN/contrib


=====================================================================
                             BUGS IN 1.3
=====================================================================


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

Subject:  7-bit encoded batches are not correctly processed. Why is this?

Chris Schmidt <cs@germany.eu.net> replies:

The decode program that comes with INN up to version 1.3 is broken.
Because of that the last article in a 7bit encoded batch will not
correctly be decoded (the last characters are screwed up).  This is
fixed in INN 1.4.


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

Subject:  NOV (overchan) doesn't work well.

Correct.  The NOV support in 1.3 didn't have all the bugs worked out.
Don't use NOV under INN 1.3.  Better yet, upgrade to 1.4sec and get all
the benefits!


=====================================================================
                             BUGS IN 1.2
                 (Hey, it's 1995!  Upgrade already!)
=====================================================================

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

Subject:  Why doesn't nntpget work?

The nntpget in INN 1.2 doesn't work.  Period.  Upgrade to the latest
version of INN.


-- 
Heiko W.Rupp        Gerwigstr.5        D-76131  Karlsruhe    +49 721 9661524
"USENET is William Shatner and George Bush trading places after being hit
 by lightning." -- James 'Kibo' Parry


