fetchnews(8)

NAME
fetchnews - fetch news via NNTP

SYNOPSIS
fetchnews [-v] [-f] [-x number] [-n] [-s [suck-file]]

DESCRIPTION
Leafnode is a USENET package intended for small sites, where there are few users and little disk space, but where a large number of groups is desired.

The design of leafnode is intended to self-repair after problems, and to require no manual maintenance.

Fetchnews is the program which submits and retrieves new articles to or from the upstream NNTP server.

OPTIONS

-v  Be verbose. A maximum of four -v can be used (the more v, the more verbose). Don't expect all the output to make sense.

-f  Force fetchnews to retrive newsgroup list from each server.

-x number
    Go number articles back and try to re-fetch what's missing. Chiefly used for debugging purposes.

-n  Write server's information file after fetching from each group, rather than updating it when fetchnews has finished with that server. It may help you if you are using unstable connection and get problems of sudden disconnection. I guess current fetchnews doesn't need this option because codes are changed to check sudden disconnection, but I'm not sure, so I have left this.

-s [suck-file]
    Parse a file created by suck and spool articles in it.

FILES AND CONFIGURATION
See leafnode(8) for the list of files affected, and for information on configuring fetchnews.

ALGORITHM
Here is a brief description of what fetchnews does.

First, after connecting to the upstream NNTP server, all articles in /var/spool/news/out.going are posted using POST if the server is marked as postable. If a posting fails, that article is tried to post to a next postable server. Then, finally all articles not posted move into /var/spool/news/failed.postings which an administrator has to clean up once in a while. Moving a file back to /var/spool/news/out.going is sufficient to resubmit it.

Second, the upstream server's list of newsgroups (obtained using LIST ACTIVE and LIST NEWSGROUPS) is merged into leafnode's (this step is most often optimized away).

Third, fetchnews iterates over the list of newsgroups, performing a GROUP, an XOVER and a number of ARTICLE commands for each group which has been read during the past week.

NOTES
Fetchnews does not use NEWNEWS or XHDR. NEWNEWS is not used because it is often very expensive. XHDR is also not used because its implementation of some nntpds is slower than XOVER. Fetchnews use XOVER to collect information about new articles, then fetchnews decide whether it gets them.

The only way to control what newsgroups are accessible to local users is to control what the upstream server lets fetchnews read, and that will not keep out all crossposts (endemic in e.g. the alt.sex groups). If your site is big enough that you need to control newsgroup access, consider using a news server which is designed for a big site.

Fetchnews sets its effective uid to "news", because almost all of the problems I have had with leafnode are due to files which aren't writable for user news.

BUGS
Fetchnews ignores cancel messages. But it understands "Supersedes:" header to read news.answers.

Never deletes a group from the list of active newgroups.

AUTHOR AND LICENCE
Written by Arnt Gulbrandsen <agulbra@troll.no> and copyright 1995-96 Troll Tech AS, Postboks 6133 Etterstad, 0602 Oslo, Norway, fax +47 22646949.

Modified by Cornelius Krasel <krasel@wpxx02.toxi.uni-wuerzburg.de>. Copyright of the modifications 1997.

Modified by Kazushi (Jam) Marukawa <jam@pobox.com>. Copyright of the modifications 1998,1999,2000.

Use, modification and distribution is allowed without limitation, warranty, or liability of any kind.

SEE ALSO
tcpd(8), hosts.allow(5), leafnode(8), texpire(8), RFC 977