Send usenet articles to a remote nntp server
innxmit [ -A alt_spool ] [ -a ] [ -c ] [ -d ] [ -l ] [ -M ] [ -r ] [ -s ] [ -t timeout ] [ -T timeout ] [ -p ] [ -S ] [ -P portnum ] host file
Innxmit connects to the NNTP server at the specified host and sends it the articles specified in the batchfile named file. It is normally invoked by a script run out of cron(8) that uses shlock(1) to lock the host name, followed by a ctlinnd(8) command to flush the batchfile.
If the file is not an absolute pathname, it is taken relative to the /var/spool/news/out.going directory. It is normally written by specifying the ``Wnm'' flags in the newsfeeds(5) file. Each line in the batchfile should be in one of the following formats:
filename Message-ID filename
The filename field names the article to be sent. If it is not an absolute pathname it is taken relative to the news spool directory, /var/spool/news. If the Message-ID field is not specified, it will be obtained by scanning the article. The filename and Message-Id fields are separated by a space.
If a communication error such as a write(2) failure occurs, innxmit will stop sending and rewrite the batchfile to contain the current article and any other unsent articles.
Innxmit normally blocks until the connection is made. To specify a timeout on how long to try to make the connection, use the ``-t'' flag.
To specify the total amount of time that should be allowed for article transfers, use the ``-T'' flag. The default is to wait until an I/O error occurs, or all the articles have been transferred. If the ``-T'' flag is used, the time is checked just before an article is started; it will not abort a transfer that is in progress. Both values are measured in seconds.
To specify a port number other than the default, use the -P flag.
If the remote server sends an unexpected reply code, innxmit will requeue the article and proceed. Use the ``-r'' flag if the article should not be requeued.
Upon exit, innxmit reports transfer and CPU usage statistics via syslog(3). If the ``-v'' flag is used, they will also be printed on the standard output.
If all articles were sent successfully, innxmit will remove the batchfile, otherwise it will rewrite it to contain the list of unsent articles. If no articles were sent or rejected, the file is left untouched. This can cause the batchfile to grow excessively large if many articles have been expired and there are communication problems. To always rewrite the batchfile, use the ``-a'' flag.
If the ``-p'' flag is given, then no connection is made and the batchfile is purged of entries that refer to files that no longer exist. This implies the ``-a'' flag.
If the ``-S'' flag is given, then innxmit will offer articles to the specified host using the ``xreplic'' protocol extension described in innd(8). The ``-S'' flag implies ``-s'', since streaming is not supported in the xreplic protocol. To use this flag, the input file must contain the history data (commas are transliterated to spaces by the server). In order for this flag to be used, the input must contain the necessary history entries. This is usually done by setting up a ``WnR'' entry in the newsfeeds file.
Use the ``-d'' flag to print debugging information on standard error. This will show the protocol transactions between innxmit and the NNTP server on the remote host.
The ``-l'' flag is used to turn off logging of reasons the remote gives for rejecting an article.
If the ``-M'' flag is used then innxmit will scan an article's headers before sending it. If the article appears to be a MIME article that is not in seven-bit format, the article will be sent in ``quoted-printable'' form.
The ``-A'' flag may be used to specify an alternate spool directory to use if the article is not found; this would normally be an NFS-mounted spool directory of a master server with longer expiration times.
Innxmit will attempt to negotiate a streaming mode extension of the NNTP protocol with the server at connect time. If successful it will use a slightly different protocol that enhances throughput. If the server does not recognize the streaming mode negotiation innxmit will revert to normal NNTP transfer mode. Use the ``-s'' flag to disable the attempt to negotiate the streaming mode extension.
In streaming mode a check of each message ID is still made to avoid sending articles already on the server. The ``-c'' flag will, if streaming mode is supported, result in sending articles without checking. This results in slightly greater throughput and may be appropriate when it is known that the site could not already have the articles such as in the case of a "leaf" site.
Written by Rich $alz <[email protected]> for InterNetNews. This is revision \$3, dated \$4.