This directory contains unsupported contributions to INN. Most of these programs are of interest to a limited set of sites, require some manual modifications to make work, and/or are separately maintained independent of INN. Programs in here may or may not have been tested on the latest version of INN, so keep that in mind when trying them out. The INN developers may not be able to answer bug reports for these utilities; it's best to send them to the original author. Volunteers who would like to take particularly useful applications in this directory and make them suitable for inclusion in INN proper are heartily encouraged, but discuss this on inn-workers@isc.org. Sometimes there's a reason why this hasn't already been done or something specific that's needed before they can be included. Type "make " to build any of the following programs and then copy the binary to somewhere on your PATH to use it. For details on what each program does, see below, as well as the comments at the beginning of each file (if any). In addition to these files, also see the contrib section of the INN FTP site at for more software designed to work with INN. ------------------------- archivegz A compressing version of archive, writing out .gz files instead of plain text files. May not work with the storage API without some changes to use sm. backlogstat Prints informations about the current state of innfeed's backlog, if any. backupfeed Another version of suck or pullnews that downloads posts from a remote news server and offers them to the local news server. cleannewsgroups Performs various cleanups on the newsgroups file. count_overview.pl Counts the groups in a bunch of Xref records. delayer Sits in a data stream and delays it by some constant period of time. Mostly useful for delaying innfeed feeds to allow cancels a chance to remove articles before innfeed sends them to your peers. See the beginning of the file for an example of how to use it. expirectl Automatically builds expire.ctl based on current available disk space and a template, adjusting the expiration times of groups based on a weight and the available space. Uses a template expire.ctl.ctl file; see the end of expirectl.c for a sample. findreadgroups Scans the news log files and generates a file giving readership counts by newsgroup. Used by makeexpctl and makestorconf. fixhist Performs various cleanups and sanity checks on the history database. innconfcheck Merges your inn.conf settings with the inn.conf man page to make it easier to be sure that your settings match what you want. Edit this script to add the correct paths to the man page; see the comments at the beginning of this script. makeexpctl Generates an expire.ctl based on what newsgroups are actually read. Uses data generated by findreadgroups. This script will require editing before being usable for your server. makestorconf Generates a storage.conf file putting frequently read newsgroups into timecaf rather than CNFS. Uses data gefnerated by findreadgroups. This script will require editing before being usable for your server. mkbuf Creates a CNFS cycbuff; see the comments at the beginning of this script. mlockfile Locks files given on the command line into memory using mlock (only tested on Solaris). Useful primarily for locking the history files (history.hash and history.index) into memory on a system with sufficient memory to speed history lookups in innd. This seems to help some systems quite a lot and others not at all. newsresp Opens an NNTP channel to a server and takes a peek at various response times. Can check the round-trip time and the history lookup time. See the comments at the beginning of the source for more details. pullart Attempts to pull news articles out of CNFS cycbuffs. Useful for emergency recoveries. reset-cnfs Clears a CNFS cycbuff; see the comments at the beginning of this script. respool Takes a list of tokens on stdin and respools them, by retrieving the article, storing it again, and then calling SMcancel on the previous instance of the article. Note that after running this program, you'd need to rebuild the history and overview, since it doesn't update either. showtoken Decodes storage API tokens. stathist Parses and summarizes the log files created by the history profiling code. thdexpire A dynamic expire daemon for timehash and timecaf spools. It should be started along with innd and periodically looks if news spool space is getting tight, and then frees space by removing articles until enough is free. It is an adjunct to (not a replacement for) INN's expire program. tunefeed Given two active files, attempts to produce a good set of wildmat patterns for newsfeeds to minimize the number of rejects. For full documentation, run "perldoc tunefeed".