SYNOPSISrnews [-NUv] [-h host] [-P port] [-rS server] [file]
DESCRIPTIONrnews injects either individual articles or UUCP-style article batches into an INN server. It submits articles via IHAVE and is suitable for injecting articles received from other sources; local postings should generally use inews(1) instead. It is also used to process spooled messages created by, for example, nnrpd while innd is not available.
The message is read from file if given, or standard input if no file is given. Articles are sent to the server given in the -r or -S command line options if given, otherwise to the server set via nnrpdposthost in inn.conf, otherwise to the local server.
When sent over UUCP, Usenet articles are typically collected in a single batch to reduce the UUCP overhead. Batches can also be compressed to reduce communication time. If the input to rnews does not begin with the characters "#!", it is taken to be a single news article; otherwise, the first line of the input is interpreted as a batch command.
If the batch command is:
#! rnews <number>
then the next <number> bytes (starting with the next line) are read as a news article. After that article is processed, the next line is again treated as a batch command.
If the command is:
then the rest of the input is fed to "gzip -d" to uncompress it, and then the resulting uncompressed output is re-read as if it were the original input to rnews. A compressed batch should therefore start with this line and contain a batch of articles separated by "#! rnews" lines and then compressed with compress(1). (Batches compressed with gzip(1) should instead use "gunbatch" as the batch command; INN just uses gzip rather than compress because it can handle compress-style compression but is more widely available, due to old patent issues, than compress.)
Otherwise, if the command is any other word, then rnews will try to execute a program with that name, looking for it in the directory pathbin/rnews.libexec. The rest of the batch will be fed to that program's standard input, and the standard output from the program will be treated as if it were the original input to rnews. INN comes with three such standard batch processors:
- It invokes bzip2 and should be used for batches compressed with bzip2.
- It undoes an ASCII encoding to recover the original binary compressed stream and then decompresses it as explained above.
- It invokes gzip and should be used for batches compressed with gzip.
By default, rnews will log and discard any articles that are rejected by the server or cannot be parsed by rnews for some reason (such as a missing header). This default can be changed when compiling INN by setting DO_RNEWS_SAVE_BAD in include/inn/options.h. There is no way to change it at runtime, unfortunately.
- -h host
- If -h is given, rnews will log the message ID and host via syslog for each article that it offers to the server. This is used in conjunction with a UUCP feed to get a log of the messages received via that feed. This will also be done if the environment variable UU_MACHINE is set, but will only be done if host is not an empty string. (You can therefore turn off logging even if UU_MACHINE will be set by passing the flag "-h ''" to rnews.)
- Normally, if unpacking the input batch fails, it is re-spooled to pathincoming for another attempt later. If the -N flag is given, no such re-spooling is done and rnews will instead exit with status 9 if unpacking fails.
- -P port
- Use port as the server port to connect to rather than nnrpdpostport (as set in inn.conf). Note that this value is only used if rnews does not connect to the local server (in other words, when -r or -S is given or nnrpdposthost is set).
- -r server, -S server
- -r and -S are synonymous. If either is given, articles will be sent to server rather than using the local server, overriding also the setting of nnrpdposthost in inn.conf.
- If the server is not available, both rnews and nnrpd will spool posts to new files in the pathincoming directory (as specified in inn.conf). When rnews is invoked with the -U option, it scans that directory and processes all spooled messages found there whose filenames do not begin with ".", attempting to send them to the server again. It's a good idea to run this periodically out of cron to pick up any articles spooled due to temporary server unavailability.