rnews - Distribute newsgroup bundles
Rnews distributes newsgroup bundles found in $spool/news as specified by the $/etc/newsys file. Bundles are sent to offsite addresses as whole batches of articles in one file, or the bundles may be broken into individual articles for standard mail distribution, letter by letter (this is not as efficient as forwarding whole batches).
Rnews is invoked by unbatch. It isn’t useful to invoke rnews from the shell or via a crontab entry.
The news unbatching, distribution, and posting system uses $/etc/newsys to determine how and where newsgroup bundles are distributed. A typical newsys file looks like this:
#D Discussion about Apple II micros
#L apple/net 150
comp.sys.mac.programmer=c.s.mac.prog #D Macintosh programmers' group #L macintosh/coding 150
comp.dcom.telecom=c.dcom.telecom #D Telecommunications #L telecom/general pro-simasd!rnews
The newsys file consists of one more group entries, separated by a blank line. Each entry includes a number of fields.
The first field in an entry gives the name of a newsgroup. Group names must be legal file names (15 characters or less and contains no illegal characters). If the group’s name is not a legal file name, it can be aliased to a legal one with the following syntax:
For example, comp.sys.mac.programmer could be aliased to c.s.mac.prog, rec.arts.startrek could be r.a.startrek, and news.announce.newuser could be n.a.newuser.
It is recommended that after adding or editing groups in the newsys file that ned be run to update the newsys file. Ned’s update feature makes sure that groups that need aliases are given legal, descriptive names.
The fields which follow consist of either target addresses or special information for that entry.
Study this sample entry:
comp.sys.apple2 #D Discussion about Apple II micros #R incoming from cts.com #L apple/net 150 pro-simasd!rnews, ~pro-tcc!apple-local <pro-frisbee!rnews>, pro-offline!rnews
This entry for comp.sys.apple2 begins with three fields of special information:
Description. This is a short description that summarizes the group’s content.
Remark. The #R field is a general note to yourself, such as a note indicating which site feeds you with the newsgroup. Extra #R fields can be included for more comments.
Local Info. The #L field gives local Conference System posting information. It contains the name of a conference/topic that gets copies of the articles for that newsgroup. An optional numeric argument can also be included to denote the maximum number of articles to remain active in that conference. This information is used by postnews.
The letter following the pound-sign must be CAPITALIZED.
Finally, in the example, the last two lines contain a list of addresses for sites that subscribe to the newsgroup. More than one address can be included on a line. Each address must be delimited by a comma, followed by a space. Use as many lines as necessary, but don’t leave any blank lines between addresses.
A site can be removed from distribution by placing a left-angle bracket (<) in front of the address — an enclosing right-angle bracket (>) is optional. This stops rnews from feeding a site while leaving it in the list.
If an address starts with a tilde (~), the articles are sent one at a time in standard e-mail letter format. If the address does not begin with a tilde (~), the articles are sent in batches (multiple articles per file). Batches are always addressed to a site’s “rnews” account.
The three programs, unbatch, rnews, and postnews, put entries into the log file $spool/logs/newslog. Unbatch reports newsgroups it unbatched and the number of articles taken from each. Rnews reports which addresses where newsgroup batches were sent. And, postnews reports how many articles in each newsgroup were posted to a conference/topic.
If a newsys entry does not send copies of a group to any addresses, and does not include a #L field (local Conference System posting information), then the newsgroup bundle will accumulate articles. An appropriate warning message is placed in the newslog file.
ned(NET), postnews(NET), unbatch(NET)