chiark / gitweb /
REORG Delete everything that's not innduct or build system or changed for innduct
authorIan Jackson <ian@liberator.(none)>
Sat, 15 May 2010 16:17:27 +0000 (17:17 +0100)
committerIan Jackson <ian@liberator.(none)>
Sat, 15 May 2010 16:17:27 +0000 (17:17 +0100)
735 files changed:
CONTRIBUTORS [deleted file]
ChangeLog [deleted file]
HACKING [deleted file]
INSTALL [deleted file]
LICENSE [deleted file]
MANIFEST [deleted file]
NEWS [deleted file]
README [deleted file]
TODO [deleted file]
authprogs/Makefile [deleted file]
authprogs/auth_krb5.c [deleted file]
authprogs/auth_smb.c [deleted file]
authprogs/ckpasswd.c [deleted file]
authprogs/domain.c [deleted file]
authprogs/ident.c [deleted file]
authprogs/libauth.c [deleted file]
authprogs/libauth.h [deleted file]
authprogs/radius.c [deleted file]
authprogs/smbval/Makefile [deleted file]
authprogs/smbval/byteorder.h [deleted file]
authprogs/smbval/rfcnb-common.h [deleted file]
authprogs/smbval/rfcnb-error.h [deleted file]
authprogs/smbval/rfcnb-io.c [deleted file]
authprogs/smbval/rfcnb-io.h [deleted file]
authprogs/smbval/rfcnb-priv.h [deleted file]
authprogs/smbval/rfcnb-util.c [deleted file]
authprogs/smbval/rfcnb-util.h [deleted file]
authprogs/smbval/rfcnb.h [deleted file]
authprogs/smbval/session.c [deleted file]
authprogs/smbval/smbdes.c [deleted file]
authprogs/smbval/smbencrypt.c [deleted file]
authprogs/smbval/smblib-common.h [deleted file]
authprogs/smbval/smblib-priv.h [deleted file]
authprogs/smbval/smblib-util.c [deleted file]
authprogs/smbval/smblib.c [deleted file]
authprogs/smbval/smblib.h [deleted file]
authprogs/smbval/valid.c [deleted file]
authprogs/smbval/valid.h [deleted file]
backends/ [deleted file]
backends/actsync.c [deleted file]
backends/ [deleted file]
backends/archive.c [deleted file]
backends/batcher.c [deleted file]
backends/buffchan.c [deleted file]
backends/crosspost.c [deleted file]
backends/cvtbatch.c [deleted file]
backends/filechan.c [deleted file]
backends/inndf.c [deleted file]
backends/innxbatch.c [deleted file]
backends/innxmit.c [deleted file]
backends/map.c [deleted file]
backends/map.h [deleted file]
backends/ [deleted file]
backends/ [deleted file]
backends/ninpaths.c [deleted file]
backends/nntpget.c [deleted file]
backends/ [deleted file]
backends/overchan.c [deleted file]
backends/ [deleted file]
backends/ [deleted file]
backends/ [deleted file]
backends/ [deleted file]
backends/ [deleted file]
backends/shlock.c [deleted file]
backends/shrinkfile.c [deleted file]
contrib/Makefile [deleted file]
contrib/README [deleted file]
contrib/ [deleted file]
contrib/auth_pass.README [deleted file]
contrib/auth_pass.c [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/expirectl.c [deleted file]
contrib/ [deleted file]
contrib/fixhist [deleted file]
contrib/innconfcheck [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/mkbuf [deleted file]
contrib/mlockfile.c [deleted file]
contrib/newsresp.c [deleted file]
contrib/pullart.c [deleted file]
contrib/reset-cnfs.c [deleted file]
contrib/respool.c [deleted file]
contrib/sample.init.script [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
contrib/ [deleted file]
control/Makefile [deleted file]
control/ [deleted file]
control/ [deleted file]
control/ [deleted file]
control/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/modules/ [deleted file]
control/ [deleted file]
control/ [deleted file]
control/ [deleted file]
debian/changelog [deleted file]
debian/changelog.old [deleted file]
debian/compat [deleted file]
debian/inn2-dev.files [deleted file]
debian/inn2-dev.links [deleted file]
debian/inn2-inews.files [deleted file]
debian/inn2-inews.links [deleted file]
debian/inn2.README.Debian [deleted file]
debian/inn2.cron.d [deleted file]
debian/ [deleted file]
debian/inn2.examples [deleted file]
debian/inn2.init [deleted file]
debian/inn2.links [deleted file]
debian/inn2.logcheck.ignore.server [deleted file]
debian/inn2.logcheck.violations.ignore [deleted file]
debian/inn2.postinst [deleted file]
debian/inn2.postrm [deleted file]
debian/inn2.preinst [deleted file]
debian/inn2.prerm [deleted file]
debian/patches/debian-paths [deleted file]
debian/patches/fix_ad_flag [deleted file]
debian/patches/fix_body_regexps [deleted file]
debian/patches/no-makedbz-on-install [deleted file]
debian/patches/nocem-gpg-import [deleted file]
debian/patches/series [deleted file]
debian/patches/typo_inn_conf_man [deleted file]
debian/patches/u_innreport_misc [deleted file]
debian/patches/u_right_length [deleted file]
debian/patches/u_status_init_ip [deleted file]
debian/patches/u_tls_duplicate_reply [deleted file]
debian/patches/u_xhdr_permissions [deleted file]
debian/patches/u_xover_duplicate_reply [deleted file]
debian/rules [deleted file]
debian/watch [deleted file]
doc/GPL [deleted file]
doc/IPv6-info [deleted file]
doc/checklist [deleted file]
doc/compliance-nntp [deleted file]
doc/config-design [deleted file]
doc/config-semantics [deleted file]
doc/config-syntax [deleted file]
doc/external-auth [deleted file]
doc/history [deleted file]
doc/hook-perl [deleted file]
doc/hook-python [deleted file]
doc/hook-tcl [deleted file]
doc/man/Makefile [deleted file]
doc/man/active.5 [deleted file]
doc/man/active.times.5 [deleted file]
doc/man/actsync.8 [deleted file]
doc/man/actsyncd.8 [deleted file]
doc/man/archive.8 [deleted file]
doc/man/auth_krb5.8 [deleted file]
doc/man/auth_smb.8 [deleted file]
doc/man/batcher.8 [deleted file]
doc/man/buffchan.8 [deleted file]
doc/man/buffindexed.conf.5 [deleted file]
doc/man/ckpasswd.8 [deleted file]
doc/man/clientlib.3 [deleted file]
doc/man/cnfsheadconf.8 [deleted file]
doc/man/cnfsstat.8 [deleted file]
doc/man/control.ctl.5 [deleted file]
doc/man/controlchan.8 [deleted file]
doc/man/convdate.1 [deleted file]
doc/man/ctlinnd.8 [deleted file]
doc/man/cvtbatch.8 [deleted file]
doc/man/cycbuff.conf.5 [deleted file]
doc/man/dbz.3 [deleted file]
doc/man/distrib.pats.5 [deleted file]
doc/man/domain.8 [deleted file]
doc/man/expire.8 [deleted file]
doc/man/expire.ctl.5 [deleted file]
doc/man/expireover.8 [deleted file]
doc/man/expirerm.8 [deleted file]
doc/man/fastrm.1 [deleted file]
doc/man/filechan.8 [deleted file]
doc/man/getlist.1 [deleted file]
doc/man/grephistory.1 [deleted file]
doc/man/history.5 [deleted file]
doc/man/ident.8 [deleted file]
doc/man/incoming.conf.5 [deleted file]
doc/man/inews.1 [deleted file]
doc/man/inn.conf.5 [deleted file]
doc/man/inncheck.8 [deleted file]
doc/man/innconfval.1 [deleted file]
doc/man/innd.8 [deleted file]
doc/man/inndcomm.3 [deleted file]
doc/man/inndf.8 [deleted file]
doc/man/inndstart.8 [deleted file]
doc/man/innfeed.1 [deleted file]
doc/man/innfeed.conf.5 [deleted file]
doc/man/innmail.1 [deleted file]
doc/man/innreport.8 [deleted file]
doc/man/innstat.8 [deleted file]
doc/man/innupgrade.8 [deleted file]
doc/man/innwatch.8 [deleted file]
doc/man/innwatch.ctl.5 [deleted file]
doc/man/innxbatch.8 [deleted file]
doc/man/innxmit.8 [deleted file]
doc/man/libauth.3 [deleted file]
doc/man/libinn.3 [deleted file]
doc/man/libinnhist.3 [deleted file]
doc/man/libstorage.3 [deleted file]
doc/man/list.3 [deleted file]
doc/man/mailpost.8 [deleted file]
doc/man/makeactive.8 [deleted file]
doc/man/makedbz.8 [deleted file]
doc/man/makehistory.8 [deleted file]
doc/man/mod-active.8 [deleted file]
doc/man/moderators.5 [deleted file]
doc/man/ [deleted file]
doc/man/news.daily.8 [deleted file]
doc/man/news2mail.8 [deleted file]
doc/man/newsfeeds.5 [deleted file]
doc/man/newslog.5 [deleted file]
doc/man/ninpaths.8 [deleted file]
doc/man/nnrpd.8 [deleted file]
doc/man/nnrpd.track.5 [deleted file]
doc/man/nntpget.1 [deleted file]
doc/man/nntpsend.8 [deleted file]
doc/man/nntpsend.ctl.5 [deleted file]
doc/man/ovdb.5 [deleted file]
doc/man/ovdb_init.8 [deleted file]
doc/man/ovdb_monitor.8 [deleted file]
doc/man/ovdb_server.8 [deleted file]
doc/man/ovdb_stat.8 [deleted file]
doc/man/overchan.8 [deleted file]
doc/man/overview.fmt.5 [deleted file]
doc/man/parsedate.3 [deleted file]
doc/man/passwd.nntp.5 [deleted file]
doc/man/perl-nocem.8 [deleted file]
doc/man/pgpverify.1 [deleted file]
doc/man/prunehistory.8 [deleted file]
doc/man/pullnews.1 [deleted file]
doc/man/ [deleted file]
doc/man/qio.3 [deleted file]
doc/man/radius.8 [deleted file]
doc/man/radius.conf.5 [deleted file]
doc/man/ [deleted file]
doc/man/readers.conf.5 [deleted file]
doc/man/rnews.1 [deleted file]
doc/man/sasl.conf.5 [deleted file]
doc/man/scanlogs.8 [deleted file]
doc/man/send-nntp.8 [deleted file]
doc/man/send-uucp.8 [deleted file]
doc/man/sendinpaths.8 [deleted file]
doc/man/shlock.1 [deleted file]
doc/man/shrinkfile.1 [deleted file]
doc/man/simpleftp.1 [deleted file]
doc/man/sm.1 [deleted file]
doc/man/startinnfeed.1 [deleted file]
doc/man/storage.conf.5 [deleted file]
doc/man/subscriptions.5 [deleted file]
doc/man/tally.control.8 [deleted file]
doc/man/tdx-util.8 [deleted file]
doc/man/tst.3 [deleted file]
doc/man/uwildmat.3 [deleted file]
doc/man/writelog.8 [deleted file]
doc/pod/Makefile [deleted file]
doc/pod/active.pod [deleted file]
doc/pod/active.times.pod [deleted file]
doc/pod/auth_krb5.pod [deleted file]
doc/pod/auth_smb.pod [deleted file]
doc/pod/checklist.pod [deleted file]
doc/pod/ckpasswd.pod [deleted file]
doc/pod/control.ctl.pod [deleted file]
doc/pod/convdate.pod [deleted file]
doc/pod/cycbuff.conf.pod [deleted file]
doc/pod/distrib.pats.pod [deleted file]
doc/pod/domain.pod [deleted file]
doc/pod/expire.ctl.pod [deleted file]
doc/pod/expireover.pod [deleted file]
doc/pod/external-auth.pod [deleted file]
doc/pod/fastrm.pod [deleted file]
doc/pod/grephistory.pod [deleted file]
doc/pod/hacking.pod [deleted file]
doc/pod/hook-perl.pod [deleted file]
doc/pod/hook-python.pod [deleted file]
doc/pod/ident.pod [deleted file]
doc/pod/inews.pod [deleted file]
doc/pod/inn.conf.pod [deleted file]
doc/pod/innconfval.pod [deleted file]
doc/pod/innd.pod [deleted file]
doc/pod/inndf.pod [deleted file]
doc/pod/inndstart.pod [deleted file]
doc/pod/innmail.pod [deleted file]
doc/pod/innupgrade.pod [deleted file]
doc/pod/install.pod [deleted file]
doc/pod/libauth.pod [deleted file]
doc/pod/libinnhist.pod [deleted file]
doc/pod/list.pod [deleted file]
doc/pod/mailpost.pod [deleted file]
doc/pod/makehistory.pod [deleted file]
doc/pod/ [deleted file]
doc/pod/news.pod [deleted file]
doc/pod/newsfeeds.pod [deleted file]
doc/pod/ninpaths.pod [deleted file]
doc/pod/nnrpd.pod [deleted file]
doc/pod/ovdb.pod [deleted file]
doc/pod/ovdb_init.pod [deleted file]
doc/pod/ovdb_monitor.pod [deleted file]
doc/pod/ovdb_server.pod [deleted file]
doc/pod/ovdb_stat.pod [deleted file]
doc/pod/passwd.nntp.pod [deleted file]
doc/pod/pullnews.pod [deleted file]
doc/pod/qio.pod [deleted file]
doc/pod/radius.conf.pod [deleted file]
doc/pod/radius.pod [deleted file]
doc/pod/ [deleted file]
doc/pod/readers.conf.pod [deleted file]
doc/pod/readme.pod [deleted file]
doc/pod/sasl.conf.pod [deleted file]
doc/pod/sendinpaths.pod [deleted file]
doc/pod/simpleftp.pod [deleted file]
doc/pod/sm.pod [deleted file]
doc/pod/subscriptions.pod [deleted file]
doc/pod/tdx-util.pod [deleted file]
doc/pod/tst.pod [deleted file]
doc/pod/uwildmat.pod [deleted file]
doc/sample-control [deleted file]
expire/Makefile [deleted file]
expire/convdate.c [deleted file]
expire/expire.c [deleted file]
expire/expireover.c [deleted file]
expire/ [deleted file]
expire/fastrm.c [deleted file]
expire/grephistory.c [deleted file]
expire/makedbz.c [deleted file]
expire/makehistory.c [deleted file]
expire/prunehistory.c [deleted file]
extra/active [deleted file]
extra/buildinnkeyring [deleted file]
extra/bunbatch [deleted file]
extra/dh_cloneconf [deleted file]
extra/ginpaths2 [deleted file]
extra/newsgroups [deleted file]
extra/sasl.conf [deleted file]
extra/ [deleted file]
frontends/Makefile [deleted file]
frontends/ [deleted file]
frontends/ [deleted file]
frontends/ctlinnd.c [deleted file]
frontends/decode.c [deleted file]
frontends/encode.c [deleted file]
frontends/feedone.c [deleted file]
frontends/getlist.c [deleted file]
frontends/inews.c [deleted file]
frontends/innconfval.c [deleted file]
frontends/ [deleted file]
frontends/ovdb_init.c [deleted file]
frontends/ovdb_monitor.c [deleted file]
frontends/ovdb_server.c [deleted file]
frontends/ovdb_stat.c [deleted file]
frontends/ [deleted file]
frontends/rnews.c [deleted file]
frontends/ [deleted file]
frontends/sm.c [deleted file]
frontends/sys2nf.c [deleted file]
history/Make.methods [deleted file]
history/Makefile [deleted file]
history/ [deleted file]
history/his.c [deleted file]
history/hisinterface.h [deleted file]
history/hisv6/hismethod.config [deleted file]
history/hisv6/hisv6-private.h [deleted file]
history/hisv6/hisv6.c [deleted file]
history/hisv6/hisv6.h [deleted file]
include/Makefile [deleted file]
include/acconfig.h [deleted file]
include/clibrary.h [deleted file]
include/conffile.h [deleted file]
include/dbz.h [deleted file]
include/inn/buffer.h [deleted file]
include/inn/confparse.h [deleted file]
include/inn/defines.h [deleted file]
include/inn/hashtab.h [deleted file]
include/inn/history.h [deleted file]
include/inn/innconf.h [deleted file]
include/inn/list.h [deleted file]
include/inn/md5.h [deleted file]
include/inn/messages.h [deleted file]
include/inn/mmap.h [deleted file]
include/inn/qio.h [deleted file]
include/inn/sequence.h [deleted file]
include/inn/timer.h [deleted file]
include/inn/tst.h [deleted file]
include/inn/vector.h [deleted file]
include/inn/wire.h [deleted file]
include/inndcomm.h [deleted file]
include/innperl.h [deleted file]
include/libinn.h [deleted file]
include/nntp.h [deleted file]
include/ov.h [deleted file]
include/ [deleted file]
include/portable/mmap.h [deleted file]
include/portable/setproctitle.h [deleted file]
include/portable/socket.h [deleted file]
include/portable/time.h [deleted file]
include/portable/wait.h [deleted file]
include/ppport.h [deleted file]
innd/Makefile [deleted file]
innd/art.c [deleted file]
innd/cc.c [deleted file]
innd/chan.c [deleted file]
innd/icd.c [deleted file]
innd/innd.c [deleted file]
innd/innd.h [deleted file]
innd/inndstart.c [deleted file]
innd/keywords.c [deleted file]
innd/lc.c [deleted file]
innd/nc.c [deleted file]
innd/newsfeeds.c [deleted file]
innd/ng.c [deleted file]
innd/perl.c [deleted file]
innd/proc.c [deleted file]
innd/python.c [deleted file]
innd/rc.c [deleted file]
innd/site.c [deleted file]
innd/status.c [deleted file]
innd/tcl.c [deleted file]
innd/util.c [deleted file]
innd/wip.c [deleted file]
innfeed/Makefile [deleted file]
innfeed/README [deleted file]
innfeed/article.c [deleted file]
innfeed/article.h [deleted file]
innfeed/buffer.c [deleted file]
innfeed/buffer.h [deleted file]
innfeed/config_l.c [deleted file]
innfeed/configfile.h [deleted file]
innfeed/configfile.l [deleted file]
innfeed/configfile.y [deleted file]
innfeed/connection.c [deleted file]
innfeed/connection.h [deleted file]
innfeed/endpoint.c [deleted file]
innfeed/endpoint.h [deleted file]
innfeed/host.c [deleted file]
innfeed/host.h [deleted file]
innfeed/imap_connection.c [deleted file]
innfeed/ [deleted file]
innfeed/innfeed.h [deleted file]
innfeed/innlistener.c [deleted file]
innfeed/innlistener.h [deleted file]
innfeed/main.c [deleted file]
innfeed/misc.c [deleted file]
innfeed/misc.h [deleted file]
innfeed/ [deleted file]
innfeed/startinnfeed.c [deleted file]
innfeed/tape.c [deleted file]
innfeed/tape.h [deleted file]
innfeed/ [deleted file]
lib/Makefile [deleted file]
lib/buffer.c [deleted file]
lib/cleanfrom.c [deleted file]
lib/clientactive.c [deleted file]
lib/clientlib.c [deleted file]
lib/concat.c [deleted file]
lib/conffile.c [deleted file]
lib/confparse.c [deleted file]
lib/daemonize.c [deleted file]
lib/date.c [deleted file]
lib/dbz.c [deleted file]
lib/defdist.c [deleted file]
lib/fdflags.c [deleted file]
lib/fdlimit.c [deleted file]
lib/fseeko.c [deleted file]
lib/ftello.c [deleted file]
lib/genid.c [deleted file]
lib/getfqdn.c [deleted file]
lib/getmodaddr.c [deleted file]
lib/getpagesize.c [deleted file]
lib/gettime.c [deleted file]
lib/hash.c [deleted file]
lib/hashtab.c [deleted file]
lib/hstrerror.c [deleted file]
lib/inet_aton.c [deleted file]
lib/inet_ntoa.c [deleted file]
lib/innconf.c [deleted file]
lib/inndcomm.c [deleted file]
lib/list.c [deleted file]
lib/localopen.c [deleted file]
lib/lockfile.c [deleted file]
lib/makedir.c [deleted file]
lib/md5.c [deleted file]
lib/memcmp.c [deleted file]
lib/messages.c [deleted file]
lib/mkstemp.c [deleted file]
lib/mmap.c [deleted file]
lib/parsedate.y [deleted file]
lib/perl.c [deleted file]
lib/pread.c [deleted file]
lib/pwrite.c [deleted file]
lib/qio.c [deleted file]
lib/radix32.c [deleted file]
lib/readin.c [deleted file]
lib/reservedfd.c [deleted file]
lib/resource.c [deleted file]
lib/sendarticle.c [deleted file]
lib/sendpass.c [deleted file]
lib/sequence.c [deleted file]
lib/setenv.c [deleted file]
lib/seteuid.c [deleted file]
lib/setproctitle.c [deleted file]
lib/snprintf.c [deleted file]
lib/sockaddr.c [deleted file]
lib/strcasecmp.c [deleted file]
lib/strerror.c [deleted file]
lib/strlcat.c [deleted file]
lib/strlcpy.c [deleted file]
lib/strspn.c [deleted file]
lib/strtok.c [deleted file]
lib/timer.c [deleted file]
lib/tst.c [deleted file]
lib/uwildmat.c [deleted file]
lib/vector.c [deleted file]
lib/version.c [deleted file]
lib/wire.c [deleted file]
lib/xfopena.c [deleted file]
lib/xmalloc.c [deleted file]
lib/xsignal.c [deleted file]
lib/xwrite.c [deleted file]
nnrpd/Makefile [deleted file]
nnrpd/article.c [deleted file]
nnrpd/cache.c [deleted file]
nnrpd/cache.h [deleted file]
nnrpd/commands.c [deleted file]
nnrpd/group.c [deleted file]
nnrpd/line.c [deleted file]
nnrpd/list.c [deleted file]
nnrpd/misc.c [deleted file]
nnrpd/newnews.c [deleted file]
nnrpd/nnrpd.c [deleted file]
nnrpd/nnrpd.h [deleted file]
nnrpd/perl.c [deleted file]
nnrpd/perm.c [deleted file]
nnrpd/post.c [deleted file]
nnrpd/post.h [deleted file]
nnrpd/python.c [deleted file]
nnrpd/sasl_config.c [deleted file]
nnrpd/sasl_config.h [deleted file]
nnrpd/tls.c [deleted file]
nnrpd/tls.h [deleted file]
nnrpd/track.c [deleted file]
samples/ [deleted file]
samples/Makefile [deleted file]
samples/active.minimal [deleted file]
samples/actsync.cfg [deleted file]
samples/actsync.ign [deleted file]
samples/buffindexed.conf [deleted file]
samples/control.ctl [deleted file]
samples/cycbuff.conf [deleted file]
samples/distrib.pats [deleted file]
samples/expire.ctl [deleted file]
samples/filter.tcl [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/incoming.conf [deleted file]
samples/ [deleted file]
samples/innfeed.conf [deleted file]
samples/ [deleted file]
samples/innwatch.ctl [deleted file]
samples/moderators [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/newsgroups.minimal [deleted file]
samples/ [deleted file]
samples/nnrpd.track [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/ [deleted file]
samples/nntpsend.ctl [deleted file]
samples/ovdb.conf [deleted file]
samples/overview.fmt [deleted file]
samples/passwd.nntp [deleted file]
samples/radius.conf [deleted file]
samples/readers.conf [deleted file]
samples/ [deleted file]
samples/startup.tcl [deleted file]
samples/ [deleted file]
samples/storage.conf [deleted file]
samples/subscriptions [deleted file]
scripts/Makefile [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
scripts/ [deleted file]
site/Makefile [deleted file]
site/ [deleted file]
storage/Make.methods [deleted file]
storage/Makefile [deleted file]
storage/buffindexed/buffindexed.c [deleted file]
storage/buffindexed/buffindexed.h [deleted file]
storage/buffindexed/ovmethod.config [deleted file]
storage/buffindexed/ [deleted file]
storage/ [deleted file]
storage/cnfs/cnfs-private.h [deleted file]
storage/cnfs/cnfs.c [deleted file]
storage/cnfs/cnfs.h [deleted file]
storage/cnfs/method.config [deleted file]
storage/expire.c [deleted file]
storage/interface.c [deleted file]
storage/interface.h [deleted file]
storage/ov.c [deleted file]
storage/ovdb/ovdb-private.h [deleted file]
storage/ovdb/ovdb.c [deleted file]
storage/ovdb/ovdb.h [deleted file]
storage/ovdb/ovmethod.config [deleted file]
storage/overdata.c [deleted file]
storage/ovinterface.h [deleted file]
storage/timecaf/README.CAF [deleted file]
storage/timecaf/caf.c [deleted file]
storage/timecaf/caf.h [deleted file]
storage/timecaf/method.config [deleted file]
storage/timecaf/timecaf.c [deleted file]
storage/timecaf/timecaf.h [deleted file]
storage/timehash/method.config [deleted file]
storage/timehash/timehash.c [deleted file]
storage/timehash/timehash.h [deleted file]
storage/tradindexed/ovmethod.config [deleted file]
storage/tradindexed/ [deleted file]
storage/tradindexed/tdx-cache.c [deleted file]
storage/tradindexed/tdx-data.c [deleted file]
storage/tradindexed/tdx-group.c [deleted file]
storage/tradindexed/tdx-private.h [deleted file]
storage/tradindexed/tdx-structure.h [deleted file]
storage/tradindexed/tdx-util.c [deleted file]
storage/tradindexed/tradindexed.c [deleted file]
storage/tradindexed/tradindexed.h [deleted file]
storage/tradspool/README.tradspool [deleted file]
storage/tradspool/method.config [deleted file]
storage/tradspool/tradspool.c [deleted file]
storage/tradspool/tradspool.h [deleted file]
storage/trash/method.config [deleted file]
storage/trash/trash.c [deleted file]
storage/trash/trash.h [deleted file]
support/config.guess [deleted file]
support/config.sub [deleted file]
support/ [deleted file]
support/indent [deleted file]
support/install-sh [deleted file]
support/ [deleted file]
support/makedepend [deleted file]
support/mkchangelog [deleted file]
support/mkmanifest [deleted file]
support/mksnapshot [deleted file]
support/mksystem [deleted file]
support/mkversion [deleted file]
tests/Makefile [deleted file]
tests/TESTS [deleted file]
tests/authprogs/ckpasswd.t [deleted file]
tests/authprogs/domain.t [deleted file]
tests/authprogs/passwd [deleted file]
tests/lib/articles/no-body [deleted file]
tests/lib/articles/strange [deleted file]
tests/lib/articles/truncated [deleted file]
tests/lib/buffer-t.c [deleted file]
tests/lib/concat-t.c [deleted file]
tests/lib/config/errors [deleted file]
tests/lib/config/line-endings [deleted file]
tests/lib/config/no-newline [deleted file]
tests/lib/config/null [deleted file]
tests/lib/config/simple [deleted file]
tests/lib/config/valid [deleted file]
tests/lib/config/warn-bool [deleted file]
tests/lib/config/warn-int [deleted file]
tests/lib/config/warnings [deleted file]
tests/lib/confparse-t.c [deleted file]
tests/lib/date-t.c [deleted file]
tests/lib/fakewrite.c [deleted file]
tests/lib/hash-t.c [deleted file]
tests/lib/hashtab-t.c [deleted file]
tests/lib/hstrerror-t.c [deleted file]
tests/lib/inet_aton-t.c [deleted file]
tests/lib/inet_ntoa-t.c [deleted file]
tests/lib/innconf-t.c [deleted file]
tests/lib/list-t.c [deleted file]
tests/lib/md5-t.c [deleted file]
tests/lib/memcmp-t.c [deleted file]
tests/lib/messages-t.c [deleted file]
tests/lib/mkstemp-t.c [deleted file]
tests/lib/pread-t.c [deleted file]
tests/lib/pwrite-t.c [deleted file]
tests/lib/qio-t.c [deleted file]
tests/lib/setenv-t.c [deleted file]
tests/lib/setenv.t [deleted file]
tests/lib/snprintf-t.c [deleted file]
tests/lib/strerror-t.c [deleted file]
tests/lib/strlcat-t.c [deleted file]
tests/lib/strlcpy-t.c [deleted file]
tests/lib/tst-t.c [deleted file]
tests/lib/uwildmat-t.c [deleted file]
tests/lib/vector-t.c [deleted file]
tests/lib/wire-t.c [deleted file]
tests/lib/xmalloc.c [deleted file]
tests/lib/xmalloc.t [deleted file]
tests/lib/xwrite-t.c [deleted file]
tests/libtest.c [deleted file]
tests/libtest.h [deleted file]
tests/overview/data/basic [deleted file]
tests/overview/data/bogus [deleted file]
tests/overview/data/high-numbered [deleted file]
tests/overview/data/reversed [deleted file]
tests/overview/munge-data [deleted file]
tests/overview/tradindexed-t.c [deleted file]
tests/runtests.c [deleted file]
tests/util/convdate.t [deleted file]

deleted file mode 100644 (file)
index 504329f..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-The following is a list of the people (in roughly chronological order)
-who've helped out.  If anyone's name has been left out (probably), or if
-something has been incorrectly attributed to you (ditto), please let us
-Rich Salz:
-        Designed and wrote most of it.
-Bob Halley:
-        Did the TCL extension.
-Christophe Wolfhugel:
-        Did the Perl extension and provided several other fixes.
-Doug Needham:
-        Made nnrpd spool if innd is unavailable.  Made nnrpd handle the
-        LIST SUBSCRIPTIONS command.  Added the rebuilding of control
-        connections to innd (SIGUSR1).  Got inews to ask the nntp peer for
-        moderator info instead of digging it out of a local file.
-David Lawrence: 
-        Did the hooks for PGP verificiation of control messages, added
-        actived support for syncing against an active file obtained via
-        ftp.
-John Stapleton:
-        Wrote the poison newsgroup code ('@') for newsfeeds(5).  Wrote the
-        too-many-connects support ('-X -H -T' flags to innd).
-Landon Curt Noll:
-        Wrote or co-wrote actsync, nntpsend, shrinkfile, innstat,
-        news.daily, tally.control and various man pages.  He also was the
-        person originally behind the site directory
-        configuration/installation process.
-John Levine:
-        Wrote the '-e' support for expire (expire on shortest time).
-Matthias Urlichs:
-        Made rnews recognise gzip compression.  Made newsfeeds(5) take the
-        'Wp' flag.
-Stefan Petri:
-        Did the original XBATCH support
-Russel Street:
-        Did more XBATCH support.
-Alan Barrett:
-        Did the work-limiter in the select loop to stop streaming from
-        killing performance.
-Greg Patten:
-        Wrote the perl innlog.
-Clayton O'Neill:
-        Wrote the articles storage API and implemented the timehash
-        and regular storage mechanisms with it.  He made significant
-        modifications to dbz.  Integrating innfeed, adding Xref slaving,
-        the history cache, the WIP rewrite and various speedups were
-        also his doing.  Provided the tradindexed overview mechanism.
-        Implemented the O flag in newsfeeds.  Did a bunch of early work on
-        the CVS repository, reorganization of the code, and committing
-        patches from others.
-Vincent Archer:
-        Wrote the initial autoconf scripts.
-Forrest J. Cavalier III:
-        Provided a lot of bug fixes to 1.5.2.  He extended the autoconf
-        setup a lot to work with version 2.0, and has provided a lot of
-        valuable design input and testing.
-Scott Fritchie:
-        Wrote the CNFS storage back end.
-Fabien Tassin:
-        Wrote the innreport package.  Implemented the new incoming.conf
-        configuration file.  Added support for nested profile timers.
-Jeremy Nixon:
-        Wrote the initial patch for Perl filtering of message IDs on IHAVE
-        or CHECK and other patches related to the filtering code.
-Karl Kleinpaste:
-        Wrote the experimental code for automatically generating keywords
-        from incoming articles and putting those keywords in the overview
-        for the use of readers.
-Dave Hayes:
-        Along with some bugfixes, Dave wrote the posting-backoff code for 
-        nnrpd and the patches to the perl hooks to make the headers
-        modifiable.
-Joe Greco:
-        Wrote the code for measuring the timing of various parts of innd
-        and the original actived code.
-Sang-yong Suh:
-        Provided the fuzzy offset technique to dbz.
-Katsuhiro Kondou:
-        Provided unified overview, the buffindexed overview method, trash
-        storage method, spool translation method, traditional expire
-        policy for articles stored through storage API and expireindex, as
-        well as hundreds of fixes to clean up defects as changes were
-        made.  Did a large amount of man page documentation and clean up.
-        Has also been a major force in the CVS pool maintenace.
-Russell Vincent:
-        Expanded inn.conf to make many of the old compile time options
-        into run time variables.  Numerous bug fixes, small feature
-        enhancements and man updates.
-Darrell Fuhriman:
-        Provided various bug fixes and contributed to the pre-SM CNFS
-        development.
-Steve Carrie:
-        Modified nnrpd to allow detailed client tracking, added the -R
-        flag to nnrpd.
-Ed Mooring:
-        Wrote the first Perl filter callbacks into INN.
-Aidan Cully:
-        Provided the patches to support the new readers.conf file, and
-        wrote the initial user authenticators and resolvers for the
-        readers.conf.  Provided the patches to support the new
-        storage.conf format.  Added the option to store articles based on
-        the Expires header.  Also added the '@' article exclusion code to
-        incoming.conf.
-Andrew Gierth:
-        Contributed improvements to the nnrpd Perl filtering support to
-        give access to message bodies and support the DROP and SPOOL
-        keywords in filter returns.
-Russ Allbery:
-        Has done large amounts of clean-up on various pieces of the system
-        (especially the documentation and build system), and has helped
-        with the CVS pool maintenance.  Improved the speed and portability
-        of the Perl filter.  Rewrote the tradindexed overview method for
-        additional robustness.  Has done extensive work on libinn,
-        breaking out common code from other parts of INN.  Lots of other
-        fixes to various parts of INN.
-Kai Henningsen:
-        Implemented the C and U flags in newsfeeds.
-Julio Sanchez:
-        Wrote the initial libtool support for INN.
-Igor Timkin:
-        Added min-queue-connection support to innfeed, added outgoing
-        volume logging and reporting, and provided a variety of bug
-        fixes.
-Heath Kehoe:
-        Various portability and bug fixes, wrote the ovdb overview
-        mechanism that uses Berkeley DB.
-Richard Todd:
-        Implemented the timecaf and tradspool storage mechanisms, as well
-        as many bug fixes and other contributions.
-Brian Kantor:
-        Wrote the news2mail gateway.
-Ilya Etingof:
-        Added Python authentication support for nnrpd.
-Kenichi OKADA:
-        Added preliminary SSL and SASL support for nnrpd.
-Olaf Titz:
-        Implemented MODE CANCEL support, as well as other patches and bug
-        fixes.
-Sven Paulus:
-        Wrote the support for variables in newsfeeds, contributed various
-        other patches and bug fixes.
-Krischan Jodies:
-        Wrote the SMB authenticator.
-Alex Kiernan:
-        Wrote the history API, generalized the timer code in innd and
-        innfeed into a generic timer library, reworked the NEWNEWS code
-       and added a history cache, and contributed various other bug fixes.
-Marco d'Itri:
-        Wrote gpgverify and overhauled controlchan and its modules.  Added
-        IPv6 support to innd and inndstart.  Contributed a rewritten
-        send-uucp.  Has also contributed a variety of bug fixes and helped
-        with testing.
-Jeffrey M. Vinocur:
-        Broke parts of the interface with nnrpd for authentication programs
-        into a separate library, added various features to readers.conf,
-        and wrote various other fixes and feature improvements,
-        particularly to nnrpd.
-Erik Klavon:
-        Significantly reworked nnrpd Perl and Python hooks to be more useful
-        in combination with the readers.conf mechanism.
-Nathan Lutchansky:
-        Added IPv6 support to innfeed, nnrpd, and supporting programs.
-Dave Barr:
-        Kept INN alive after Rich Salz didn't have the time any more but 
-        before the ISC took over.  He released 4 unofficial versions that 
-        provided a good boost to what the ISC started with.  Minor work
-        on 2.0, mostly with example files and minor code tweaks.
-James Brister:
-        The chief maintainer of INN from when the ISC took over
-        maintenance through the 2.2 release, James is also the original
-        author of innfeed and has made fixes, improvements, and feature
-        additions all over the code.
-Marc Fournier:
-        Provided various bug fixes and did a lot of work integrating other
-        peoples patches and looking after the CVS pool.  Helped
-        significantly with the conversion to autoconf.  Added the ability
-        to set connection limits on a per-host basis.
-Joshua M. Thompson
-        Wrote the original INSTALL documentation.
-The following people helped above and beyond the call of duty with testing
-(provided patches, bug reports, suggestions, documentation improvements,
-and lobbying):
-Paul Vixie, Robert Elz, Evan Champion, Robert Keller, Barry Bouwsma,, Ollivier Robert, Kevin Jameson, Heiko W. Rupp,
-Fletcher Mattox, Matus Uhlar, Gabor Kiss, Matthias Scheler,
-Richard Michael Todd, Trevor Riley, Alex Bligh, J. Porter Clark,
-Alan Brown, Bert Hyman, Petter Nilsen, Gary E. Miller, Kim Culhan,
-Marc Baudoin, Neal Becker, Bjorn Knutsson, Stephen Marquard,
-Frederick Korz, Benedict Lofstedt, Dan Ellis, Joe Ramey,
-Odd Einar Aurbakken, Jon Lewis, Dan Riley, Peter Eriksson, Ken Lalonde,
-Koichi Mouri, J. Richard Sladkey, Trine Krogstad, Holger Burbach,
-Per Hedeland, Larry Rosenman, Andrew Burgess, Michael Brunnbauer,
-Mohan Kokal, Robert R. Collier, Mark Hittinger, Miquel van Smoorenburg,
-Boyd Lynn Gerber, Yury B. Razbegin, Joe St. Sauver, Heiko Schlichting,
-John P. Speno, Scott Gifford, Steve Parr, Robert Kiessling,
-Francis Swasey, Paul Tomblin, Florian La Roche, Curt Welch,
-Thomas Mike Michlmayr, KIZU Takashi, Michael Hall, Jeff King,
-Edward S. Marshall, Michael Schroeder, George Lindholm, Don Lewis,
-Christopher Masto, Hiroaki Sengoku, Yury July, Yar Tikhiy, Kees Bakker,
-Peter da Silva, Matt McLeod, Ed Korthof, Jan Rychter, Winfried Magerl,
-Andreas Lamrecht, Duane Currie, Ian Dickinson, Bettina Fink,
-Jochen Erwied, Rebecca Ore, Felicia Neff, Antonio Querubin, Bear Giles,
-Christopher P. Lindsey, Winfried Szukalski, Edvard Tuinder,
-Frank McConnell, Ilya Kovalenko, Steve Youngs, Jacek Konieczny,
-Ilya Voronin, Sergey Babitch, WATANABE Katsuhiro, Chris Caputo,
-Thomas Parmelan
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644 (file)
index 397156e..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,238 +0,0 @@
-2008-06-29  iulius
-       * lib/perl.c: Use snprintf instead of asprintf.
-       * doc/hook-python, doc/pod/hook-python.pod: Use initial capital
-         letters for head titles.
-       * NEWS, doc/pod/news.pod, lib/perl.c: Fixed a hang in Perl hooks on
-         (at least) HP/PA since Perl 5.10. On such architectures,
-         pthread_mutex_lock() hangs inside perl_parse() if
-         PERL_SYS_INIT3() hasn't been called.
-         Also rewrite "do" and "eval" calls to use perl_eval_pv().
-2008-06-25  iulius
-       * samples/ For two sections in innreport.conf
-         there is a mismatch between sort function and sorted hash.
-         Thanks to Alexander Bartolich for this patch.
-2008-06-24  iulius
-       * NEWS, doc/pod/news.pod, scripts/ Fix another
-         long-standing bug in innreport which prevented it from correctly
-         reporting innfeed log messages.
-       * scripts/ Suppress a few other nnrpd and
-         controlchan notices in innreport.
-2008-06-23  iulius
-       * NEWS, doc/pod/news.pod: Add changelog for innreport.
-       * NEWS, doc/pod/news.pod: Changelog for INN 2.4.5 :-)
-       * doc/hook-python: Update the auto-generated documentation for INN
-         2.4.5.
-       * scripts/ Fix a long-standing bug in innreport
-         which prevented it from correctly reporting nnrpd log messages.
-       * scripts/ Suppress a few warnings in innreport
-         (especially from Python hooks and nnrpd). Also backport some
-         other improvements made in TRUNK.
-       * site, site/.cvsignore, site/Makefile: Install which
-         previously was not.
-       * MANIFEST, samples/, samples/,
-         samples/, site, site/.cvsignore, site/Makefile:
-         Update the Python nnrpd filter. New samples for access and
-         dynamic hooks.
-2008-06-22  iulius
-       * samples/ Update the Python innd filter.
-       * doc/pod/hook-python.pod: Typo (canceled -> cancelled).
-       * samples/, samples/,
-         samples/ Update old Python wrappers.
-       * samples/, samples/ Update stub Python scripts. Fix
-         a compilation problem with (undefined variable) and add
-         missing methods.
-       * doc/hook-python, doc/man/readers.conf.5, doc/pod/hook-python.pod,
-         doc/pod/readers.conf.pod: Update POD documentation for Python
-         hooks. It is a complete proof-reading.
-       * nnrpd/python.c: No need to check the existence of methods not
-         used by the hooked script.
-       * innd/python.c, nnrpd/python.c: Fix an issue with Python exception
-         handling.
-       * nnrpd/python.c: Fix typos.
-       * nnrpd/python.c: Fix a segfault when one closes and then reopens
-         Python in the same process. files and dynamic_file are still
-         pointing to the old freed memory and INN blithely tries to write
-         to it. Thanks to Russ Allbery for the patch.
-2008-06-21  iulius
-       * innd/python.c: Better be more careful when decrementing the
-         reference count for these objects.
-2008-06-16  iulius
-       * doc/external-auth, doc/hook-perl, doc/hook-python,
-         doc/man/active.5, doc/man/active.times.5, doc/man/auth_krb5.8,
-         doc/man/auth_smb.8, doc/man/ckpasswd.8, doc/man/control.ctl.5,
-         doc/man/convdate.1, doc/man/cycbuff.conf.5,
-         doc/man/distrib.pats.5, doc/man/domain.8, doc/man/expire.ctl.5,
-         doc/man/expireover.8, doc/man/fastrm.1, doc/man/grephistory.1,
-         doc/man/ident.8, doc/man/inews.1, doc/man/inn.conf.5,
-         doc/man/innconfval.1, doc/man/innd.8, doc/man/inndf.8,
-         doc/man/inndstart.8, doc/man/innmail.1, doc/man/innupgrade.8,
-         doc/man/libauth.3, doc/man/libinnhist.3, doc/man/list.3,
-         doc/man/mailpost.8, doc/man/makehistory.8, doc/man/,
-         doc/man/newsfeeds.5, doc/man/ninpaths.8, doc/man/nnrpd.8,
-         doc/man/ovdb.5, doc/man/ovdb_init.8, doc/man/ovdb_monitor.8,
-         doc/man/ovdb_server.8, doc/man/ovdb_stat.8,
-         doc/man/passwd.nntp.5, doc/man/qio.3, doc/man/radius.8,
-         doc/man/radius.conf.5, doc/man/, doc/man/readers.conf.5,
-         doc/man/sasl.conf.5, doc/man/sendinpaths.8, doc/man/simpleftp.1,
-         doc/man/sm.1, doc/man/subscriptions.5, doc/man/tdx-util.8,
-         doc/man/tst.3, doc/man/uwildmat.3: Update version number for INN
-         2.4.5 documentation.
-2008-06-11  iulius
-       * support/config.guess, support/config.sub: Update support files
-         for autoconf to their last stable version.
-2008-06-10  iulius
-       * innd/python.c: Fix the name of a variable used in Python filters.
-2008-06-09  iulius
-       * innd/python.c: Fix a bug when reloading Python filters. They
-         might not be correctly reloaded. They must be reimported before
-         being reloaded.
-       * nnrpd/python.c: Fix a segfault when generating access groups with
-         embedded Python filters for nnrpd. Thanks to David Hlacik for the
-         bug report.
-2008-06-08  iulius
-       * frontends/ Two minor issues resolved with this patch
-         by Geraint Edwards: * an off-by-one error on the limit to the
-         amount of articles to get; * when an article is not available, we
-         may have redundantly retried that article.
-2008-06-07  iulius
-       * doc/pod/cycbuff.conf.pod, doc/pod/hook-perl.pod,
-         doc/pod/hook-python.pod, innd/python.c, samples/
-         Fix the use of "ctlinnd reload something 'reason'" in
-         documentation.
-2008-06-05  iulius
-       * doc/hook-perl, doc/hook-python, doc/pod/hook-perl.pod,
-         doc/pod/hook-python.pod, innd/innd.c, innd/innd.h,
-         samples/ Add access to several new headers within
-         Perl and Python hooks for innd. Thanks to Matija Nalis for the
-         patch.
-         Also update the POD documentation and the Python sample.
-       * doc/man/pullnews.1, doc/pod/pullnews.pod, frontends/
-         A new improved version of pullnews. Great thanks to Geraint A.
-         Edwards for all his work. He added no more than 16 flags, fixed
-         some bugs and integrated the backupfeed contrib script by Kai
-         Henningsen, adding again 6 other flags.
-         A long-standing but very minor bug in the -g option was
-         especially fixed and items from the to-do list implemented.
-         From TODO:
-         + reset highwater mark to match server (-w) + reset highwater
-         mark to zero (also -w) + add group to config (-G) + drop articles
-         with headers matching (or not matching) regexp (-m)
-         From backupfeed:
-         + pull only a proportion (factor) of articles (-f) + sleeps
-         between articles/groups (-z/-Z) + Path: fake hop insert (-F) +
-         NNTP connection timeout (-N) + overall session timeout (-S)
-         Other new flags/features:
-         -l logfile log to logfile (rather than /dev/null when rnews'ing!)
-         -s host:port add local port option (can use -p already) -t
-         retries attempt connect to upstream retries times -T retry_pause
-         wait between retries -k checkpt checkpoint the config file every
-         checkpt arts -C width when writing the progress bar - use width
-         columns -d debug_level self-explanatory -M max_arts only process
-         max_arts articles per run -H headers remove these headers from
-         articles -Q quietness set how quiet we are -R be a reader -n
-         no-op -P paths feed articles depending on number of hops in Path:
-2008-05-25  iulius
-       * control/modules/ Fix a Perl warning.
-2008-05-24  iulius
-       * nnrpd/tls.c: When an article of a size greater than remaining
-         stack is retrieved via SSL, a segmentation fault will occur due
-         to the use of alloca(). The below patch uses heap based realloc()
-         instead of stack based alloca(), with a static buffer growing as
-         needed. It uses realloc() instead of malloc() for performance
-         reasons since this function is called frequently. The caveat is
-         that the memory is never free()'ed, so if more correct code is
-         desired, it should be adjusted.
-         Thanks to Chris Caputo for this patch.
-2008-05-19  iulius
-       * innd/Makefile, nnrpd/line.c: Implementation of the "alarm signal"
-         around SSL_read so that to prevent dead connections from leading
-         nnrpd processes to wait forever in SSL_read(). "clienttimeout"
-         now also works on SSL connections.
-         Thanks to Matija Nalis for the patch.
-       * nnrpd/tls.c: Implementation on systems that support it of
-         SO_KEEPALIVE in SSL TCP connections, allowing system detection
-         and closing the dead TCP SSL connections automatically after
-         system-specified time (usually at least 2 hours as recommended by
-         RFC (on Linux, see /proc/sys/net/ipv4/tcp_keepalive_*).
-         Thanks to Matija Nalis for the patch.
-2008-05-18  iulius
-       * innfeed/host.c: Fix a problem of undefined constant.
-2008-05-14  iulius
-       * innfeed/host.c: Fix a bug in ipAddrs which contained thrice the
-         same IPs. Rotating the peer IP addresses was a bit slower than it
-         could be.
-         Thanks, D. Stussy, for having seen that. Miquel van Smoorenburg
-         provided the patch.
-       * Bump the revision number to 2.4.5 (in case it
-         is released one day).
diff --git a/HACKING b/HACKING
deleted file mode 100644 (file)
index 87a76e3..0000000
+++ /dev/null
@@ -1,708 +0,0 @@
-Hacking INN
-    This file is for people who are interested in making modifications to
-    INN.  Normal users can safely skip reading it.  It is intended primarily
-    as a guide, resource, and accumulation of tips for maintainers and
-    contributors, and secondarily as documentation of some of INN's
-    internals.
-    This is $Revision: 7736 $ dated $Date: 2006-04-15 04:52:06 +0200 (Sat,
-    15 Apr 2006) $.
-    First of all, if you plan on working on INN source, please start from
-    the current development tree.  There may be significant changes from the
-    previous full release, so starting from development sources will make it
-    considerably easier to integrate your work.  You can get nightly
-    snapshots of the current development source from in
-    /isc/inn/snapshots (the snapshots named inn-CURRENT-*.tar.gz), or you
-    can get the current CVS tree by using CVSup (see "Using CVSup").
-Configuring and Portability
-    All INN code should be written expecting ANSI C and POSIX.  There is no
-    need to attempt to support pre-ANSI compilers, and ANSI-only features
-    such as <stdarg.h>, string concatenation, #elif, and token pasting may
-    be used freely.  So far as possible, INN is written to attempt to be
-    portable to any system new enough that someone is likely to want to run
-    a news server on it, but whenever possible this portability should be
-    provided by checking for standard behavior in configure and supplying
-    replacements for standard functions that are missing.
-    When there is a conflict between ANSI C and C99, INN code should be
-    written expecting C99 and autoconf used to patch up the differences.
-    Try to avoid using #ifdef and the like in the middle of code as much as
-    possible.  Instead, try to isolate the necessary portability bits and
-    include them in libinn or at least in conditional macros separate from
-    the code.  Trying to read code littered with conditional compilation
-    directives is much more difficult.
-    The shell script configure at the top level of the source tree is
-    generated by autoconf from, and include/ is
-    generated by autoheader from and include/acconfig.h.  At
-    configure time, configure generates include/config.h and several other
-    files based on options it was given and what it discovers about the
-    target system.
-    All modifications to configure should instead be made to 
-    Similarly, modifications to include/ should instead be made
-    to include/acconfig.h.  The autoconf manual (available using info
-    autoconf if you have autoconf and the GNU info utilities installed on
-    your system) is a valuable reference when making any modifications.
-    To regenerate configure, just run "autoconf".  To regenerate
-    include/, run:
-        autoheader -l include
-    to tell it where to find acconfig.h.  Please don't include patches to
-    either configure or include/ when sending patches to INN;
-    instead, note in your patch that those files must be regenerated.
-    The generated files are checked into the CVS repository so that people
-    working on INN don't have to have autoconf on their system, and to make
-    packaging easier.
-    At the time of this writing, autoconf 2.13 is required.
-    The supporting files for autoconf are in the support subdirectory,
-    including the files config.guess and config.sub to determine the system
-    name and and for libtool support.  The latter file comes from
-    the libtool distribution; the canonical version of the former two are
-    available from in /gnu/config.  In addition, m4/libtool.m4
-    is just a copy of libtool.m4 from the libtool distribution.  (Using
-    libtool without using automake requires a few odd hacks.)  These files
-    used to be on a separate vendor branch so that we could make local
-    modifications, but local modifications have not been necessary for some
-    time.  Now, new versions can just be checked in like any other file
-    modifications.
-    INN should not compile with libtool by default, only when requested,
-    since otherwise normal compilations are quite slow.  (Using libtool is
-    not without some cost.)  Basic compilation with libtool works fine as of
-    this writing, with both static and shared compiles, but the dependencies
-    aren't quite right for make -j using libtool.
-    INN's documentation is currently somewhat in a state of flux.  The vast
-    majority is still in the form of man pages written directly in nroff. 
-    Some parts of the documentation have been rewritten in POD; that
-    documentation can be found in doc/pod.  The canonical source for README,
-    INSTALL, NEWS, doc/hook-perl, doc/hook-python, and this file are also in
-    POD.
-    If you're modifying some part of INN's documentation and see that it has
-    a POD version in doc/pod, it's preferred if you can make the
-    modifications to the POD source and then regenerate the derived files. 
-    For a quick introduction to POD, see the perlpod(1) man page on your
-    system (it should be installed if you have Perl installed).
-    When writing new documentation, write in whatever format you care to; if
-    necessary, we can always convert it to POD or whatever else we want to
-    use.  Having the documentation exist in *some* form is more important
-    than what language you write it in.  If you really don't have any
-    particular preference, there's a slight preference currently for POD.
-    If you use POD or regenerate POD documentation, please install something
-    close to the latest versions of the POD processing utilities to avoid
-    changes to the documentation depending on who generated it last.  You
-    can find the latest version on CPAN ( or another mirror) in
-    modules/by-module/Pod.  You'll need PodParser (for versions of Perl
-    before 5.6.1; 5.6.1 and later come with a recent enough version) and the
-    latest version of podlators.  For versions of Perl earlier than 5.005,
-    you'll also need File::Spec in modules/by-module/File.
-    podlators 1.25 or later will build INN's documentation without
-    significant changes from the versions that are checked into the
-    repository.
-    There are Makefile rules in doc/pod/Makefile to build all of the
-    documentation whose master form is POD; if you add additional
-    documentation, please add a rule there as well.  Documentation should be
-    generated by cd'ing to doc/pod and typing "make file" where "file" is
-    the relative path to the documentation file.  This will get all of the
-    various flags right for pod2text or pod2man.
-Error Handling
-    INN has a set of generic error handling routines that should be used as
-    much as possible so that the same syntax can be used for reporting
-    errors everywhere in INN.  The four basic functions are warn, syswarn,
-    die, and sysdie; warn prints or logs a warning, and die does the same
-    and then exits the current program.  The sys* versions add a colon, a
-    space, and the value of strerror(errno) to the end of the message, and
-    should be used to report failing system calls.
-    All of the actual error reporting is done via error handlers, and a
-    program can register its own handlers in addition to or instead of the
-    default one.  The default error handler (error_log_stderr) prints to
-    stderr, prepending the value of error_program_name if it's set to
-    something other than NULL.  Three other error handlers are available,
-    error_log_syslog_crit, error_log_syslog_err, and
-    error_log_syslog_warning, which log the message to syslog at LOG_CRIT,
-    LOG_ERR, or LOG_WARNING priority, respectively.
-    There is a different set of error handlers for warn/syswarn and
-    die/sysdie.  To set them, make calls like:
-        warn_set_handlers(2, error_log_stderr, error_log_syslog_warning);
-        die_set_handlers(2, error_log_stderr, error_log_syslog_err);
-    The first argument is the number of handlers, and the remaining
-    arguments are pointers to functions taking an int (the length of the
-    formatted message), a const char * (the format), a va_list (the
-    arguments), and an int that's 0 if warn or die was called and equal to
-    the value of errno if syswarn or sysdie was called.  The length of the
-    formatted message is obtained by calling vsnprintf with the provided
-    format and arguments, and therefore is reliable to use as the size of a
-    buffer to malloc to hold the result of formatting the message provided
-    that vsnprintf is used to format it (warning: the system vsprintf may
-    produce more output under some circumstances, so always use vsnprintf).
-    The error handler can do anything it wishes; each error handler is
-    called in the sequence given.  Error handlers shouldn't call warn or die
-    unless great caution is taken to prevent infinite recursion.  Also be
-    aware that sysdie is called if malloc fails in xmalloc, so if the error
-    handler needs to allocate memory, it must not use xmalloc or a related
-    function to do so and it shouldn't call die to report failure.  The
-    default syslog handlers report memory allocation failure to stderr and
-    exit.
-    Finally, die and sysdie support an additional handler that's called
-    immediate before exiting, takes no arguments, and returns an int which
-    is used as the argument for exit.  It can do any necessary global
-    cleanup, call abort instead to generate a core dump or the like.
-    The advantage of using this system everywhere in INN is that library
-    code can use warn and die to report errors and each calling program can
-    set up the error handlers as appropriate to make sure the errors go to
-    the right place.  The default handler is fine for interactive programs;
-    for programs that run from interactive scripts, adding something like:
-        error_program_name = "program";
-    to the beginning of main (where program is the name of the program) will
-    make it easier to figure out which program the script calls is failing. 
-    For programs that may also be called non-interactively, like inndstart,
-    one may want to set up handlers like:
-        warn_set_handlers(2, error_log_stderr, error_log_syslog_warning);
-        die_set_handlers(2, error_log_stderr, error_log_syslog_err);
-    Finally, for daemons and other non-interactive programs, one may want to
-    do:
-        warn_set_handlers(1, error_log_syslog_warning);
-        die_set_handlers(1, error_log_syslog_err);
-    to report errors only via syslog.  (Note that if you use syslog error
-    handlers, the program should call openlog first thing to make sure they
-    are logged with the right facility.)
-    For historical reasons, error messages that are fatal to the news
-    subsystem are logged at the LOG_CRIT priority, and therefore die in innd
-    should use error_log_syslog_crit.
-Test Suite
-    The test suite for INN is located in the tests directory and is just
-    getting started.  The test suite consists of a set of programs listed in
-    tests/TESTS and the scaffolding in the runtests program.
-    Adding new tests is very straightforward and very flexible.  Just write
-    a program that tests some part of INN, put it in a directory under tests
-    named after the part of INN it's testing (all the tests so far are in
-    lib because they're testing libinn routines), and have it output first a
-    line containing the count of test cases in that file, and then for each
-    test a line saying "ok n" or "not ok n" where n is the test case number.
-    (If a test is skipped for some reason, such as a test of an optional
-    feature that wasn't compiled into INN, the test program should output
-    "ok n # skip".)  Add any rules necessary to build the test to
-    tests/Makefile (note that for simplicity it doesn't recurse into
-    subdirectories) and make sure it creates an executable ending in .t. 
-    Then add the name of the test to tests/TESTS, without the .t ending.
-    One naming convention:  to distinguish more easily between e.g. 
-    lib/error.c (the implementation) and tests/lib/error-t.c (the test
-    suite), we add -t to the end of the test file names.  So
-    tests/lib/error-t.c is the source that compiles into an executable
-    tests/lib/error.t which is run by putting a line in tests/TESTS of just
-    "lib/error".
-    Note that tests don't have to be written in C; in fact, lib/xmalloc.t is
-    just a shell script (that calls a supporting C program).  Tests can be
-    written in shell or Perl (but other languages should be avoided because
-    someone who wants to run the test suite may not have it) and just have
-    to follow the above output conventions.
-    Additions to the test suite, no matter how simple, are very welcome.
-    All INN makefiles include at the top level, and only
-    that makefile is a configure substitution target.  This has the
-    disadvantage that configure's normal support for building in a tree
-    outside of the source tree doesn't work, but it has the significant
-    advantage of making configure run much faster and allowing one to run
-    make in any subdirectory and pick up all the definitions and settings
-    from the top level configuration.
-    All INN makefiles should also set $(top) to be the path to the top of
-    the build directory (usually relative).  This path is used to find
-    various programs like fixscript and libtool so that the same macros (set
-    in can be used all over INN.
-    The format of INN's makefiles is mostly standardized; the best examples
-    of the format are probably frontends/Makefile and backends/Makefile, at
-    least for directories with lots of separate programs.  The ALL variable
-    holds all the files that should be generated, EXTRA those additional
-    files that were generated by configure, and SOURCES the C source files
-    for generating tag information.
-    There are a set of standard installation commands defined in make
-    variables by, and these should be used for all file
-    installations.  See the comment blocks in for
-    information on what commands are available and when they should be used.
-    There are also variables set for each of the installation directories
-    that INN uses, for use in building the list of installed paths to files.
-    Each subdirectory makefile should have the targets all (the default),
-    clean, clobber, install, tags, and profiled.  The tags target generates
-    vi tags files, and the profiled target generates a profiling version of
-    the programs (although this hasn't been tested much recently).  These
-    rules should be present and empty in those directories where they don't
-    apply.
-    Be sure to test compiling with both static and dynamic libraries and
-    make sure that all the libtool support works correctly.  All linking
-    steps, and the compile steps for all library source, should be done
-    through $(LIBTOOL) (which will be set to empty in if
-    libtool support isn't desired).
-    INN comes with and installs a large number of different scripts, both
-    Bourne shell and Perl, and also comes with support for Tcl scripts
-    (although it doesn't come with any).  Shell variables containing both
-    configure-time information and configuration information from inn.conf
-    are set by the innshellvars support libraries, so the only
-    system-specific configuration that should have to be done is fixing the
-    right path to the interpretor and adding a line to load the appropriate
-    innshellvars.
-    support/fixscript, built by configure, does this.  It takes a .in file
-    and generates the final script (removing the .in) by fixing the path to
-    the interpretor on the first line and replacing the second line,
-    whatever it is, with code to load the innshellvars appropriate for that
-    interpretor.  (If invoked with -i, it just fixes the interpretor path.)
-    Scripts should use innshellvars (via fixscript) to get the right path
-    and the right variables whenever possible, rather than having configure
-    substitute values in them.  Any values needed at run-time should instead
-    be available from all of the different innshellvars.
-    See the existing scripts for examples of how this is done.
-Include Files
-    Include files relevant to all of INN, or relevant to the two libraries
-    built as part of INN (the utility libinn library and the libstorage
-    library that contains all storage and overview functions) are found in
-    the include directory; other include files relevant only to a portion of
-    INN are found in the relevant directory.
-    Practically all INN source files will start with:
-        #include "config.h"
-        #include "clibrary.h"
-    The first picks up all defines generated by autoconf and is necessary
-    for types that may not be present on all systems (uid_t, pid_t, size_t,
-    int32_t, and the like).  It therefore should be included before any
-    other headers that use those types, as well as to get general
-    configuration information.
-    The second is portably equivalent to:
-        #include <sys/types.h>
-        #include <stdarg.h>
-        #include <stdio.h>
-        #include <stdlib.h>
-        #include <stddef.h>
-        #include <stdint.h>
-        #include <string.h>
-        #include <unistd.h>
-    except that it doesn't include headers that are missing on a given
-    system, replaces functions not found on the system with the INN
-    equivalents, provides macros that INN assumes are available but which
-    weren't found, and defines some additional portability things.  Even if
-    this is more headers than the source file actually needs, it's generally
-    better to just include clibrary.h rather than trying to duplicate the
-    autoconf-driven hackery that it does to do things portably.  The primary
-    exception is for source files in lib that only define a single function
-    and are used for portability; those may want to include only config.h so
-    that they can be easily used in other projects that use autoconf. 
-    config.h is a fairly standard header name for this purpose.
-    clibrary.h does also include config.h, but it's somewhat poor form to
-    rely on this; it's better to explicitly list the header dependencies for
-    the benefit of someone else reading the code.
-    There are portable wrappers around several header files that have known
-    portability traps or that need some fixing up on some platforms.  Look
-    in include/portable and familiarize yourself with them and use them
-    where appropriate.
-    Another frequently included header file is libinn.h, which among other
-    things defines xmalloc(), xrealloc(), xstrdup(), and xcalloc(), which
-    are checked versions of the standard memory allocation routines that
-    terminate the program if the memory allocation fails.  These should
-    generally always be used instead of the regular C versions.  libinn.h
-    also provides various other utility functions that are frequently used.
-    paths.h includes a wide variety of paths determined at configure time,
-    both default paths to various parts of INN and paths to programs.  Don't
-    just use the default paths, though, if they're also configurable in
-    inn.conf; instead, call ReadInnConf() and use the global innconf
-    structure.
-    Other files in include are interfaces to particular bits of INN library
-    functionality or are used for other purposes; see the comments in each
-    file.
-    Eventually, the header files will be separated into installed header
-    files and uninstalled header files; the latter are those headers that
-    are used only for compiling INN and aren't useful for users of INN's
-    libraries (such as clibrary.h).  All of the installed headers will live
-    in include/inn and be installed in a subdirectory named inn in the
-    configured include directory.  This conversion is still in progress.
-    When writing header files, remember that C reserves all identifiers
-    beginning with two underscores and all identifiers beginning with an
-    underscore and a capital letter for the use of the implementation; don't
-    use any identifiers with names like that.  Additionally, any identifier
-    beginning with an underscore and a lower-case letter is reserved in file
-    scope, which means that such identifiers can only be used by INN for the
-    name of structure members or function arguments in function prototypes.
-    Try to pay attention to the impact of a header file on the program
-    namespace, particularly for installed header files in include/inn.  All
-    symbols defined by a header file should ideally begin with INN_, inn_,
-    or some other unique prefix indicating the subsystem that symbol is part
-    of, to avoid accidental conflicts with symbols defined by the program
-    that uses that header file.
-Coding Style
-    INN has quite a variety of coding styles intermixed.  As with all
-    programs, it's preferrable when making minor modifications to keep the
-    coding style of the code you're modifying.  In INN, that will vary by
-    file.  (Over time we're trying to standardize on one coding style, so
-    changing the region you worked on to fit the general coding style is
-    also acceptable).
-    If you're writing a substantial new piece of code, the prevailing
-    "standard" INN coding style appears to be something like the following:
-    *  Write in regular ANSI C whenever possible.  Use the normal ANSI and
-       POSIX constructs and use autoconf or portability wrappers to fix
-       things up beforehand so that the code itself can read like regular
-       ANSI or POSIX code.  Code should be written so that it works as
-       expected on a modern platform and is fixed up with portability tricks
-       for older platforms, not the other way around.  You may assume an
-       ANSI C compiler.
-       Try to use const wherever appropriate.  Don't use register; modern
-       compilers will do as good of a job as you will in choosing what to
-       put into a register.  Don't bother with restrict (at least yet).
-    *  Use string handling functions that take counts for the size of the
-       buffer whenever possible.  This means using snprintf in preference to
-       sprintf and using strlcpy and strlcat in preference to strcpy and
-       strcat.  Also, use strlcpy and strlcat instead of strncpy and strncat
-       unless the behavior of the latter is specifically required, as it is
-       much easier to audit uses of the former than the latter.  (strlcpy is
-       like strncpy except that it always nul-terminates and doesn't fill
-       the rest of the buffer with nuls, making it more efficient.  strlcat
-       is like strncat except that it always nul-terminates and it takes the
-       total size of the buffer as its third argument rather than just the
-       amount of space left.)  All of these functions are guaranteed to be
-       available; there are replacements in lib for systems that don't have
-       them.
-    *  Avoid #ifdef and friends whenever possible.  Particularly avoid using
-       them in the middle of code blocks.  Try to hide all portability
-       preprocessor magic in header files or in portability code in lib. 
-       When something just has to be done two completely different ways
-       depending on the platform or compile options or the like, try to
-       abstract that functionality out into a generic function and provide
-       two separate implementations using #ifdef; then the main code can
-       just call that function.
-       If you do have to use preprocessor defines, note that if you always
-       define them to either 0 or 1 (never use #define without a second
-       argument), you can use the preprocessor define in a regular if
-       statement rather than using #if or #ifdef.  Make use of this instead
-       of #ifdef when possible, since that way the compiler will still
-       syntax-check the other branch for you and it makes it far easier to
-       convert the code to use a run-time check if necessary. 
-       (Unfortunately, this trick can't be used if one branch may call
-       functions unavailable on a particular platform.)
-    *  Avoid uses of fixed-width buffers except in performance-critical
-       code, as it's harder to be sure that such code is correct and it
-       tends to be less flexible later on.  If you need a reusable,
-       resizable memory buffer, one is provided in lib/buffer.c.
-    *  Avoid uses of static variables whenever possible, particularly in
-       libraries, because it interferes with making the code re-entrant down
-       the road and makes it harder to follow what's going on.  Similarly,
-       avoid using global variables whenever possible, and if they are
-       required, try to wrap them into structures that could later be
-       changed into arguments to the affected functions.
-    *  Roughly BSD style but with four-space indents.  This means no space
-       before the parens around function arguments, open brace on the same
-       line as if/while/for, and close and open brace on the same line as
-       else).
-    *  Introductory comments for functions or files are generally written
-       as:
-           /*
-           **  Introductory comment.
-           */
-       Other multiline comments in the source are generally written as:
-           /* This is a
-              multiline comment. */
-       Comments before functions saying what they do are nice to have.  In
-       general, the RCS/CVS Id tag is on the first line of each source file
-       since it's useful to know when a file was last modified.
-    *  Checks for NULL pointers are preferrably written out explicitly; in
-       other words, use:
-           if (p != NULL)
-       rather than:
-           if (p)
-       to make it clearer what the code is assuming.
-    *  It's better to always put the body of an if statement on a separate
-       line, even if it's only a single line.  In other words, write:
-           if (p != NULL)
-               return p;
-       and not:
-           if (p != NULL) return p;
-       This is in part for a practical reason:  some code coverage analysis
-       tools like purecov will count the second example above as a single
-       line and won't notice if the condition always evaluates the same way.
-    *  Plain structs make perfectly reasonable abstract data types; it's not
-       necessary to typedef the struct to something else.  Structs are
-       actually very useful for opaque data structures, since you can
-       predeclare them and then manipulate pointers to them without ever
-       having to know what the contents look like.  Please try to avoid
-       typedefs except for function pointers or other extremely confusing
-       data types, or for data types where we really gain some significant
-       data abstraction from hiding the underlying data type.  Also avoid
-       using the _t suffix for any type; all types ending in _t are reserved
-       by POSIX.  For typedefs of function pointer types, a suffix of _func
-       usually works.
-       This style point is currently widely violated inside of INN itself;
-       INN originally made extensive use of typedefs.
-    *  When noting something that should be improved later, add a comment
-       containing "FIXME:" so that one can easily grep for such comments.
-    INN's indentation style roughly corresponds to that produced by GNU
-    indent 2.2.6 with the following options:
-        -bad -bap -nsob -fca -lc78 -cd41 -cp1 -br -ce -cdw -cli0 -ss -npcs
-        -ncs -di1 -nbc -psl -brs -i4 -ci4 -lp -ts8 -nut -ip5 -lps -l78 -bbo
-        -hnl
-    Unfortunately, indent currently doesn't get everything right (it has
-    problems with spacing around struct pointer arguments in functions,
-    wants to put in a space between a dereference of a function pointer and
-    the arguments to the called function, misidentifies some macro calls as
-    being type declarations, and fouls up long but simple case statements). 
-    It would be excellent if someday we could just run all of INN's code
-    through indent routinely to enforce a consistant coding style, but
-    indent isn't quite ready for that.
-    For users of emacs cc-mode, use the "bsd" style but with:
-        (setq c-basic-offset 4)
-    Finally, if possible, please don't use tabs in source files, since they
-    can expand differently in different environments.  In particular, please
-    try not to use the mix of tabs and spaces that is the default in emacs. 
-    If you use emacs to edit INN code, you may want to put:
-        ; Use only spaces when indenting or centering, no tabs.
-        (setq-default indent-tabs-mode nil)
-    in your ~/.emacs file.
-    Note that this is only a rough guideline and the maintainers aren't
-    style nazis; we're more interested in your code contribution than in how
-    you write it.
-Using CVSup
-    If you want to get updated INN source more easily or more quickly than
-    by downloading nightly snapshots, or if you want to see the full CVS
-    history, you may want to use CVSup to download the source.  CVSup is a
-    client and server designed for replicating CVS repositories between
-    sites.
-    Unfortunately, CVSup is written in Modula-3, so getting a working binary
-    can be somewhat difficult.  Binaries are available in the *BSD ports
-    collection or (for a wide variety of different platforms) available from
-    <> and its mirrors. 
-    Alternately, you can get a compiler from <>
-    (this is more actively maintained than the DEC Modula-3 compiler) and
-    the source from <>.
-    After you have the CVSup client, you need to have space to download the
-    INN repository and space for CVSup to store its data files.  You also
-    need to write a configuration file (a supfile) for CVSup.  The following
-    supfile will download the latest versions from the mainline source:
-        *default
-        *default base=<data-location>
-        *default prefix=<download-location>
-        *default release=cvs
-        *default tag=.
-        *default delete use-rel-suffix
-        inn
-    where <data-location> should be a directory where CVSup can put its data
-    files and <download-location> is where the downloaded source will go (it
-    will be put into a subdirectory named inn).  If you want to pull down
-    the entire CVS repository instead (warning: this is much larger than
-    just the latest versions of the source), delete the "*default tag=."
-    line.  The best way to download the CVS repository is to download it
-    into a portion of a locally-created CVS repository, so that then you can
-    perform standard CVS operations (like cvs log) against the downloaded
-    repository.  Creating your own local CVS repository is outside the scope
-    of this document.
-    Note that only multiplexed mode is supported (this mode should be the
-    default).
-    For more general information on using CVSup, see the FreeBSD page on it
-    at <>.
-Making a Release
-    This is a checklist that INN maintainers should go through when
-    preparing a new release of INN.
-    1.  If making a major release, branch the source tree and create a new
-        STABLE branch tag.  This branch will be used for minor releases
-        based on that major release and can be done a little while before
-        the .0 release of that major release.  At the same time as the
-        branch is cut, tag the trunk with a STABLE-<version>-branch marker
-        tag so that it's easy to refer to the trunk at the time of the
-        branch.
-    2.  Update doc/pod/news.pod and regenerate NEWS.  Be more detailed for a
-        minor release than for a major release.  For a major release, also
-        add information on how to upgrade from the last major release,
-        including anything special to be aware of.  (Minor releases
-        shouldn't require any special care when upgrading.)
-    3.  Make sure that support/config.sub and support/config.guess are the
-        latest versions (from <>).  See the
-        instructions in "Configuring and Portability" for details on how to
-        update these files.
-    4.  Make sure that samples/control.ctl is in sync with the master
-        version at <>.
-    5.  Check out a copy of the release branch.  It's currently necessary to
-        run configure to generate  Then run "make
-        check-manifest".  The only differences should be files that are
-        generated by configure; if there are any other differences, fix the
-        MANIFEST.
-    6.  Run "make release".  Note that you need to have a copy of svn2cl
-        from <> to do this; at least
-        version 0.7 is required.  Start the ChangeLog at the time of the
-        previous release.  (Eventually, the script will be smart enough to
-        do this for you.)
-    7.  Make the resulting tar file available for testing in a non-listable
-        directory on and announce its availability on
-        inn-workers.  Install it on at least one system and make sure that
-        system runs fine for at least a few days.  This is also a good time
-        to send out a draft of the release announcement to inn-workers for
-        proof-reading.
-    8.  Generate a diff between this release and the previous release if
-        feasible (always for minor releases, possibly not a good idea due to
-        the length of the diff for major releases).
-    9.  Move the release into the public area of the ftp site and update the
-        inn.tar.gz link.  Make an MD5 checksum of the release tarball and
-        put it on the ftp site as well, and update the inn.tar.gz.md5 link. 
-        Put the diff up on the ftp site as well.  Contact the ISC folks to
-        get the release PGP-signed.  Possibly move older releases off into
-        the OLD directory.
-    10. Announce the new release on inn-announce and in
-    11. Tag the checked-out tree that was used for generating the release
-        with a release tag (INN-<version>).
-    12. Bump the revision number in
-    Some additional references that may be hard to find and may be of use to
-    people working on INN:
-    <>
-        The home page for the IETF NNTP standardization effort, including
-        links to the IETF NNTP working group archives and copies of the
-        latest drafts of the new NNTP standard.  The old archived mailing
-        list traffic contains a lot of interesting discussion of why NNTP is
-        the way it is.
-    <>
-        The archives for the USEFOR IETF working group, the working group
-        for the RFC 1036 replacement (the format of Usenet articles).  Also
-        contains a lot of references to other relevant work, such as the RFC
-        822 replacement work.
-    <>
-        Forrest Cavalier provides several tools for following INN
-        development at this page and elsewhere in the Usenet RKT.  Under
-        here is a web-accessible checked-out copy of the current INN source
-        tree and pointers to how to use CVSup.
-    <>
-        The standards for large file support on Unix that are being
-        generally implemented by vendors.  INN sort of partially uses these,
-        but a good full audit of the code to check them should really be
-        done and there are occasional problems.
-    <>
-        A primer on IPv6 with pointers to the appropriate places for more
-        technical details as needed, useful when working on IPv6 support in
-        INN.
diff --git a/INSTALL b/INSTALL
deleted file mode 100644 (file)
index eceb489..0000000
+++ /dev/null
@@ -1,1527 +0,0 @@
-Welcome to INN 2.4!
-    Please read this document thoroughly before trying to install INN. 
-    You'll be glad you did.
-    If you are upgrading from a major release of INN prior to 2.3, it is
-    recommended that you make copies of your old configuration files and use
-    them as guides for doing a clean installation and configuration of 2.4. 
-    Many config files have changed, some have been added, and some have been
-    removed.  You'll find it much easier to start with a fresh install than
-    to try to update your old installation.  This is particularly true if
-    you're upgrading from a version of INN prior to 2.0.
-    If you are upgrading from INN 2.3 or later, you may be able to just
-    update the binaries, scripts, and man pages by running:
-        make update
-    after building INN and then comparing the new sample configuration files
-    with your current ones to see if anything has changed.  If you take this
-    route, the old binaries, scripts, and man pages will be saved with an
-    extension of ".OLD" so that you can easily back out.  Be sure to
-    configure INN with the same options that you used previously if you take
-    this approach (in particular, INN compiled with --enable-largefiles
-    can't read the data structures written by INN compiled without that
-    flag, and vice versa).  If you don't remember what options you used but
-    you have your old build tree, look at the comments at the beginning of
-    config.status.
-    If you made ckpasswd setuid root so that you could use system passwords,
-    you'll have to do that again after make update.  (It's much better to
-    use PAM instead if you can.)
-    If you use "make update" to upgrade from INN 2.3, also look at the new
-    sample configuration files in samples to see if there are new options of
-    interest to you.  In particular, control.ctl has been updated and
-    inn.conf has various new options.
-    For more information about recent changes, see NEWS.
-Supported Systems
-    As much as possible, INN is written in portable C and should work on any
-    Unix platform.  It does, however, make extensive use of mmap(2) and
-    certain other constructs that may be poorly or incompletely implemented,
-    particularly on very old operating systems.
-    INN has been confirmed to work on the following operating systems:
-        AIX 4.3
-        FreeBSD 2.2.x and up
-        HP-UX 10.20 and up
-        Linux 2.x (tested with libc 5.4, glibc 2.0 and up)
-        Mac OS X 10.2 and up
-        NetBSD 1.6 and up
-        OpenBSD 2.8 and up
-        SCO 5.0.4 (tested with gcc 2.8.1, cc)
-        Solaris 2.5.x and up
-        UnixWare 7.1
-        UX/4800 R11 and up
-    If you have gotten INN working on an operating system other than the
-    ones listed above, please let us know at <>.
-Before You Begin
-    INN requires several other packages be installed in order to be fully
-    functional (or in some cases, to work at all):
-    * In order to build INN, you will need a C compiler that understands
-      ANSI C.  If you are trying to install INN on an operating system that
-      doesn't have an ANSI C compiler (such as SunOS), installing gcc is
-      recommended.  You can get it from <> or its
-      mirrors.  INN is tested with gcc more thoroughly than with any other
-      compiler, so even if you have another compiler available, you may wish
-      to use gcc instead.
-    * Currently, in order to build INN, you will need an implementation of
-      yacc.  GNU bison (from <> or its mirrors)
-      will work fine.  We hope to remove this requirement in the future.
-    * INN requires at least Perl 5.004_03 to build and to run several
-      subsystems.  INN is tested primarily with newer versions of Perl, so
-      it's generally recommended that you install the latest stable
-      distribution of Perl before compiling INN.  For instructions on
-      obtaining and installing Perl, see
-      <>.  Note that you
-      may need to use the same compiler and options (particularly largefile
-      support) for Perl and INN.
-      If you're using a version of Perl prior to 5.6.0, you may need to make
-      sure that the Perl versions of your system header files have been
-      generated in order for Sys::Syslog to work properly (used by various
-      utility programs, including controlchan).  To do this, run the
-      following two commands:
-          # cd /usr/include
-          # h2ph * sys/*
-      An even better approach is to install Perl 5.6.1 or later, which have
-      a fixed version of Sys::Syslog that doesn't require this (as well as
-      many other improvements over earlier versions of Perl).
-    * The INN Makefiles use the syntax "include FILE", rather than the
-      syntax expected by some BSDish systems of ".include <FILE>".  If your
-      system expects the latter syntax, the recommended solution is to
-      install GNU make from <>.  You may have GNU
-      make already installed as gmake, in which case using gmake rather than
-      make to build INN should be sufficient.
-    * If you want to enable support for authenticated control messages (this
-      is not required, but is highly recommended for systems carrying public
-      Usenet hierarchies) then you will need to install some version of PGP.
-      The recommended version is GnuPG, since it's actively developed,
-      supports OpenPGP, is freely available and free to use for any purpose
-      (in the US and elsewhere), and (as of version 1.0.4 at least) supports
-      the RSA signatures used by most current control message senders.
-      Alternately, you can install PGP from <> or one of
-      the international versions of it.  Be warned, however, that the
-      licensing restrictions on PGP inside the United States are extremely
-      unclear; it's possible that if you are installing INN for a company in
-      the U.S., even if the news server is not part of the business of that
-      company, you would need to purchase a commercial license for PGP.  For
-      an educational or non-profit organization, this shouldn't be a
-      problem.
-    * If you want to use either the Python embedded hooks, you'll need to
-      have a suitable versions of Python installed.  See doc/hook-python for
-      more information.
-    * Many of INN's optional features require other packages (primarily
-      libraries) be installed.  If you wish to use any of these optional
-      features, you will need to install those packages first.  Here is a
-      table of configure options enabling optional features and the software
-      and versions you'll need:
-          --with-perl         Perl 5.004_03 or higher, 5.6.1+ recommended
-          --with-python       Python 1.5.2 or higher
-          --with-berkeleydb   BerkeleyDB 2.0 or higher, 4.2+ recommended
-          --with-openssl      OpenSSL 0.9.6 or higher
-          --with-sasl         SASL 2.x or higher
-          --with-kerberos     MIT Kerberos v5 1.2.x or higher
-      If any of these libraries (other than Perl or Python) are built shared
-      and installed in locations where your system doesn't search for shared
-      libraries by default, you may need to encode the paths to those shared
-      libraries in the INN binaries.  For more information on shared library
-      paths, see:
-          <>
-      For most systems, setting the environment variable LD_RUN_PATH to a
-      colon-separated list of additional directories in which to look for
-      shared libraries before building INN will be sufficient.
-Unpacking the Distribution
-    Released versions of INN are available from in /isc/inn. 
-    New major releases will be announed on <> (see
-    README) when they're made.
-    If you want more a more cutting-edge version, you can obtain current
-    snapshots from from in directory /isc/inn/snapshots.  These
-    are snapshots of the INN CVS tree taken daily; there are two snapshots
-    made each night (one of the current development branch, and one of the
-    stable branch consisting of bug fixes to the previous major release). 
-    They are stored in date format; in other words the snapshots from April
-    6th, 2000, would be named inn-CURRENT-20000406.tar.gz and
-    inn-STABLE-20000406.tar.gz.  Choose the newest file of whichever branch
-    you prefer.  (Note that the downloading, configuring, and compiling
-    steps can be done while logged in as any user.)
-    The distribution is in gzip compressed tar archive format.  To extract
-    it, execute:
-        gunzip -c <inn-src-file> | tar -xf -
-    Extracting the source distribution will create a directory named
-    inn-<version> or inn-<BRANCH>-<date> where the source resides.
-Installing INN
-    Before beginning installation, you should make sure that there is a user
-    on your system named "news", and that this user's primary group is set
-    to a group called "news".  You can change these with the
-    --with-news-user and --with-news-group options to configure (see below).
-    The home directory of this user should be set to the directory under
-    which you wish to install INN (/usr/local/news is the default and is a
-    good choice).  INN will install itself as this user and group.  You can
-    change these if you want, but these are the defaults and it's easier to
-    stick with them on a new installation.
-    By default, INN sends reports to the user "usenet".  This account isn't
-    used for any other purposes.  You can change it with the
-    --with-news-master option to configure (see below).
-    WARNING: By default, INN installs various configuration files as
-    group-writeable, and in general INN is not hardened from a security
-    standpoint against an attack by someone who is already in the news
-    group.  In general, you should consider membership in the news group as
-    equivalent to access to the news account.  You should not rely on being
-    able to keep anyone with access to the news GID from converting that
-    into access to the news UID.  The recommended configuration is to have
-    the only member of the group "news" be the user "news".
-    Installing INN so that all of its files are under a single directory
-    tree, rather than scattering binaries, libraries, and man pages
-    throughout the file system, is strongly recommended.  It helps keep
-    everything involved in the operation of INN together as a unit and will
-    make the installation instructions easier to follow.
-    As a side note, whenever doing anything with a running news server,
-    first log in as this user.  That way, you can ensure that all files
-    created by any commands you run are created with the right ownership to
-    be readable by the server.  Particularly avoid doing anything in the
-    news spool itself as root, and make sure you fix the ownership of any
-    created files if you have to.  INN doesn't like files in the news spool
-    owned by a user other than the news user.  However, since certain
-    binaries need to be setuid root, indiscriminate use of "chown news" is
-    not the solution.  (If you don't like to log in to system accounts,
-    careful use of "chmod g+s" on directories and a umask of 002 or 007 may
-    suffice.)
-    INN uses GNU autoconf and a generated configure script to make
-    configuration rather painless.  Unless you have a rather abnormal setup,
-    configure should be able to completely configure INN for your system. 
-    If you want to change the defaults, you can invoke the configure script
-    with one or more command line options.  Type:
-        ./configure --help
-    for a full list of supported options.  Some of the most commonly used
-    options are:
-    --prefix=PATH
-        Sets the installation prefix for INN.  The default is
-        /usr/local/news.  All of INN's programs and support files will be
-        installed under this directory.  This should match the home
-        directory of your news user (it will make installation and
-        maintenance easier).  It is not recommended to set this to /usr; if
-        you decide to do that anyway, make sure to point INN's temporary
-        directory at a directory that isn't world-writeable (see
-        --with-tmp-dir below).
-    --with-db-dir=PATH
-        Sets the prefix for INN database files.  The default is PREFIX/db,
-        where PREFIX is /usr/local/news unless overridden with the option
-        above.  The history and active files will be stored in this
-        directory, and writes to those files are an appreciable percentage
-        of INN's disk activity.  The history file can also be quite large
-        (requiring up to 2 GB or more during nightly expire), so this is a
-        common portion of INN to move to a different file system.
-    --with-spool-dir=PATH
-        Sets the prefix for the news spool (when using any storage method
-        other than CNFS) and the overview spool.  The default is
-        PREFIX/spool.  This is another common portion of INN to move to a
-        different file system (often /news).
-    --with-tmp-dir=PATH
-        Sets the directory in which INN will create temporary files.  This
-        should under no circumstances be the same as the system temporary
-        directory or otherwise be set to a world-writeable directory, since
-        INN doesn't take care to avoid symlink attacks and other security
-        problems possible with a world-writeable directory.  This directory
-        should be reserved for the exclusive use of INN and only writeable
-        by the news user.  Usage is generally light, so this is unlikely to
-        need a separate partition.
-        It's also possible to set the paths for most other sections of the
-        INN installation independently; see "./configure --help" and look
-        for the --with-*-dir=PATH options.
-    --enable-largefiles
-        Enables large file support.  This is not enabled by default, even on
-        platforms that support it, because it changes the format of INN's
-        on-disk databases (making it difficult to upgrade an earlier INN
-        installation) and can significantly increase the size of some of the
-        history database files.  Large file support is not necessary unless
-        your history database is so large that it exceeds 2 GB or you want
-        to use CNFS buffers larger than 2 GB.
-        The history, tradindexed and buffindexed overview, CNFS, and timecaf
-        databases written by an INN built with this option are incompatible
-        with those written by an INN without this option.
-    --enable-tagged-hash
-        Use tagged hash table for the history database.  The tagged hash
-        format uses much less memory but is somewhat slower.  This option is
-        recommended if you have less than 256 MB of RAM on your news server.
-        If you install INN without tagged hash (the default) and expire
-        takes an excessive amount of time, you should make sure the RAM in
-        your system satisfies the following formula:
-            ram > 10 * tablesize
-                  ram:  Amount of system RAM (in bytes)
-            tablesize:  3rd field on the 1st line of history.dir (bytes)
-        If you don't have at least that much RAM, try rebuilding INN with
-        tagged hash enabled.
-        NOTE: --enable-largefiles cannot be used with --enable-tagged-hash.
-    --with-perl
-        Enables support for embedded Perl, allowing you to install filter
-        scripts written in Perl.  Highly recommended, because many really
-        good spam filters are written in Perl.  See doc/hook-perl for all
-        the details.
-        Even if you do not use this option, INN still requires Perl as
-        mentioned above.
-    --with-python
-        Enables support for Python, allowing you to install filter and
-        authentication scripts written in Python.  You will need Python
-        1.5.2 or later installed on your system to enable this option.  See
-        doc/hook-python for all the details.  Note that there is an
-        incompatibility between INN and Python 2.0 when Python is compiled
-        with cycle garbage collection; this problem was reported fixed in
-        Python 2.1a1.
-    --with-innd-port=PORT
-        By default, inndstart(8) refuses to bind to any port under 1024
-        other than 119 and 433 for security reasons (to prevent attacks on
-        rsh(1)-based commands and replacing standard system daemons).  If
-        you want to run innd on a different port under 1024, you'll need to
-        tell configure what port you intend to use.  (You'll also still need
-        to set the port number in inn.conf or give it to inndstart on the
-        command line.)
-    --with-syslog-facility=FACILITY
-        Specifies the syslog facility that INN programs should log to.  The
-        default is LOG_NEWS unless configure detects that your system
-        doesn't understand that facility, in which case it uses LOG_LOCAL1. 
-        This flag overrides the automatic detection.  Be sure to specify a
-        facility not used by anything else on your system (one of LOG_LOCAL0
-        through LOG_LOCAL7, for example).
-    --enable-libtool
-        INN has optional support for libtool to generate shared versions of
-        INN's libraries.  This can significantly decrease the size of the
-        various binaries that come with a complete INN installation.  You
-        can also choose to use libtool even when only building static
-        libraries; a libtool build may be somewhat more portable on weird
-        systems.  libtool builds aren't the default because they take
-        somewhat longer.  See "./configure --help" for the various available
-        options related to libtool builds.
-        Please note that INN's shared library interface is not stable and
-        may change drastically in future releases.  For this reason, it's
-        also not properly versioned and won't be until some degree of
-        stability is guaranteed, and the relevant header files are not
-        installed.  Only INN should use INN's shared libraries, and you
-        should only use the shared libraries corresponding to the version of
-        INN that you're installing.
-        Also, when updating an existing version of INN, INN tries to save
-        backup copies of all files so that you can revert to the previous
-        installed version.  Unfortunately, when using shared libraries, this
-        confuses ldconfig on some systems (such as Linux) and the symbolic
-        links for the libraries may point to the .OLD versions.  If this
-        happens, you can either fix the links by hand or remove the .OLD
-        versions and re-run ldconfig.
-    --enable-uucp-rnews
-        If this option is given to configure, rnews will be installed setuid
-        news, owned by group uucp, and mode 4550.  This will allow the UUCP
-        subsystem to run rnews to process UUCP batches of news articles. 
-        Prior to INN 2.3, installing rnews setuid news was standard; since
-        most sites no longer use UUCP, it is no longer the default as of INN
-        2.3 and must be requested at configure time.  You probably don't
-        want to use this option unless your server accepts UUCP news
-        batches.
-    --enable-setgid-inews
-        If this option is given to configure, inews will be installed setgid
-        news and world-executable so that non-privileged users on the news
-        server machine can use inews to post articles locally (somewhat
-        faster than opening a new network connection).  For standalone news
-        servers, by far the most common configuration now, there's no need
-        to use this option; even if you have regular login accounts on your
-        news server, INN's inews can post fine via a network connection to
-        your running news server and doesn't need to use the local socket
-        (which is what setgid enables it to do).  Installing inews setgid
-        was the default prior to INN 2.3.
-    --with-berkeleydb=PATH
-        Enables support for Berkeley DB (2.x or 3.x), which means that it
-        will then be possible to use the ovdb overview method if you wish. 
-        Enabling this configure option doesn't mean you'll be required to
-        use ovdb, but it does require that Berkeley DB be installed on your
-        system (including the header files, not just the runtime libraries).
-        If a path is given, it sets the installed directory of Berkeley DB
-        (configure will search for it in some standard locations, but if you
-        have it installed elsewhere, you may need this option).
-    --with-openssl=PATH
-        Enables support for SSL for news reading, which means it will be
-        possible to have SSL or TLS encrypted NNTP connections between your
-        server and newsreaders.  This option requires OpenSSL be installed
-        on your system (including the header files, not just the runtime
-        libraries).  If a path is given, it sets the installed directory of
-        OpenSSL.  After compiling and installing INN with this option,
-        you'll still need to make a certificate and private key to use SSL. 
-        See below for details on how to do that.
-    --enable-ipv6
-        Enables support for IPv6 in innd, innfeed, nnrpd, and several of the
-        supporting programs.  This option should be considered developmental
-        at present.  For more information see doc/IPv6-info (and if you have
-        any particularly good or bad news to report, please let us know at
-        <>).
-    For the most common installation, a standalone news server, a suggested
-    set of options is:
-        ./configure --with-perl
-    provided that you have the necessary version of Perl installed. 
-    (Compiling with an embedded Perl interpretor will allow you to use one
-    of the available excellent spam filters if you so choose.)
-    If the configure program runs successfully, then you are ready to build
-    the distribution.  From the root of the INN source tree, type:
-        make
-    At this point you can step away from the computer for a little while and
-    have a quick snack while INN compiles.  On a decently fast system it
-    should only take five or ten minutes at the most to build.
-    Once the build has completed successfully, you are ready to install INN
-    into its final home.  Type:
-        make install
-    You will need to run this command as root so that INN can create the
-    directories it needs, change ownerships (if you did not compile as the
-    news user) and install a couple of setuid wrapper programs needed to
-    raise resource limits and allow innd to bind to ports under 1024.  This
-    step will install INN under the install directory (/usr/local/news,
-    unless you specified something else to the configure script).
-    If you are configuring SSL support for newsreaders, you must make a
-    certificate and private key at least once.  Type:
-        make cert
-    as root in order to do this.
-    You are now ready for the really fun part:  configuring your copy of
-    INN!
-Choosing an Article Storage Format
-    The first thing to decide is how INN should store articles on your
-    system.  There are four different methods for you to choose from, each
-    of which has its own advantages and disadvantages.  INN can support all
-    four at the same time, so you can store certain newsgroups in one method
-    and other newsgroups in another method.
-    The supported storage formats are:
-    tradspool
-        This is the storage method used by all versions of INN previous to
-        2.0.  Articles are stored as individual text files whose names are
-        the same as the article number.  The articles are divided up into
-        directories based on the newsgroup name.  For example, article 12345
-        in would be stored as news/software/nntp/12345
-        relative to the root of the article spool.
-        Advantages:  Widely used and well-understood storage mechanism, can
-        read article spools written by older versions of INN, compatible
-        with all third-party INN add-ons, provides easy and direct access to
-        the articles stored on your server and makes writing programs that
-        fiddle with the news spool very easy, and gives you fine control
-        over article retention times.
-        Disadvantages:  Takes a very fast file system and I/O system to keep
-        up with current Usenet traffic volumes due to file system overhead. 
-        Groups with heavy traffic tend to create a bottleneck because of
-        inefficiencies in storing large numbers of article files in a single
-        directory.  Requires a nightly expire program to delete old articles
-        out of the news spool, a process that can slow down the server for
-        several hours or more.
-    timehash
-        Articles are stored as individual files as in tradspool, but are
-        divided into directories based on the arrival time to ensure that no
-        single directory contains so many files as to cause a bottleneck.
-        Advantages:  Heavy traffic groups do not cause bottlenecks, and fine
-        control of article retention time is still possible.
-        Disadvantages:  The ability to easily find all articles in a given
-        newsgroup and manually fiddle with the article spool is lost, and
-        INN still suffers from speed degredation due to file system overhead
-        (creating and deleting individual files is a slow operation).
-    timecaf
-        Similar to timehash, articles are stored by arrival time, but
-        instead of writing a separate file for each article, multiple
-        articles are put in the same file.
-        Advantages:  Roughly four times faster than timehash for article
-        writes, since much of the file system overhead is bypassed, while
-        still retaining the same fine control over article retention time.
-        Disadvantages:  Even worse than timehash, and similar to cnfs
-        (below), using this method means giving up all but the most careful
-        manually fiddling with your article spool.  As one of the newer and
-        least widely used storage types, timecaf has not been as thoroughly
-        tested as the other methods.
-    cnfs
-        CNFS stores articles sequentially in pre-configured buffer files. 
-        When the end of the buffer is reached, new articles are stored from
-        the beginning of the buffer, overwriting older articles.
-        Advantages:  Blazingly fast because no file creations or deletions
-        are necessary to store an article.  Unlike all other storage
-        methods, does not require manual article expiration; old articles
-        are deleted to make room for new ones when the buffers get too full.
-        Also, with CNFS your server will never throttle itself due to a full
-        spool disk, and groups are restricted to just the buffer files you
-        give them so that they can never use more than the amount of disk
-        space you allocate to them.
-        Disadvantages:  Article retention times are more difficult to
-        control because old articles are overwritten automatically.  Attacks
-        on Usenet, such as flooding or massive amounts of spam, can result
-        in wanted articles expiring much faster than you intended (with no
-        warning).
-    Some general recommendations:  If you are installing a transit news
-    server (one that just accepts news and sends it out again to other
-    servers and doesn't support any readers), use CNFS exclusively and don't
-    worry about any of the other storage methods.  Otherwise, put
-    high-volume groups and groups whose articles you don't need to keep
-    around very long (binaries groups, *.jobs*, news.lists.filters, etc.) in
-    CNFS buffers, and use timehash, timecaf, or tradspool (if you have a
-    fast I/O subsystem or need to be able to go through the spool manually)
-    for everything else.  You'll probably find it most convenient to keep
-    special hierarchies like local hierarchies and hierarchies that should
-    never expire in tradspool.
-    If your news server will be supporting readers, you'll also need to
-    choose an overview storage mechanism (by setting *ovmethod* in
-    inn.conf).  There are three overview mechanisms to choose from: 
-    tradindexed, buffindexed, and ovdb.  tradindexed is very fast for
-    readers, but it has to update two files for each incoming article and
-    can be quite slow to write.  buffindexed can keep up with a large feed
-    more easily, since it uses large buffers to store all overview
-    information, but it's somewhat slower for readers (although not as slow
-    as the unified overview in INN 2.2).  ovdb stores overview data in a
-    Berkeley DB database; it's fast and very robust, but requires more disk
-    space.  See the ovdb(5) man page for more information on it.
-    Note that ovdb has not been as widely tested as the other overview
-    mechanisms and should be considered experimental.  tradindexed is the
-    best tested and most widely used of the overview implementations.
-    If buffindexed is chosen, you will need to create the buffers for it to
-    use (very similar to creating CNFS buffers) and list the available
-    buffers in buffindexed.conf.  See buffindexed.conf(5) for more
-    information.
-Configuring INN
-    All documentation from this point on assumes that you have set up the
-    news user on your system as suggested in "Installing INN" so that the
-    root of your INN installation is ~news/.  If you've moved things around
-    by using options with "configure", you'll need to adjust the
-    instructions to account for that.
-    All of INN's configuration files are located in ~news/etc.  Unless noted
-    otherwise, any files referred to below are in this directory.  When you
-    first install INN, a sample of each file (containing lots of comments)
-    is installed in ~news/etc; refer to these for concrete examples of
-    everything discussed in this section.
-    All of INN's configuration files, all of the programs that come with it,
-    and some of its library routines have documentation in the form of man
-    pages.  These man pages were installed in ~news/man as part of the INN
-    installation process and are the most complete reference to how INN
-    works.  You're strongly encouraged to refer to the man pages frequently
-    while configuring INN, and for quick reference afterwards.  Any detailed
-    questions about individual configuration files or the behavior of
-    specific programs should be answered in them.  You may want to add
-    ~news/man to your MANPATH environment variable; otherwise, you may have
-    to use a command like:
-        man -M ~news/man inn.conf
-    to see the inn.conf(5) man page (for example).
-    Before we begin, it is worth mentioning the wildmat pattern matching
-    syntax used in many configuration files.  These are simple wildcard
-    matches using the asterisk ("*") as the wildcard character, much like
-    the simple wildcard expansion used by Unix shells.
-    In many cases, wildmat patterns can be specified in a comma-separated
-    list to indicate a list of newsgroups.  When used in this fashion, each
-    pattern is checked in turn to see if it matches, and the last pattern in
-    the line that matches the group name is used.  Patterns beginning with
-    "!" mean to exclude groups matching that pattern.  For example:
-        *, !comp.*, comp.os.*
-    In this case, we're saying we match everything ("*"), except that we
-    don't match anything under comp ("!comp.*"), unless it is actually under
-    the comp.os hierarchy ("comp.os.*").  This is because non-comp groups
-    will match only the first pattern (so we want them), comp.os groups will
-    match all three patterns (so we want them too, because the third pattern
-    counts in this case), and all other comp groups will match the first and
-    second patterns and will be excluded by the second pattern.
-    Some uses of wildmat patterns also support "poison" patterns (patterns
-    starting with "@").  These patterns behave just like "!" patterns when
-    checked against a single newsgroup name.  Where they become special is
-    for articles crossposted to multiple newsgroups; normally, such an
-    article will be considered to match a pattern if any of the newsgroups
-    it is posted to matches the pattern.  If any newsgroup the article is
-    posted to matches an expression beginning with "@", however, that
-    article will not match the pattern even if other newsgroups to which it
-    was posted match other expressions.
-    See uwildmat(3) for full details on wildmat patterns.
-    In all INN configuration files, blank lines and lines beginning with a
-    "#" symbol are considered comments and are ignored.  Be careful, not all
-    files permit comments to begin in the middle of the line.
-  inn.conf
-    The first, and most important file is inn.conf.  This file is organized
-    as a series of parameter-value pairs, one per line.  The parameter is
-    first, followed by a colon and one or more whitespace characters, and
-    then the value itself.  For some parameters the value is a string or a
-    number; for others it is true or false.  (True values can be written as
-    "yes", "true", or "on", whichever you prefer.  Similarly, false values
-    can be written as "no", "false", or "off".)
-    inn.conf contains dozens of changeable parameters (see inn.conf(5) for
-    full details), but only a few really need to be edited during normal
-    operation:
-    allownewnews
-        If set to true then INN will support the NEWNEWS command for news
-        readers.  While this can be an expensive operation, its speed has
-        been improved considerably as of INN 2.3 and it's probably safe to
-        turn on without risking excessive server load.  The default is true.
-        (Note that the *access:* setting in readers.conf overrides this
-        value; see readers.conf(5) for more details.)
-    complaints
-        Used to set the value of the X-Complaints-To: header, which is added
-        to all articles posted locally.  The usual value would be something
-        like "" or "".  If not
-        specified, the newsmaster email address will be used.
-    hiscachesize
-        The amount of memory (in kilobytes) to allocate for a cache of
-        recently used history file entries.  Setting this to 0 disables
-        history caching.  History caching can greatly increase the number of
-        articles per second that your server is capable of processing.  A
-        value of 256 is a good default choice.
-    logipaddr
-        If set to true (the default), INN will log the IP address (or
-        hostname, if the host is listed in incoming.conf with a hostname) of
-        the remote host from which it received an article.  If set to false,
-        the trailing Path: header entry is logged instead.  If you are using
-        controlchan (see below) and need to process ihave/sendme control
-        messages (this is very, very unlikely, so if you don't know what
-        this means, don't worry about it), make sure you set this to false,
-        since controlchan needs a site name, not an IP address.
-    organization
-        Set this to the name of your organization as you want it to appear
-        in the Organization: header of all articles posted locally and not
-        already containing that header.  This will be overridden by the
-        value of the ORGANIZATION environment variable (if it exists).  If
-        neither this parameter nor the environment variable or set, no
-        Organization: header will be added to posts which lack one.
-    pathhost
-        This is the name of your news server as you wish it to appear in the
-        Path: header of all postings which travel through your server (this
-        includes local posts and incoming posts that you forward out to
-        other sites).  If this parameter is unspecified, the fully-qualified
-        domain name (FQDN) of the machine will be used instead.  Please use
-        the FQDN of your server or an alias for your server unless you have
-        a very good reason not to; a future version of the news RFCs may
-        require this.
-    rlimitnofile
-        If set to a non-negative value (the default is -1), INN (both innd
-        and innfeed) will try to raise the maximum number of open file
-        descriptors to this value when it starts.  This may be needed if you
-        have lots of incoming and outgoing feeds.  Note that the maximum
-        value for this setting is very operating-system-dependent, and you
-        may have to reconfigure your system (possibly even recompile your
-        kernel) to increase it.  See "File Descriptor Limits" for complete
-        details.
-    There are tons of other possible settings; you may want to read through
-    inn.conf(5) to get a feel for your options.  Don't worry if you don't
-    understand the purpose of most of them right now.  Some of the settings
-    are only needed for very obscure things, and with more experience
-    running your news server the rest will make more sense.
-  newsfeeds
-    newsfeeds determines how incoming articles are redistributed to your
-    peers and to other INN processes.  newsfeeds is very versatile and
-    contains dozens of options; we will touch on just the basics here.  The
-    manpage contains more detailed information.
-    newsfeeds is organized as a series of feed entries.  Each feed entry is
-    composed of four fields separated by colons.  Entries may span multiple
-    lines by using a backslash ("\") to indicate that the next line is a
-    continuation of the current line.  (Note that comments don't interact
-    with backslashes in the way you might expect.  A commented-out line
-    ending in a backslash will still be considered continued on the next
-    line, possibly resulting in more commented out than you intended or
-    bizarre syntax errors.  In general, it's best to avoid commenting out
-    lines in the middle of continuation lines.)
-    The first field in an entry is the name of the feed.  It must be unique,
-    and for feeds to other news servers it is usually set to the actual
-    hostname of the remote server (this makes things easier).  The name can
-    optionally be followed by a slash and a comma-separated exclude list. 
-    If the feed name or any of the names in the exclude list appear in the
-    Path line of an article, then that article will not be forwarded to the
-    feed as it is assumed that it has passed through that site once already.
-    The exclude list is useful when a news server's hostname is not the same
-    as what it puts in the Path header of its articles, or when you don't
-    want a feed to receive articles from a certain source.
-    The second field specifies a set of desired newsgroups and distribution
-    lists, given as newsgroup-pattern/distribution-list.  The distribution
-    list is not described here; see newsfeeds(5) for information (it's not
-    used that frequently in practice).  The newsgroup pattern is a
-    wildmat-style pattern list as described above (supporting "@").
-    The third field is a comma-separated list of flags that determine both
-    the type of feed entry and sets certain parameters for the entry.  See
-    newsfeeds(5) for information on the flag settings; you can do a
-    surprising amount with them.  The three most common patterns, and the
-    ones mainly used for outgoing news feeds to other sites, are "Tf,Wnm"
-    (to write out a batch file of articles to be sent, suitable for
-    processing by nntpsend and innxmit), "Tm" (to send the article to a
-    funnel feed, used with innfeed), and "Tc,Wnm*" (to collect a funnel feed
-    and send it via a channel feed to an external program, used to send
-    articles to innfeed).
-    The fourth field is a multi-purpose parameter whose meaning depends on
-    the settings of the flags in the third field.  To get a feel for it
-    using the examples above, for file feeds ("Tf") it's the name of the
-    file to write, for funnel feeds ("Tm") it's the name of the feed entry
-    to funnel into, and for channel feeds ("Tc") it's the name of the
-    program to run and feed references to articles.
-    Now that you have a rough idea of the file layout, we'll begin to add
-    the actual feed entries.  First, we'll set up the special ME entry. 
-    This entry is required and serves two purposes:  the newsgroup pattern
-    specified here is prepended to the newsgroup list of all other feeds,
-    and the distribution pattern for this entry determines what
-    distributions (from the Distribution: header of incoming articles) are
-    accepted from remote sites by your server.  The example in the sample
-    newsfeeds file is a good starting point.  If you are going to create a
-    local hierarchy that should not be distributed off of your system, it
-    may be useful to exclude it from the default subscription pattern, but
-    default subscription patterns are somewhat difficult to use right so you
-    may want to just exclude it specifically from every feed instead.
-    The ME entry tends to confuse a lot of people, so this point is worth
-    repeating:  the newsgroup patterns set the default subscription for
-    *outgoing* feeds, and the distribution patterns set the acceptable
-    Distribution: header entries for *incoming* articles.  This is confusing
-    enough that it may change in later versions of INN.
-    There are two basic ways to feed articles to remote sites.  The most
-    common for large sites and particularly for transit news servers is
-    innfeed(8), which sends articles to remote sites in real time (the
-    article goes out to all peers that are supposed to receive it
-    immediately after your server accepts it).  For smaller sites,
-    particularly sites where the only outgoing messages will be locally
-    posted articles, it's more common to batch outgoing articles and send
-    them every ten minutes or so from cron using nntpsend(8) and innxmit(8).
-    Batching gives you more control and tends to be extremely stable and
-    reliable, but it's much slower and can't handle high volume very well.
-    Batching outgoing posts is easy to set up; for each peer, add an entry
-    to newsfeeds that looks like:
-            :<newsgroups>\
-            :Tf,Wnm:
-    where <newsgroups> is the wildmat pattern for the newsgroups that site
-    wants.  In this example, the actual name of the remote site is
-    "", but it puts "" in the Path:
-    header.  If the remote site puts its actual hostname in the Path:
-    header, you won't need the "/" part.
-    This entry will cause innd to write out a file in ~news/spool/outgoing
-    named and containing the Message-ID and storage token
-    of each message to send to that site.  (The storage token is INN's
-    internal pointer to where an article is stored; to retrieve an article
-    given its storage token, use sm(8)).  innxmit knows how to read files of
-    this format and send those articles to the remote site.  For information
-    on setting it up to run periodically, see "Setting Up the Cron Jobs"
-    below.  You will also need to set up a config file for nntpsend; see the
-    man page for nntpsend.ctl(5) for more information.
-    If instead you want to use innfeed to send outgoing messages
-    (recommended for sites with more than a couple of peers), you need some
-    slightly more complex magic.  You still set up a separate entry for each
-    of your peers, but rather than writing out batch files, they all
-    "funnel" into a special innfeed entry.  That special entry collects all
-    of the separate funnel feeds and sends the data through a special sort
-    of feed to an external program (innfeed in this case); this is a
-    "channel" feed.
-    First, the special channel feed entry for innfeed that will collect all
-    the funnel feeds:
-        innfeed!\
-            :!*\
-            :Tc,Wnm*:/usr/local/news/bin/startinnfeed -y
-    (adjust the path to startinnfeed(1) if you installed it elsewhere). 
-    Note that we don't feed this entry any articles directly (its newsgroup
-    pattern is "!*").  Note also that the name of this entry ends in an
-    exclamation point.  This is a standard convention for all special feeds;
-    since the delimiter for the Path: header is "!", no site name containing
-    that character can ever match the name of a real site.
-    Next, set up entries for each remote site to which you will be feeding
-    articles.  All of these entries should be of the form:
-            :<newsgroups>\
-            :Tm:innfeed!
-    specifying that they funnel into the "innfeed!" feed.  As in the
-    previous example for batching, "" is the actual name
-    of the remote peer, "" is what it puts in the Path:
-    header (if different than the actual name of the server), and
-    <newsgroups> is the wildmat pattern of newsgroups to be sent.
-    As an alternative to NNTP, INN may also feed news out to an IMAP server,
-    by using imapfeed(8), which is almost identical to innfeed.  The
-    startinnfeed process can be told to start imapfeed instead of innfeed. 
-    The feed entry for this is as follows:
-        imapfeed!\
-            :!*\
-            :Tc,Wnm*,S16384:/usr/local/news/bin/startinnfeed imapfeed
-    And set up entries for each remote site like:
-            :<newsgroups>\
-            :Tm:imapfeed!
-    For more information on imapfeed, look at the innfeed/imap_connection.c.
-    For more information on IMAP in general, see RFC 2060.
-    Finally, there is a special entry for controlchan(8), which processes
-    newsgroup control messages, that should always be in newsfeeds unless
-    you never want to honor any control messages.  This entry should look
-    like:
-        controlchan!\
-            :!*,control,control.*,!control.cancel\
-            :Tc,Wnsm:/usr/local/news/bin/controlchan
-    (modified for the actual path to controlchan if you put it somewhere
-    else).  See "Processing Control Messages" for more details.
-    For those of you upgrading from earlier versions of INN, note that the
-    functionality of overchan(8) and crosspost is now incorporated into INN
-    and neither of those programs is necessary.  Unfortunately, crosspost
-    currently will not work even with the tradspool storage method.  You can
-    still use overchan if you make sure to set *useoverchan* to true in
-    inn.conf so that innd doesn't write overview data itself, but be
-    careful:  innd may accept articles faster than overchan can process the
-    data.
-  incoming.conf
-    incoming.conf file specifies which machines are permitted to connect to
-    your host and feed it articles.  Remote servers you peer with should be
-    listed here.  Connections from hosts not listed in this file will (if
-    you don't allow readers) be rejected or (if you allow readers) be handed
-    off to nnrpd and checked against the access restrictions in
-    readers.conf.
-    Start with the sample incoming.conf and, for each remote peer, add an
-    entry like:
-        peer { }
-    This uses the default parameters for that feed and allows incoming
-    connections from a machine named "".  If that peer
-    could be connecting from several different machines, instead use an
-    entry like:
-         peer {
-            hostname: ","
-         }
-    This will allow either "" or "" to
-    feed articles to you.  (In general, you should add new peer lines for
-    each separate remote site you peer with, and list multiple host names
-    using the *hostname* key if one particular remote site uses multiple
-    servers.)
-    You can restrict the newsgroups a remote site is allowed to send you,
-    using the same sort of pattern that newsfeeds(5) uses.  For example, if
-    you want to prevent "" hosts from sending you any articles in
-    the "local.*" hierarchy (even if they're crossposted to other groups),
-    change the above to:
-        peer {
-            patterns: "*, @local.*"
-            hostname: ","
-        }
-    Note, however, that restricting what a remote side can send you will
-    *not* reduce your incoming bandwidth usage.  The remote site will still
-    send you the entire article; INN will just reject it rather than saving
-    it to disk.  To reduce bandwidth, you have to contact your peers and ask
-    them not to send you the traffic you don't want.
-    There are various other things you can set, including the maximum number
-    of connections the remote host will be allowed.  See incoming.conf(5)
-    for all the details.
-    Note for those familiar with older versions of INN:  this file replaces
-    the old hosts.nntp configuration file.
-  cycbuff.conf
-    cycbuff.conf is only required if CNFS is used.  If you aren't using
-    CNFS, skip this section.
-    CNFS stores articles in logical objects called *metacycbuffs*.  Each
-    metacycbuff is in turn composed of one or more physical buffers called
-    *cycbuffs*.  As articles are written to the metacycbuff, each article is
-    written to the next cycbuff in the list in a round-robin fashion (unless
-    "sequential" mode is specified, in which case each cycbuff is filled
-    before moving on to the next).  This is so that you can distribute the
-    individual cycbuffs across multiple physical disks and balance the load
-    between them.
-    There are two ways to create your cycbuffs:
-    1.  Use a block device directly.  This will probably give you the most
-        speed since it avoids the file system overhead of large files, but
-        it requires your OS support mmap(2) on a block device.  Solaris
-        supports this, as do late Linux 2.4 kernels.  FreeBSD does not at
-        last report.  Also on many PC-based Unixes it is difficult to create
-        more than eight partitions, which may limit your options.
-    2.  Use a real file on a filesystem.  This will probably be a bit slower
-        than using a block device directly, but it should work on any Unix
-        system.
-    If you're having doubts, use option #2; it's easier to set up and should
-    work regardless of your operating system.
-    Now you need to decide on the sizes of your cycbuffs and metacycbuffs. 
-    You'll probably want to separate the heavy-traffic groups
-    ("alt.binaries.*" and maybe a few other things like "*.jobs*" and
-    "news.lists.filters") into their own metacycbuff so that they don't
-    overrun the server and push out articles on the more useful groups.  If
-    you have any local groups that you want to stay around for a while then
-    you should put them in their own metacycbuff as well, so that they don't
-    get pushed out by other traffic.  (Or you might store them in one of the
-    other storage methods, such as tradspool.)
-    For each metacycbuff, you now need to determine how many cycbuffs will
-    make up the metacycbuff, the size of those cycbuffs, and where they will
-    be stored.  Some OSes do not support files larger than 2 GB, which will
-    limit the size you can make a single cycbuff, but you can still combine
-    many cycbuffs into each metacycbuff.  Older versions of Linux are known
-    to have this limitation; FreeBSD does not.  Some OSes that support large
-    files don't support direct access to block devices for large partitions
-    (Solaris prior to Solaris 7, or not running in 64-bit mode, is in this
-    category); on those OSes, if you want cycbuffs over 2 GB, you'll have to
-    use regular files.  If in doubt, keep your cycbuffs smaller than 2 GB. 
-    Also, when laying out your cycbuffs, you will want to try to arrange
-    them across as many physical disks as possible (or use a striped disk
-    array and put them all on that).
-    In order to use any cycbuff larger than 2 GB, you need to build INN with
-    the --enable-largefiles option.  See "Installing INN" for more
-    information and some caveats.
-    For each cycbuff you will be creating, add a line to cycbuff.conf like
-    the following:
-        cycbuff:NAME:/path/to/buffer:SIZE
-    NAME must be unique and must be at most seven characters long. 
-    Something simple like "BUFF00", "BUFF01", etc. is a decent choice, or
-    you may want to use something that includes the SCSI target and slice
-    number of the partition.  SIZE is the buffer size in kilobytes (if
-    you're trying to stay under 2 GB, keep your sizes below 2097152).
-    Now, you need to tell INN how to group your cycbuffs into metacycbuffs. 
-    This is similar to creating cycbuff entries:
-    BUFFNAME is the name of the metacycbuff and must be unique and at most
-    eight characters long.  These should be a bit more meaningful than the
-    cycbuff names since they will be used in other config files as well. 
-    Try to name them after what will be stored in them; for example, if this
-    metacycbuff will hold alt.binaries postings, "BINARIES" would be a good
-    choice.  The last part of the entry is a comma-separated list of all of
-    the cycbuffs that should be used to build this metacycbuff.  Each
-    cycbuff should only appear in one metacycbuff line, and all metacycbuff
-    lines must occur after all cycbuff lines in the file.
-    If you want INN to fill each cycbuff before moving on to the next one
-    rather than writing to them round-robin, add ":SEQUENTIAL" to the end of
-    the metacycbuff line.  This may give noticeably better performance when
-    using multiple cycbuffs on the same spindle (such as partitions or
-    slices of a larger disk), but will probably give worse performance if
-    your cycbuffs are spread out across a lot of spindles.
-    By default, CNFS data is flushed to disk every 25 articles.  If you're
-    running a small server with a light article load, this could mean losing
-    quite a few articles in a crash.  You can change this interval by adding
-    a cycbuffupdate line to your cycbuff.conf file; see cycbuff.conf(5) for
-    more details.
-    Finally, you have to create the cycbuffs.  See "Creating the Article
-    Spool" for more information on how to do that.
-  storage.conf
-    storage.conf determines where incoming articles will be stored (what
-    storage method, and in the case of CNFS, what metacycbuff).  Each entry
-    in the file defines a storage class for articles.  The first matching
-    storage class is used to store the article; if no storage class matches,
-    INN will reject that article.  (This is almost never what you want, so
-    make sure this file ends in a catch-all entry that will match
-    everything.)
-    A storage class definition looks like this:
-        method <methodname> {
-            newsgroups: <wildmat>
-            class: <storage_class>
-            size: <minsize>[,<maxsize>]
-            expires: <mintime>[,<maxtime>]
-            options: <options>
-        }
-    <methodname> is the name of the storage method to use to store articles
-    in this class ("cnfs", "timehash", "timecaf", "tradspool", or the
-    special method "trash" that accepts the article and throws it away).
-    The first parameter is a wildmat pattern in the same format used by the
-    newsfeeds(5) file, and determines what newsgroups are accepted by this
-    storage class.
-    The second parameter is a unique number identifying this storage class
-    and should be between 0 and 255.  It can be used to control article
-    expiration, and for timehash and timecaf will set the top-level
-    directory in which articles accepted by this storage class are stored. 
-    The easiest way to deal with this parameter is to just number all
-    storage classes in storage.conf sequentially.  The assignment of a
-    particular number to a storage class is arbitrary but *permanent* (since
-    it is used in storage tokens).
-    The third parameter can be used to accept only articles in a certain
-    size range into this storage class.  A <maxsize> of 0 (or a missing
-    <maxsize>) means no upper limit (and of course a <minsize> of 0 would
-    mean no lower limit, because all articles are more than zero bytes
-    long).  If you don't want to limit the size of articles accepted by this
-    storage class, leave this parameter out entirely.
-    The fourth parameter you probably don't want to use; it lets you assign
-    storage classes based on the Expires: header of incoming articles.  The
-    exact details are in storage.conf(5).  It's very easy to use this
-    parameter incorrectly; leave it out entirely unless you've read the man
-    page and know what you're doing.
-    The fifth parameter is the options parameter.  Currently only CNFS uses
-    this field; it should contain the name of the metacycbuff used to store
-    articles in this storage class.
-    If you're using CNFS exclusively, just create one storage class for each
-    metacycbuff that you have defined in cycbuff.conf and set the newsgroups
-    pattern according to what newsgroups should be stored in that buffer.
-    If you're using timehash or timecaf, the storage class IDs are used to
-    store articles in separate directory trees, which you can take advantage
-    of to put particular storage classes on different disks.  Also,
-    currently storage class is the only way to specify expiration time, so
-    you will need to divide up your newsgroups based on how long you want to
-    retain articles in those groups and create a storage class for each such
-    collection of newsgroups.  Make note of the storage class IDs you assign
-    as they will be needed when you edit expire.ctl a bit later.
-  expire.ctl
-    expire.ctl sets the expiration policy for articles stored on the server.
-    Be careful, since the default configuration will expire most articles
-    after 10 days; in most circumstances this deletion is *permanent*, so
-    read this whole section carefully if you want to keep local hierarchies
-    forever.  (See archive(8) for a way to automate backups of important
-    articles.)
-    Only one entry is required for all storage classes; it looks like:
-        /remember/:10
-    This entry says how long to keep the Message-IDs for articles that have
-    already expired in the history file so that the server doesn't accept
-    them again.  Occasionally, fairly old articles will get regurgitated
-    somewhere and offered to you again, so even after you've expired
-    articles from your spool, you want to keep them around in your history
-    file for a little while to ensure you don't get duplicates.
-    INN will reject any articles more than a certain number of days old (the
-    *artcutoff* parameter in inn.conf, defaulting to 10); the number on the
-    "/remember/" line should match that.
-    CNFS makes no further use of expire.ctl, since articles stored in CNFS
-    buffers expire automatically when the buffer runs out of free space (but
-    see the "-N" option in expireover(8) if you really want to expire them
-    earlier).  For other storage methods, there are two different syntaxes
-    of this file, depending on *groupbaseexpiry* in inn.conf.  If it is set
-    to false, expire.ctl takes entries of the form:
-        <storage_class>:<keep>:<default>:<purge>
-    <storage_class> is the number assigned to a storage class in
-    storage.conf.  <default> is the number of days to keep normal articles
-    in that storage class (decimal values are allowed).  For articles that
-    don't have an Expires: header, those are the only two values that
-    matter.  For articles with an Expires: header, the other two values come
-    into play; the date given in the Expires: header of an article will be
-    honored, subject to the contraints set by <keep> and <purge>.  All
-    articles in this storage class will be kept for at least <keep> days,
-    regardless of their Expires: headers, and all articles in this storage
-    class will be expired after <purge> days, even if their Expires: headers
-    specify a longer life.
-    All three of these fields can also contain the special keyword "never". 
-    If <default> is "never", only articles with explicit Expires: headers
-    will ever be expired.  If <keep> is "never", articles with explicit
-    Expires: headers will be kept forever.  Setting <purge> to "never" says
-    to honor Expires: headers even if they specify dates far into the
-    future.  (Note that if <keep> is set to "never", all articles with
-    Expires: headers are kept forever and the value of <purge> is not used.)
-    If the value of "groupbaseexpiry" is true, expire.ctl takes entries of
-    the form:
-        <wildmat>:<flag>:<keep>:<default>:<purge>
-    <wildmat> is a wildmat expression ("!" and "@" not permitted, and only a
-    single expression, not a comma-separated set of them).  Each expiration
-    line applies to groups matching the wildmat expression.  <flag> is "M"
-    for moderated groups, "U" for unmoderated groups, and "A" for groups
-    with any moderation status; the line only matches groups with the
-    indicated expiration status.  All of the other fields have the same
-    meaning as above.
-  readers.conf
-    Provided that *noreader* is set to false in inn.conf, any connection
-    from a host that doesn't match an entry in incoming.conf (as well as any
-    connection from a host that does match such an entry, but has issued a
-    MODE READER command) will be handed off to nnrpd(8), the part of INN
-    that supports newsreading clients.  nnrpd uses readers.conf to determine
-    whether a given connection is allowed to read news, and if so what
-    newsgroups the client can read and post to.
-    There are a variety of fairly complicated things that one can do with
-    readers.conf, things like run external authentication programs that can
-    query RADIUS servers.  See readers.conf(5) and the example file for all
-    the gory details.  Here's an example of probably the simplest reasonable
-    configuration, one that only allows clients in the domain to
-    read from the server and allows any host in that domain to read and post
-    to all groups:
-        auth "" {
-            hosts: ", *"
-            default: "<user>"
-            default-domain: ""
-        }
-        access "all" {
-            users: "*"
-            newsgroups: "*"
-        }
-    If you're running a server for one particular domain, want to allow all
-    hosts within that domain to read and post to any group on the server,
-    and want to deny access to anyone outside that domain, just use the
-    above and change "" in the above to your domain and you're
-    all set.  Lots of examples of more complicated things are in the sample
-    file.
-Creating the Article Spool (CNFS only)
-    If you are using actual files as your CNFS buffers, you will need to
-    pre-create those files, ensuring they're the right size.  The easiest
-    way to do this is with dd.  For each cycbuff in cycbuff.conf, create the
-    buffer with the following commands (as the news user):
-        dd if=/dev/zero of=/path/to/buffer bs=1k count=BUFFERSIZE
-        chmod 664 /path/to/buffer
-    Substitute the correct path to the buffer and the size of the buffer as
-    specified in cycbuff.conf.  This will create a zero-filled file of the
-    correct size; it may take a while, so be prepared to wait.
-    Here's a command that will print out the dd(1) commands that you should
-    run:
-        awk -F: \
-        '/^cy/ { printf "dd if=/dev/zero of=%s bs=1k count=%s\n", $3, $4 }' \
-        ~news/etc/cycbuff.conf
-    If you are using block devices, you don't technically have to do
-    anything at all (since INN is capable of using the devices in /dev), but
-    you probably want to create special device files for those devices
-    somewhere for INN's private use.  It s more convenient to keep all of
-    INN's stuff together, but more importantly, the device files used by INN
-    really should be owned by the news user and group, and you may not want
-    to do that with the files in /dev.
-    To create the device files for INN, use mknod(8) with a type of "b",
-    getting the major and minor device numbers from the existing devices in
-    /dev.  There's a small shell script in cycbuff.conf(5) that may help
-    with this.  Make sure to create the device files in the location INN
-    expects them (specified in cycbuff.conf).
-    Solaris users please note:  on Solaris, do not use block devices that
-    include the first cylinder of the disk.  Solaris doesn't protect the
-    superblock from being overwritten by an application writing to block
-    devices and includes it in the first cylinder of the disk, so unless you
-    use a slice that starts with cylinder 1 instead of 0, INN will
-    invalidate the partition table when it tries to initialize the cycbuff
-    and all further accesses will fail until you repartition.
-Creating the Database Files
-    At this point, you need to set up the news database directory
-    (~news/db).  This directory will hold the active(5) file (the list of
-    newsgroups you carry), the active.times(5) file (the creator and
-    creation time of newsgroups created since the server was initialized),
-    the newsgroups(5) file (descriptions for all the newsgroups you carry),
-    and the history(5) file (a record of every article the server currently
-    has or has seen in the past few days, used to decide whether to accept
-    or refuse new incoming messages).
-    Before starting to work on this, make sure you're logged on as the news
-    user, since all of these files need to be owned by that user.  This is a
-    good policy to always follow; if you are doing any maintenance work on
-    your news server, log on as the news user.  Don't do maintenance work as
-    root.  Also make sure that ~news/bin is in the default path of the news
-    user (and while you're at it, make sure ~news/man is in the default
-    MANPATH) so that you can run INN maintenance commands without having to
-    type the full path.
-    If you already have a server set up (if you're upgrading, or setting up
-    a new server based on an existing server), copy active and newsgroups
-    from that server into ~news/db.  Otherwise, you'll need to figure out
-    what newsgroups you want to carry and create new active and newsgroups
-    files for them.  If you plan to carry a full feed, or something close to
-    that, go to <> and download active
-    and newsgroups from there; that will start you off with reasonably
-    complete files.  If you plan to only carry a small set of groups, the
-    default minimal active file installed by INN is a good place to start;
-    you can create additional groups after the server is running by using
-    "ctlinnd newgroup".  (Another option is to use actsync(8) to synchronize
-    your newsgroup list to that of another server.)
-    "control" and "junk" must exist as newsgroups in your active file for
-    INN to start, and creating pseudogroups for the major types of control
-    messages is strongly encouraged for all servers that aren't standalone. 
-    If you don't want these groups to be visible to clients, do *not* delete
-    them; simply hide them in readers.conf.  "to" must also exist as a
-    newsgroup if you have mergetogroups set in inn.conf.
-    Next, you need to create an empty history database.  To do this, type:
-        cd ~news/db
-        touch history
-        makedbz -i
-    When it finishes, rename the files it created to remove the ".n" in the
-    file names and then make sure the file permissions are correct on all
-    the files you've just created:
-        chmod 644 *
-    Your news database files are now ready to go.
-Configuring syslog
-    While some logs are handled internally, INN also logs a wide variety of
-    information via syslog.  INN's nightly report programs know how to roll
-    and summarize those syslog log files, but when you first install INN you
-    need to set them up.
-    If your system understands the "news" syslog facility, INN will use it;
-    otherwise, it will log to "local1".  Nearly every modern system has a
-    "news" syslog facility so you can safely assume that yours does, but if
-    in doubt take a look at the output from running "configure".  You should
-    see a line that looks like:
-        checking log level for news... LOG_NEWS
-    If that says LOG_LOCAL1 instead, change the below instructions to use
-    "local1" instead of "news".
-    Edit /etc/syslog.conf on your system and add lines that look like the
-    following:
-        news.crit           /usr/local/news/log/news.crit
-        news.err            /usr/local/news/log/news.err
-        news.notice         /usr/local/news/log/news.notice
-    (Change the path names as necessary if you installed INN in a different
-    location than /usr/local/news.)  These lines *must* be tab-delimited, so
-    don't copy and paste from these instructions.  Type it in by hand and
-    make sure you use a tab, or you'll get mysterious failures.  You'll also
-    want to make sure that news log messages don't fill your other log files
-    (INN generates a lot of log traffic); so for every entry in
-    /etc/syslog.conf that starts with "*", add ";news.none" to the end of
-    the first column.  For example, if you have a line like:
-        *.err               /dev/console
-    change it to:
-        *.err;news.none     /dev/console
-    (You can choose not to do this for the higher priority log messages, if
-    you want to make sure they go to your normal high-priority log files as
-    well as INN's.  Don't bother with anything lower priority than "crit",
-    though.  "news.err" isn't interesting enough to want to see all the
-    time.)  Now, make sure that the news log files exist; syslog generally
-    won't create files automatically.  Enter the following commands:
-        touch /usr/local/news/log/news.crit
-        touch /usr/local/news/log/news.err
-        touch /usr/local/news/log/news.notice
-        chown news /usr/local/news/log/news.*
-        chgrp news /usr/local/news/log/news.*
-    (again adjusting the paths if necessary for your installation). 
-    Finally, send a HUP signal to syslogd to make it re-read its
-    configuration file.
-Setting Up the Cron Jobs
-    INN requires a special cron job to be set up on your system to run
-    news.daily(8) which performs daily server maintenance tasks such as
-    article expiration and the processing and rotation of the server logs. 
-    Since it will slow the server down while it is running, it should be run
-    during periods of low server usage, such as in the middle of the night. 
-    To run it at 3am, for example, add the following entry to the news
-    user's crontab file:
-        0 3 * * * /usr/local/news/bin/news.daily expireover lowmark
-    or, if your system does not have per-user crontabs, put the following
-    line into your system crontab instead:
-        0 3 * * * su -c "/usr/local/news/bin/news.daily expireover lowmark" news
-    If you're using any non-CNFS storage methods, add "delayrm" to the above
-    option list for news.daily.
-    The news user obviously must be able to run cron jobs.  On Solaris, this
-    means that it must have a valid /etc/shadow entry and must not be locked
-    (although it may be a non-login account).  There may be similar
-    restrictions with other operating systems.
-    If you use the batching method to send news, also set up a cron job to
-    run nntpsend(8) every ten minutes.  nntpsend will run innxmit for all
-    non-empty pending batch files to send pending news to your peers.  That
-    cron entry should look something like:
-        0,10,20,30,40,50 * * * * /usr/local/news/bin/nntpsend
-    The pathnames and user ID used above are the installation defaults;
-    change them to match your installation if you used something other than
-    the defaults.
-    The parameters passed to news.daily in the above example are the most
-    common (and usually the most efficient) ones to use.  More information
-    on what these parameters do can be found in the news.daily(8) man page.
-File Descriptor Limits
-    INN likes to use a lot of file descriptors, particularly if you have a
-    lot of peers.  Depending on what your system defaults are, you may need
-    to make sure the default limit is increased for INN (particularly for
-    innd and innfeed).  This is vital on Solaris, which defaults (at least
-    as of 2.6) to an absurdly low limit of 64 file descriptors per process.
-    One way to increase the number of file descriptors is to set
-    *rlimitnofile* in inn.conf to a higher value.  This will cause both
-    startinnfeed and inndstart (the setuid root wrapper scripts that start
-    innfeed and innd, respectively) to increase the file descriptor limits
-    before they run the regular INN programs.  Note, however, that INN won't
-    be able to increase the limits above the hard limits set by your
-    operating system; on some systems, that hard limit is normally 256 file
-    descriptors (Linux, for example).  On others, like Solaris, it's 1024. 
-    Increasing the limit beyond that value may require serious system
-    configuration work.  (On some operating systems, it requires patching
-    and recompiling the kernel.  On Solaris it can be changed in
-    /etc/system, but for 2.6 or earlier the limit cannot be increased beyond
-    1024 without breaking select(2) and thereby breaking all of INN.  For
-    current versions of Linux, you may be able to change the maximum by
-    writing to /proc/sys/fs/file-max.)
-    256 file descriptors will probably be enough for all but the largest
-    sites.  There is no harm in setting the limits higher than you actually
-    need (provided they're set to something lower than or equal to your
-    system hard limit).  256 is therefore a reasonable value to try.
-    If you're installing INN on a Solaris system, particularly if you're
-    installing it on a dedicated news server machine, it may be easier to
-    just increase the default file descriptor limit across the board for all
-    processes.  You can do that by putting the line:
-        set rlim_fd_cur = 256
-    in /etc/system and rebooting.  You can increase it all the way to 1024
-    (and may need to if you have a particularly large site), but that can
-    cause RPC and some stdio applications to break.  It therefore probably
-    isn't a good idea on a machine that isn't dedicated to INN.
-Starting and Stopping the System
-    INN is started via the shell script  This must be run as the
-    news user and not as root.  To start INN on system boot, you therefore
-    want to put something like:
-        su - news -c /usr/local/news/bin/
-    in the system boot scripts.  If innd is stopped or killed, you can
-    restart it by running by hand as the news user.
-    The script may also be used to shut down INN, with the "stop"
-    option:
-        su - news -c '/usr/local/news/bin/ stop'
-    In the contrib directory of this source tree is a sample init script for
-    people using System V-style init.d directories.
-Processing Newsgroup Control Messages
-    Control messages are specially-formatted messages that tell news servers
-    to take various actions.  Cancels (commands to delete messages) are
-    handled internally by INN, and all other control messages are processed
-    by controlchan.  controlchan should be run out of newsfeeds if you want
-    your news server to process any control messages; see "Configuring INN"
-    for specific instructions.
-    The actions of controlchan are determined by control.ctl, which lists
-    who can perform what actions.  The primary control messages to be
-    concerned with are "newgroup" (to create a newsgroup), "rmgroup" (to
-    remove a newsgroup), and "checkgroups" (to compare the list of groups
-    carried in a hierarchy to a canonical list).  INN comes with a
-    control.ctl file that processes control messages in most major public
-    hierarchies; if you don't want to act on all those control messages, you
-    should remove from that file all entries for hierarchies you don't want
-    to carry.
-    You can tell INN to just authenticate control messages based on the From
-    header of the message, but this is obviously perilous and control
-    messages are widely forged.  Many hierarchies sign all of their control
-    messages with PGP, allowing news servers to verify their authenticity,
-    and checking those signatures for hierarchies that use them is highly
-    recommended.  controlchan knows how to do this (using pgpverify) without
-    additional configuration, but you do have to provide it with a public
-    key ring containing the public keys of all of the hierarchy
-    administrators whose control messages you want to check.
-    INN expects the public key ring to either be in the default location for
-    a PGP public key ring for the news user (generally ~news/.gnupg for
-    GnuPG and ~news/.pgp for old PGP implementations), or in pathetc/pgp
-    (/usr/local/news/etc/pgp by default).  The latter is the recommended
-    path.  To add a key to that key ring, use:
-        gpg --import --homedir=/usr/local/news/etc/pgp <file>
-    where <file> is a file containing the hierarchy key.  Change the homedir
-    setting to point to pathetc/pgp if you have INN installed in a
-    non-default location.  If you're using the old-style PGP program, an
-    equivalent command is:
-        env PGPPATH=/usr/local/news/etc/pgp pgp <file>
-    You can safely answer "no" to questions about whether you want to sign,
-    trust, or certify keys.
-    The URLs from which you can get hierarchy keys are noted in comments in
-    control.ctl.  <> tries to
-    collect the major hierarchy keys.
-    If you are using GnuPG, please note that the first user ID on the key
-    will be the one that's used by INN for verification and must match the
-    key listed in control.ctl.  If a hierarchy key has multiple user IDs,
-    you may have to remove all the user IDs except the one that matches the
-    control.ctl entry using "gpg --edit-key" and the "delkey" command.
diff --git a/LICENSE b/LICENSE
deleted file mode 100644 (file)
index 4d0fec5..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-INN as a whole and all code contained in it not otherwise marked with
-different licenses and/or copyrights is covered by the following copyright
-and license:
-   Copyright (c) 2004, 2005, 2006, 2007, 2008
-       by Internet Systems Consortium, Inc. ("ISC")
-   Copyright (c) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-       2002, 2003 by The Internet Software Consortium and Rich Salz
-   This code is derived from software contributed to the Internet Software
-   Consortium by Rich Salz.
-   Permission to use, copy, modify, and distribute this software for any
-   purpose with or without fee is hereby granted, provided that the above
-   copyright notice and this permission notice appear in all copies.
-Some specific portions of INN are covered by different licenses.  Those
-licenses, if present, will be noted prominantly at the top of those source
-files.  Specifically (but possibly not comprehensively):
-   authprogs/smbval/*, backends/, and control/
-   are under the GNU General Public License.  See doc/GPL for a copy of
-   this license.
-   backends/shrinkfile.c, frontends/, lib/concat.c,
-   lib/hstrerror.c, lib/inet_aton.c, lib/inet_ntoa.c, lib/memcmp.c,
-   lib/parsedate.y, lib/pread.c, lib/pwrite.c, lib/setenv.c, lib/seteuid.c,
-   lib/strerror.c, lib/strlcat.c and lib/strlcpy.c are in the public
-   domain.
-   lib/snprintf.c may be used for any purpose as long as the author's
-   notice remains intact in all source code distributions.
-   control/, control/ and control/
-   are under a BSD-style license (with the advertising clause) with UUNET
-   Technologies, Inc. as the copyright holder.  See the end of those files
-   for details.
-   control/ and control/modules/*.pl are covered by a
-   two-clause BSD-style license (no advertising clause).  See the
-   beginning of those files for details.
-   lib/strcasecmp.c, lib/strspn.c, and lib/strtok.c are taken from BSD
-   sources and are covered by the standard BSD license.  See those files
-   for more details.
-   lib/md5.c is covered under the standard free MD5 license from RSA Data
-   Security.  See the file for more details.  A clarification is also
-   provided here:  <>.
-      "Implementations of these message-digest algorithms, including
-      implementations derived from the reference C code in RFC-1319,
-      RFC-1320, and RFC-1321, may be made, used, and sold without
-      license from RSA for any purpose."
-   history/his.c and history/hisv6/hisv6.c are under a license very
-   similar to the new BSD license (no advertising clause) but with Thus
-   plc as the copyright holder.  See those files for details.
-   lib/tst.c, include/inn/tst.h and doc/pod/tst.pod are derived from
-   <> and are under the new BSD
-   license (no advertising clause), but with Peter A. Friend as the
-   copyright holder.
-   tests/runtests.c is covered under a license very similar to the MIT/X
-   Consortium license.  See the beginning of the file for details.
-Note that all portions of INN that link with core INN code have to be
-covered by licenses compatible with the license at the top of this file,
-and since INN links with several external libraries if so configured (such
-as OpenSSL), should also be compatible with the licenses of those external
-libraries to be safe.  Some portions of this distribution are covered by
-more restrictive licenses, but all of that code is completely stand-alone,
-either as a standalone script or as code that compiles into a separate
-Please note that the files in the contrib directory are not properly part
-of INN and may be under widely varying licenses.  Please see each file
-and/or its documentation for license information.
diff --git a/MANIFEST b/MANIFEST
deleted file mode 100644 (file)
index d93dada..0000000
+++ /dev/null
@@ -1,745 +0,0 @@
-File Name                             Description
-CONTRIBUTORS                          List of contributors
-HACKING                               Docs for INN coders and maintainers
-INSTALL                               INN installation instructions
-LICENSE                               Legal mumbo-jumbo
-MANIFEST                              This shipping list
-Makefile                              Top-level makefile                    Make variables for all Makefiles
-NEWS                                  Changes since last version
-README                                Introduction to the INN package
-TODO                                  The list of pending INN projects
-aclocal.m4                            M4 macro for libtool
-authprogs                             The authentication programs (Directory)
-authprogs/Makefile                    Makefile for auth programs
-authprogs/auth_krb5.c                 Authenticator against Kerberos v5
-authprogs/auth_smb.c                  Authenticator against Samba servers
-authprogs/ckpasswd.c                  Check password
-authprogs/domain.c                    Get username from remote user's hostname
-authprogs/ident.c                     Get username from ident
-authprogs/libauth.c                   Library for talking to nnrpd
-authprogs/libauth.h                   Interface for libauth
-authprogs/radius.c                    Authenticator against RADIUS servers
-authprogs/smbval                      The smb auth libraries (Directory)
-authprogs/smbval/Makefile             Libraries for smb auth
-authprogs/smbval/byteorder.h          Libraries for smb auth
-authprogs/smbval/rfcnb-common.h       Libraries for smb auth
-authprogs/smbval/rfcnb-error.h        Libraries for smb auth
-authprogs/smbval/rfcnb-io.c           Libraries for smb auth
-authprogs/smbval/rfcnb-io.h           Libraries for smb auth
-authprogs/smbval/rfcnb-priv.h         Libraries for smb auth
-authprogs/smbval/rfcnb-util.c         Libraries for smb auth
-authprogs/smbval/rfcnb-util.h         Libraries for smb auth
-authprogs/smbval/rfcnb.h              Libraries for smb auth
-authprogs/smbval/session.c            Libraries for smb auth
-authprogs/smbval/smbdes.c             Libraries for smb auth
-authprogs/smbval/smbencrypt.c         Libraries for smb auth
-authprogs/smbval/smblib-common.h      Libraries for smb auth
-authprogs/smbval/smblib-priv.h        Libraries for smb auth
-authprogs/smbval/smblib-util.c        Libraries for smb auth
-authprogs/smbval/smblib.c             Libraries for smb auth
-authprogs/smbval/smblib.h             Libraries for smb auth
-authprogs/smbval/valid.c              Libraries for smb auth
-authprogs/smbval/valid.h              Libraries for smb auth
-backends                              Outgoing feed programs (Directory)
-backends/Makefile                     Makefile for outgoing feed programs
-backends/                  Merge two active files to stdout
-backends/actsync.c                    Poll remote(s) for active file & merge
-backends/                  Daemon to run actsync periodically
-backends/archive.c                    Simple article archiver
-backends/batcher.c                    Make news batches
-backends/buffchan.c                   Buffered funnel to file splitter
-backends/crosspost.c                  Create links for crossposts (obselete)
-backends/cvtbatch.c                   Add fields to simple batchfile
-backends/filechan.c                   Split a funnel into separate files
-backends/inndf.c                      df used for innwatch
-backends/innxbatch.c                  Send batches using XBATCH to remote
-backends/innxmit.c                    Send articles to remote site
-backends/map.c                        Site name to filename mapping routines
-backends/map.h                        Headers for backends/map.c
-backends/                Batch do active file modifications
-backends/                 News to mail gateway
-backends/ninpaths.c                   Path statistics accumulation program
-backends/nntpget.c                    Get articles from remote site
-backends/                  Invoke all innxmit's at once
-backends/overchan.c                   Update news overview database
-backends/                Script to post ihave messages
-backends/                 Shell script to call innxmit
-backends/                 Script to call batcher
-backends/               Send accumulated Path statistics
-backends/              Shell wrapper around innxbatch
-backends/shlock.c                     Program to make lockfiles in scripts
-backends/shrinkfile.c                 Shrink file from beginning
-configure                             Script to configure INN                          Source file for configure
-contrib                               External contributions (Directory)
-contrib/Makefile                      Makefile for contrib programs
-contrib/README                        Contents of the contrib directory
-contrib/                  Compressing version of archive
-contrib/auth_pass.README              README corresponding to auth_pass.c
-contrib/auth_pass.c                   Sample for use with AUTHINFO GENERIC
-contrib/                Analyze innfeed's backlog status
-contrib/                 Suck down news via a reading connection
-contrib/            Script to clean newsgroups file
-contrib/             Count overview entries
-contrib/                    Delay data in a pipe, for innfeed
-contrib/expirectl.c                   Generate expire.ctl from template
-contrib/             Track which groups are being read
-contrib/fixhist                       Script to clean history
-contrib/innconfcheck                  Merge inn.conf with its man page
-contrib/                 Create expire.ctl from read groups
-contrib/               Create storage.conf from read groups
-contrib/mkbuf                         Create cycbuff for HP-UX
-contrib/mlockfile.c                   Lock files into memory using mlock
-contrib/newsresp.c                    Measure responsiveness of remote server
-contrib/pullart.c                     Recover articles from cyclic buffers
-contrib/reset-cnfs.c                  Reset the state parts of a CNFS buffer
-contrib/respool.c                     Respool articles in the storage manager
-contrib/sample.init.script            Example SysV-style init.d script
-contrib/                  Decode storage API tokens
-contrib/                   Parse history statistics
-contrib/                  Dynamic expire for timehash and timecaf
-contrib/                   Tune a feed by comparing active files
-control                               Control message handling (Directory)
-control/Makefile                      Makefile for control programs
-control/               Batch program for controlchan
-control/                Channel program for control messages
-control/              Script to execute checkgroups
-control/                  Verify control messages with GnuPG
-control/modules                       Modules for controlchan (Directory)
-control/modules/        checkgroups controlchan handler
-control/modules/              ihave controlchan handler
-control/modules/           newgroup controlchan handler
-control/modules/            rmgroup controlchan handler
-control/modules/             sendme controlchan handler
-control/modules/            sendsys controlchan handler
-control/modules/         senduuname controlchan handler
-control/modules/            version controlchan handler
-control/                 NoCeM on spool implementation
-control/                  Verify control messages with PGP
-control/                PGP control message signing program
-doc                                   Documentation (Directory)
-doc/GPL                               The GNU General Public License 2.0
-doc/IPv6-info                         Nathan Lutchansky's IPv6 notes
-doc/Makefile                          Makefile for documentation
-doc/checklist                         Checklist for installing INN
-doc/compliance-nntp                   INN compliance with the NNTP standard
-doc/config-design                     Configuration parser design principles
-doc/config-semantics                  Configuration file semantics
-doc/config-syntax                     Configuration file syntax
-doc/external-auth                     readers.conf external interface notes
-doc/history                           Messages of historical significance
-doc/hook-perl                         Christophe Wolfhugel's Perl hook notes
-doc/hook-python                       Python hook notes
-doc/hook-tcl                          Bob Halley's TCL hook notes
-doc/man                               nroff documentation (Directory)
-doc/man/Makefile                      Makefile for nroff documentation
-doc/man/active.5                      Manpage for active database
-doc/man/active.times.5                Manpage for active.times file
-doc/man/actsync.8                     Manpage for active file synch program
-doc/man/actsyncd.8                    Manpage for active synch daemon
-doc/man/archive.8                     Manpage for archive backend
-doc/man/auth_krb5.8                   Manpage for auth_krb5 authenticator
-doc/man/auth_smb.8                    Manpage for auth_smb authenticator
-doc/man/batcher.8                     Manpage for batcher
-doc/man/buffchan.8                    Manpage for buffchan backend
-doc/man/buffindexed.conf.5            Manpage for buffindexed.conf config file
-doc/man/ckpasswd.8                    Manpage for ckpasswd authenticator
-doc/man/clientlib.3                   Manpage for C News library interface
-doc/man/cnfsheadconf.8                Manpage for cnfsheadconf
-doc/man/cnfsstat.8                    Manpage for cnfsstat
-doc/man/control.ctl.5                 Manpage for control.ctl config file
-doc/man/controlchan.8                 Manpage for controlchan backend
-doc/man/convdate.1                    Manpage for convdate utility
-doc/man/ctlinnd.8                     Manpage for ctlinnd frontend
-doc/man/cvtbatch.8                    Manpage for cvtbatch utility
-doc/man/cycbuff.conf.5                Manpage for cycbuff.conf config file
-doc/man/dbz.3                         Manpage for DBZ database interface
-doc/man/distrib.pats.5                Manpage for distrib.pats config file
-doc/man/domain.8                      Manpage for domain resolver
-doc/man/expire.8                      Manpage for expire
-doc/man/expire.ctl.5                  Manpage for expire.ctl config file
-doc/man/expireover.8                  Manpage for expireover
-doc/man/expirerm.8                    Manpage for expirerm
-doc/man/fastrm.1                      Manpage for fastrm utility
-doc/man/filechan.8                    Manpage for filechan backend
-doc/man/getlist.1                     Manpage for getlist frontend
-doc/man/grephistory.1                 Manpage for grephistory
-doc/man/history.5                     Manpage for history database
-doc/man/ident.8                       Manpage for ident resolver
-doc/man/incoming.conf.5               Manpage for incoming.conf config file
-doc/man/inews.1                       Manpage for inews frontend
-doc/man/inn.conf.5                    Manpage for inn.conf config file
-doc/man/inncheck.8                    Manpage for inncheck utility
-doc/man/innconfval.1                  Manpage for innconfval
-doc/man/innd.8                        Manpage for innd server
-doc/man/inndcomm.3                    Manpage for part of INN library
-doc/man/inndf.8                       Manpage for inndf utility
-doc/man/inndstart.8                   Manpage for inndstart
-doc/man/innfeed.1                     Manpage for innfeed backend
-doc/man/innfeed.conf.5                Manpage for innfeed.conf config file
-doc/man/innmail.1                     Manpage for innmail utility
-doc/man/innreport.8                   Manpage for innreport
-doc/man/innstat.8                     Manpage for innstat utility
-doc/man/innupgrade.8                  Manpage for innupgrade utility
-doc/man/innwatch.8                    Manpage for innwatch
-doc/man/innwatch.ctl.5                Manpage for innwatch.ctl config file
-doc/man/innxbatch.8                   Manpage for innxbatch
-doc/man/innxmit.8                     Manpage for innxmit
-doc/man/libauth.3                     Manpage for authprogs utilty routines
-doc/man/libinn.3                      Manpage for INN library routines
-doc/man/libinnhist.3                  Manpage for history API library routines
-doc/man/libstorage.3                  Manpage for storage API library routines
-doc/man/list.3                        Manpage for list routines
-doc/man/mailpost.8                    Manpage for mailpost frontend
-doc/man/makeactive.8                  Manpage for makeactive
-doc/man/makedbz.8                     Manpage for makedbz
-doc/man/makehistory.8                 Manpage for makehistory
-doc/man/mod-active.8                  Manpage for mod-active
-doc/man/moderators.5                  Manpage for moderators config file
-doc/man/                   Manpage for config file
-doc/man/news.daily.8                  Manpage for news.daily
-doc/man/news2mail.8                   Manpage for news2mail
-doc/man/newsfeeds.5                   Manpage for newsfeeds config file
-doc/man/newslog.5                     Manpage for log files
-doc/man/ninpaths.8                    Manpage for ninpaths
-doc/man/nnrpd.8                       Manpage for nnrpd daemon
-doc/man/nnrpd.track.5                 Manpage for nnrpd.track config file
-doc/man/nntpget.1                     Manpage for nntpget frontend
-doc/man/nntpsend.8                    Manpage for nntpsend
-doc/man/nntpsend.ctl.5                Manpage for nntpsend.ctl config file
-doc/man/ovdb.5                        Manpage for the ovdb storage module
-doc/man/ovdb_init.8                   Manpage for ovdb_init
-doc/man/ovdb_monitor.8                Manpage for ovdb_monitor
-doc/man/ovdb_server.8                 Manpage for ovdb_server
-doc/man/ovdb_stat.8                   Manpage for ovdb_stat
-doc/man/overchan.8                    Manpage for overchan backend
-doc/man/overview.fmt.5                Manpage for overview.fmt config file
-doc/man/parsedate.3                   Manpage for parsedate library routine
-doc/man/passwd.nntp.5                 Manpage for passwd.nntp config file
-doc/man/perl-nocem.8                  Manpage for perl-nocem
-doc/man/pgpverify.1                   Manpage for pgpverify
-doc/man/prunehistory.8                Manpage for prunehistory
-doc/man/pullnews.1                    Manpage for pullnews
-doc/man/                     Install a manpage
-doc/man/qio.3                         Manpage for fast I/O file routines
-doc/man/radius.8                      Manpage for radius authenticator
-doc/man/radius.conf.5                 Manpage for radius.conf config file
-doc/man/                     Manpage for
-doc/man/readers.conf.5                Manpage for readers.conf config file
-doc/man/rnews.1                       Manpage for rnews frontend
-doc/man/sasl.conf.5                   Manpage for sasl.conf config file
-doc/man/scanlogs.8                    Manpage for scanlogs
-doc/man/send-nntp.8                   Manpage for send-nntp and send-ihave
-doc/man/send-uucp.8                   Manpage for send-uucp
-doc/man/sendinpaths.8                 Manpage for sendinpaths
-doc/man/shlock.1                      Manpage for shlock backend utility
-doc/man/shrinkfile.1                  Manpage for shrinkfile utility
-doc/man/simpleftp.1                   Manpage for simpleftp utility
-doc/man/sm.1                          Manpage for sm
-doc/man/startinnfeed.1                Manpage for startinnfeed
-doc/man/storage.conf.5                Manpage for storage.conf config file
-doc/man/subscriptions.5               Manpage for subscriptions list
-doc/man/tally.control.8               Manpage for tally.control
-doc/man/tdx-util.8                    Manpage for tdx-util
-doc/man/tst.3                         Manpage for ternary search tree routines
-doc/man/uwildmat.3                    Manpage for uwildmat library routine
-doc/man/writelog.8                    Manpage for writelog
-doc/pod                               POD documentation (Directory)
-doc/pod/Makefile                      Maintainer rules for derived files
-doc/pod/active.pod                    Master file for active.5
-doc/pod/active.times.pod              Master file for active.times.5
-doc/pod/auth_krb5.pod                 Master file for auth_krb5.8
-doc/pod/auth_smb.pod                  Master file for auth_smb.8
-doc/pod/checklist.pod                 Master file for doc/checklist
-doc/pod/ckpasswd.pod                  Master file for ckpasswd.8
-doc/pod/control.ctl.pod               Master file for control.ctl.5
-doc/pod/convdate.pod                  Master file for convdate.1
-doc/pod/cycbuff.conf.pod              Master file for cycbuff.conf.5
-doc/pod/distrib.pats.pod              Master file for distrib.pats.5
-doc/pod/domain.pod                    Master file for domain.8
-doc/pod/expire.ctl.pod                Master file for expire.ctl.5
-doc/pod/expireover.pod                Master file for expireover.8
-doc/pod/external-auth.pod             Master file for doc/external-auth
-doc/pod/fastrm.pod                    Master file for fastrm.1
-doc/pod/grephistory.pod               Master file for grephistory.1
-doc/pod/hacking.pod                   Master file for HACKING
-doc/pod/hook-perl.pod                 Master file for doc/hook-perl
-doc/pod/hook-python.pod               Master file for doc/hook-python
-doc/pod/ident.pod                     Master file for ident.8
-doc/pod/inews.pod                     Master file for inews.1
-doc/pod/inn.conf.pod                  Master file for inn.conf.5
-doc/pod/innconfval.pod                Master file for innconfval.1
-doc/pod/innd.pod                      Master file for innd.8
-doc/pod/inndf.pod                     Master file for inndf.8
-doc/pod/inndstart.pod                 Master file for inndstart.8
-doc/pod/innmail.pod                   Master file for innmail.1
-doc/pod/innupgrade.pod                Master file for innupgrade.8
-doc/pod/install.pod                   Master file for INSTALL
-doc/pod/libauth.pod                   Master file for libauth.3
-doc/pod/libinnhist.pod                Master file for libinnhist.3
-doc/pod/list.pod                      Master file for list.3
-doc/pod/mailpost.pod                  Master file for mailpost.8
-doc/pod/makehistory.pod               Master file for makehistory.8
-doc/pod/                 Master file for
-doc/pod/news.pod                      Master file for NEWS
-doc/pod/newsfeeds.pod                 Master file for newsfeeds.5
-doc/pod/ninpaths.pod                  Master file for ninpaths.8
-doc/pod/nnrpd.pod                     Master file for nnrpd.8
-doc/pod/ovdb.pod                      Master file for ovdb.5
-doc/pod/ovdb_init.pod                 Master file for ovdb_init.8
-doc/pod/ovdb_monitor.pod              Master file for ovdb_monitor.8
-doc/pod/ovdb_server.pod               Master file for ovdb_server.8
-doc/pod/ovdb_stat.pod                 Master file for ovdb_stat.8
-doc/pod/passwd.nntp.pod               Master file for passwd.nntp.5
-doc/pod/pullnews.pod                  Master file for pullnews.1
-doc/pod/qio.pod                       Master file for qio.3
-doc/pod/radius.conf.pod               Master file for radius.conf.5
-doc/pod/radius.pod                    Master file for radius.8
-doc/pod/                   Master file for
-doc/pod/readers.conf.pod              Master file for readers.conf.5
-doc/pod/readme.pod                    Master file for README
-doc/pod/sasl.conf.pod                 Master file for sasl.conf.5
-doc/pod/sendinpaths.pod               Master file for sendinpaths.8
-doc/pod/simpleftp.pod                 Master file for simpleftp.1
-doc/pod/sm.pod                        Master file for sm.1
-doc/pod/subscriptions.pod             Master file for subscriptions.5
-doc/pod/tdx-util.pod                  Master file for tdx-util.8
-doc/pod/tst.pod                       Master file for tst.3
-doc/pod/uwildmat.pod                  Master file for uwildmat.3
-doc/sample-control                    Sample PGP-signed control message
-expire                                Expiration and recovery (Directory)
-expire/Makefile                       Makefile for expiration
-expire/convdate.c                     Date string conversions
-expire/expire.c                       Expire old articles and history lines
-expire/expireover.c                   Expire news overview data
-expire/                    Remove articles from expire -z
-expire/fastrm.c                       Remove list of files
-expire/grephistory.c                  Find entries in history database
-expire/makedbz.c                      Recover dbz
-expire/makehistory.c                  Recover the history database
-expire/prunehistory.c                 Prune file names from history file
-frontends                             inews, rnews, ctlinnd (Directory)
-frontends/Makefile                    Makefile for frontends
-frontends/             Setup cycbuff header
-frontends/                 Show cycbuff status
-frontends/ctlinnd.c                   Send control request to innd
-frontends/decode.c                    Decode 7-bit data into binary file
-frontends/encode.c                    Encode binary file into 7-bit data
-frontends/feedone.c                   Test rig to feed a single NNTP article
-frontends/getlist.c                   Get active or other list from server
-frontends/inews.c                     Send article to local NNTP server
-frontends/innconfval.c                Get an INN configuration parameter
-frontends/                 Mail to news gateway
-frontends/ovdb_init.c                 Prepare ovdb database for use
-frontends/ovdb_monitor.c              Database maintainance for ovdb
-frontends/ovdb_server.c               Helper server for ovdb
-frontends/ovdb_stat.c                 Display information from ovdb database
-frontends/                 Sucking news feeder
-frontends/rnews.c                     UUCP unbatcher
-frontends/                Scan spool directory for trash
-frontends/sm.c                        Get article or overview data from token
-frontends/sys2nf.c                    Sys file to newsfeeds conversion aid
-history                               History library routines (Directory)
-history/Make.methods                  Makefile for history methods
-history/Makefile                      Makefile for history library
-history/                Construct history interface
-history/his.c                         History API glue implementation
-history/hisinterface.h                History API interface
-history/hisv6                         History v6 method (Directory)
-history/hisv6/hismethod.config        hisbuildconfig definition
-history/hisv6/hisv6-private.h         Private header file for hisv6
-history/hisv6/hisv6.c                 hisv6 history method
-history/hisv6/hisv6.h                 Header for hisv6 history
-include                               Header files (Directory)
-include/Makefile                      Makefile for header files
-include/acconfig.h                    Master file for
-include/clibrary.h                    C library portability
-include/conffile.h                    Header file for reading *.conf files
-include/                   Template configuration data 
-include/dbz.h                         Header file for DBZ
-include/inn                           Installed header files (Directory)
-include/inn/buffer.h                  Header file for reusable counted buffers
-include/inn/confparse.h               Header file for configuration parser
-include/inn/defines.h                 Portable defs for installed headers
-include/inn/hashtab.h                 Header file for generic hash table
-include/inn/history.h                 Header file for the history API
-include/inn/innconf.h                 Header file for the innconf struct
-include/inn/list.h                    Header file for list routines
-include/inn/md5.h                     Header file for MD5 digests
-include/inn/messages.h                Header file for message functions
-include/inn/mmap.h                    Header file for mmap() functions
-include/inn/qio.h                     Header file for quick I/O package
-include/inn/sequence.h                Header file for sequence space arithmetic
-include/inn/timer.h                   Header file for generic timers
-include/inn/tst.h                     Header file for ternary search tries
-include/inn/vector.h                  Header file for vectors of strings
-include/inn/wire.h                    Header file for wire-format functions
-include/inndcomm.h                    innd control channel commands
-include/innperl.h                     Header file for embedded Perl
-include/libinn.h                      INN library declarations
-include/nntp.h                        NNTP command and reply codes
-include/ov.h                          Header file for overview
-include/                    Paths to common programs and files
-include/portable                      Portability wrappers (Directory)
-include/portable/mmap.h               Wrapper for <sys/mman.h>
-include/portable/setproctitle.h       Portable setup for setproctitle
-include/portable/socket.h             Wrapper for <sys/socket.h> and friends
-include/portable/time.h               Wrapper for <time.h> and <sys/time.h>
-include/portable/wait.h               Wrapper for <sys/wait.h>
-include/ppport.h                      Header file for Perl support
-include/storage.h                     Header file for storage API
-innd                                  Server (Directory)
-innd/Makefile                         Makefile for server
-innd/art.c                            Process a received article
-innd/cc.c                             Control channel routines
-innd/chan.c                           I/O channel routines
-innd/icd.c                            Read and write the active file
-innd/innd.c                           Main and utility routines
-innd/innd.h                           Header file for server
-innd/inndstart.c                      Open the NNTP port, then exec innd
-innd/keywords.c                       Generate article keywords
-innd/lc.c                             Local NNTP channel routines
-innd/nc.c                             NNTP channel routines
-innd/newsfeeds.c                      Routines to parse the newsfeeds file
-innd/ng.c                             Newsgroup routines
-innd/perl.c                           Perl routines for innd
-innd/proc.c                           Process routines
-innd/python.c                         Python routines for innd
-innd/rc.c                             Remote channel accepting routines
-innd/site.c                           Site feeding routines
-innd/status.c                         Status routines for innd
-innd/tcl.c                            Bob Halley's Tcl hook
-innd/util.c                           Utility functions for innd
-innd/wip.c                            Work-in-progress routines for innd
-innfeed                               innfeed (Directory)
-innfeed/Makefile                      Makefile for innfeed
-innfeed/README                        Assorted notes
-innfeed/article.c                     Implementation of the Article class
-innfeed/article.h                     Public interface to Articles
-innfeed/buffer.c                      Implementation of the Buffer class
-innfeed/buffer.h                      Public interface to the Buffer class
-innfeed/config_l.c                    Lexer for the innfeed config file
-innfeed/configfile.h                  Header file for configfile.y
-innfeed/configfile.l                  Master file for config_l.c
-innfeed/configfile.y                  Parser for innfeed config file
-innfeed/connection.c                  Implementation of the Connection class
-innfeed/connection.h                  Public interface to the Connection class
-innfeed/endpoint.c                    Implementation of the EndPoint class
-innfeed/endpoint.h                    Public interface to the EndPoint class
-innfeed/host.c                        Implementation of the Host class
-innfeed/host.h                        Public interface to the Host class
-innfeed/imap_connection.c             Implementation of IMAP Connection class
-innfeed/            Script to convert old innfeed.conf
-innfeed/innfeed.h                     Application configuration values
-innfeed/innlistener.c                 Implementation of the InnListener class
-innfeed/innlistener.h                 Public interface of InnListener class
-innfeed/main.c                        Main routines for the innfeed program
-innfeed/misc.c                        Miscelloneous routines for innfeed
-innfeed/misc.h                        Header file for misc.c
-innfeed/                  Script to process dropped articles
-innfeed/startinnfeed.c                Start innfeed
-innfeed/tape.c                        Implementation of the Tape class
-innfeed/tape.h                        Public interface to the Tape class
-innfeed/               Script to hand articles to innfeed
-lib                                   INN library routines (Directory)
-lib/Makefile                          Makefile for library
-lib/buffer.c                          Reusable counted buffer
-lib/cleanfrom.c                       Clean out a From line
-lib/clientactive.c                    Client access to the active file
-lib/clientlib.c                       Replacement for C News library routine
-lib/concat.c                          Concatenate strings with dynamic memory
-lib/conffile.c                        Routines for reading *.conf files
-lib/confparse.c                       Generic configuration file parser
-lib/daemonize.c                       Code necessary to become a daemon
-lib/date.c                            Date parsing and conversion routines
-lib/dbz.c                             DBZ database library
-lib/defdist.c                         Determine default Distribution header
-lib/fdflags.c                         Set or clear file descriptor flags
-lib/fdlimit.c                         File descriptor limits
-lib/fseeko.c                          fseeko replacement
-lib/ftello.c                          ftello replacement
-lib/genid.c                           Generate a message ID
-lib/getfqdn.c                         Get FQDN of local host
-lib/getmodaddr.c                      Get a moderator's address
-lib/getpagesize.c                     getpagesize replacement
-lib/gettime.c                         Get time and timezone info
-lib/hash.c                            Create hash from message ID
-lib/hashtab.c                         Generic hash table
-lib/hstrerror.c                       Error reporting for resolver
-lib/inet_aton.c                       Extra source for inet_aton routine
-lib/inet_ntoa.c                       Convert inaddr to string (BSD)
-lib/innconf.c                         Parsing and manipulation of inn.conf
-lib/inndcomm.c                        Library routines to talk to innd
-lib/list.c                            List routines
-lib/localopen.c                       Open a local NNTP connection
-lib/lockfile.c                        Try to lock a file descriptor
-lib/makedir.c                         Make directory recursively
-lib/md5.c                             MD5 checksum calculation
-lib/memcmp.c                          memcmp replacement
-lib/messages.c                        Error reporting and debug output
-lib/mkstemp.c                         mkstemp replacement
-lib/mmap.c                            mmap manipulation routines
-lib/parsedate.y                       Date parsing
-lib/perl.c                            Perl hook support for nnrpd and innd
-lib/pread.c                           pread replacement
-lib/pwrite.c                          pwrite replacement
-lib/qio.c                             Quick I/O package
-lib/radix32.c                         Encode a number as a radix-32 string
-lib/readin.c                          Read file into memory
-lib/remopen.c                         Open a remote NNTP connection
-lib/reservedfd.c                      File descriptor reservation
-lib/resource.c                        Get process CPU usage
-lib/sendarticle.c                     Send an article, NNTP style
-lib/sendpass.c                        Send NNTP authentication
-lib/sequence.c                        Sequence space arithmetic routines
-lib/setenv.c                          setenv replacement
-lib/seteuid.c                         seteuid replacement
-lib/setproctitle.c                    setproctitle replacement
-lib/snprintf.c                        snprintf and vsnprintf replacement
-lib/sockaddr.c                        Manipulation of sockaddr structs
-lib/strcasecmp.c                      Case-insenstive string comparison (BSD)
-lib/strerror.c                        String representation of errno
-lib/strlcat.c                         strlcat replacement
-lib/strlcpy.c                         strlcpy replacement
-lib/strspn.c                          Skip bytes in a string (BSD)
-lib/strtok.c                          Split a string into tokens (BSD)
-lib/timer.c                           Generic profile timer
-lib/tst.c                             Ternary search trie implementation
-lib/uwildmat.c                        Pattern match routine
-lib/vector.c                          Manipulate vectors of strings
-lib/version.c                         INN version constants
-lib/wire.c                            Manipulate wire-format articles
-lib/xfopena.c                         Open a FILE in append mode
-lib/xmalloc.c                         Failsafe memory allocation wrapper
-lib/xsignal.c                         signal() wrapper using sigaction
-lib/xwrite.c                          write that handles partial transfers
-nnrpd                                 Reader server (Directory)
-nnrpd/Makefile                        Makefile for nnrpd
-nnrpd/article.c                       Article-related routines
-nnrpd/cache.c                         MessageID cache routines
-nnrpd/cache.h                         MessageID cache interfaces
-nnrpd/commands.c                      Assorted server commands
-nnrpd/group.c                         Group-related routines
-nnrpd/line.c                          Long line-by-line reading routines
-nnrpd/list.c                          The LIST commands
-nnrpd/misc.c                          Miscellaneous support routines
-nnrpd/newnews.c                       The NEWNEWS command
-nnrpd/nnrpd.c                         Main and some utility routines
-nnrpd/nnrpd.h                         Header file for nnrpd
-nnrpd/perl.c                          Perl routines for nnrpd
-nnrpd/perm.c                          Reading readers.conf
-nnrpd/post.c                          Article processing and posting
-nnrpd/post.h                          Article data types
-nnrpd/python.c                        Python routines for nnrpd
-nnrpd/sasl_config.c                   Configuration for SASL
-nnrpd/sasl_config.h                   SASL data types
-nnrpd/tls.c                           Transport layer security
-nnrpd/tls.h                           Transport layer security data types
-nnrpd/track.c                         Track client behavior
-samples                               Prototype INN config files (Directory)
-samples/                        Stub Python functions
-samples/Makefile                      Makefile for samples
-samples/active.minimal                Minimal starting active file
-samples/actsync.cfg                   Config file for actsync
-samples/actsync.ign                   Ignore file for actsync
-samples/buffindexed.conf              Buffindexed overview config file
-samples/control.ctl                   Access control for control messages
-samples/cycbuff.conf                  Sample cycbuff.conf file
-samples/distrib.pats                  Default values for Distribution header
-samples/expire.ctl                    Expiration config file
-samples/filter.tcl               &nb