[2542] in RedHat Linux List
Fixed INN Package
daemon@ATHENA.MIT.EDU (Greg Boehnlein)
Mon Nov 4 03:01:01 1996
Date: Mon, 4 Nov 1996 02:53:19 -0500 (EST)
From: Greg Boehnlein <damin@seka.nacs.net>
To: Redhat Support <redhat-list@redhat.com>
Resent-From: redhat-list@redhat.com
Reply-To: redhat-list@redhat.com
Gentleman,
For the longest time, I have been extremely frustrated by the INN
that comes packaged with RedHat. Since RedHat 3.0.3 came out, I have been
wanting to devote some time to creating a good, solid, well performing INN
distribution that can be easily and samelessly installed over an existing
RedHat system.
With the advent of RedHat 4.0 and the improvements in Linux 2.0, I
finally was able to take the time and begin working on this project. For
starters, I took the original inn-1.4unoff4-2.src.rpm file distributed
with Colgate and added all the current bug-fix and performance patches
from David Barr's INN page (http://www.math.psu.edu/barr/INN.html). The
excerpts below explain the patches and the issues that they are supposed
to correct.
Additionally, I fixed an annoying bug with innwatch.ctl that would
cause the server to die with a "low disk space" notification. This was the
result of innwatch.ctl parsing the wrong parameter from a df -i command.
And finally, since Linux 2.0 has good solid MMAP support
(supposedly) I added a patch to the config.data file to enable this
support. It should improve the speed of the server a bit.
I've made the files available for FTP from ftp.nacs.net as
ftp://ftp.nacs.net/pub/inn-1.4unoff4-3.i386.rpm
ftp://ftp.nacs.net/pub/inews-1.4unoff4-3.i386.rpm
ftp://ftp.nacs.net/pub/inn-1.4unoff4-3.src.rpm
If anyone would like to test them, I would be interested. I've not been
able to successfully compile on my Alpha yet, but the machine is in a bad
state and in need of a fresh install of RedHat. If anyone feels like
tweaking things to get it to work on the alpha, be my guest. Please send
me the patches required though, so I can intergrate them back into the
source code.
This has been running on our news-server for a bit and although I don't
feel comfortable enough yet to say that it is by any means stable, our
clients have commented on the speed increase. I haven't experienced any
major problems on the box yet.
Please download, test and let me know..
Here is a list of the patches and fixes that have been intergrated into
this release. I didn't write most of them, just grabbed them off of Dave
Barr's INN web page. Special thanks to Karl from Linuxnet who gave me a
"correct" shared-active patch for Linux.
Updates
-------
1. Installed the proc.c.patch file.
When PROCtable is expanded, new entries are not initialised. This
causes lots of problems. :) In some of my core files, the table had grown
to over 100,000 entries (six bytes each), which is searched linearly
in many places. This may explain my observation that innd gets better
performance if I kill and restart it daily.
This patch is for INN-1.4unoff4, but it's needed in INN-1.5a2, as well.
2. Installed the path.history.patch file.
> I'm back, and I looked through the source. BUG! Check out expire.c in the
> inn1.4unoff4 distribution. You'll find this:
>
> HistoryText = _PATH_HISTORY;
> HistoryPath = NULL;
>
> I'm no rocket scientist, but I think it should be this:
>
> HistoryPath = _PATH_HISTORY;
> HistoryText = NULL;
>
> Anyway, I made that modification, recompiled, ran news.daily, and VIOLA!
> Everything works just like it is supposed to! (For now anyway...)
>
> Please tell me if I just screwed myself. ;-)
I think you did... The (poorly named) variable HistoryPath really means the
directory the history file is in, not the path of the history file itself,
whereas _PATH_HISTORY *is* the path of the history file. I'm surprised it
doesn't core dump, unless you're passing in a '-h' and a '-d'
flag. Appended here is a patch that *should* work against unoff4's
expire.c.
3. Installed the stream.patch file.
With the increasing pupularity of streaming feeds, it is becoming more
common for the amount of work presented to innd each time round the select
loop to be so great that it takes more than a few seconds per cycle. By
cranking up the number of unacknowledged CHECK or TAKETHIS commands that a
remote site is prepared to send, I can cause innd to take more than 10
minutes per cycle of the select loop. Newsreader clients don't want to
wait that long before getting the welcome banner when they connect.
I have addressed this problem in two ways: By making the select loop
check for new connection requests more often than it checks for work on
most other channels (in much the same way as it checks for requests on the
control channel more often than it checks for ordinary work), and by
reading no more than BUFSIZE characters at a time from NNTP feeds.
4. Installed the crosspost.patch file.
The code in crosspost was largly lifted from overchan and innd. When
the first attempt to create a link fails it calls MakeSpoolDir().
Unfortunately the two pieces of code didn't mesh well.
This patch should correct the problem:
5. Installed the Shared Active patch that allows multiple users to
share a single copy of the Active file in memory, thereby conserving
memory usage on the server.
6. Created the innwatch.patch that sets up correct parameters to work
with RedHat's "df" command. It was checking the wrong column before and
causing innwatch to shut down the server.
7. Created the mmap-enable.patch to enable the usage of mmap. This should
increase the speed a bit on systems.
--
Senior Partner of New Age Consulting Service, Cleveland Ohio (216)-619-2015
SLIP/PPP/Unix Shell 28.8k / ISDN / Leased Line
http://www.nacs.net info@nacs.net (216)-524-8414
--
PLEASE read the Red Hat FAQ, Tips, Errata and the MAILING LIST ARCHIVES!
________________________________________________________________________
http://www.redhat.com/RedHat-FAQ http://www.redhat.com/RedHat-Errata
http://www.redhat.com/RedHat-Tips http://www.redhat.com/mailing-lists
------------------------------------------------------------------------
To unsubscribe: mail -s unsubscribe redhat-list-request@redhat.com < /dev/null