innxmit - Send Usenet articles to a remote NNTP server
innxmit [-acdHlprsv] [-P portnum] [-T seconds] [-t seconds] host file
innxmit connects to the NNTP server at the specified host (validating itself via passwd.nntp if authentication credentials are present for the remote server in that file) and sends it the articles specified in the batch file named file. It is normally invoked by a script run out of cron(8) that uses shlock to lock the host name, followed by a ctlinnd command to flush the batch file. If file is not an absolute path name, it is taken relative to the directory specified by the pathoutgoing parameter in inn.conf. It is normally written by specifying the "Wnm" flags in the newsfeeds file. Each line in the batch file should be in one of the following formats:
article Message-ID article
The first field is either the storage API token of an article or the name of a file holding an article. If it is not an absolute pathname or a storage API token, it is taken to be a file name relative to patharticles in inn.conf. If the second field is not specified, the message-ID will be obtained by scanning the article. The two fields, if present, are separated by a space. If a communication error such as a write(2) failure occurs, innxmit will stop sending and rewrite the batch file to contain the current article and any other unsent articles.
An alternative to innxmit can be innduct, mentioned in the innfeed(8) man page.
- If all articles were sent successfully, innxmit will remove the batch file; 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 batch file to grow excessively large if many articles have been expired and there are communication problems. To always rewrite the batch file, use the -a flag.
- In streaming mode, a check of each message-ID is made to avoid sending
articles already on the remote server. After a certain number of articles
accepted in a row, innxmit will no longer send these queries, but
will switch back to sending them upon receiving a reject (which may be for
another reason than a duplicate, like for instance an unwanted newsgroup).
The -c flag will, if streaming mode is supported, result in always 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.
- 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.
- If the -H flag is given, then only headers are sent to host for all articles except control messages. And the Bytes header field is also included even if it does not exist in the original article. The -H flag is useful for Diablo reader.
- The -l flag is used to turn on logging of reasons the remote gives for rejecting an article.
- -P portnum
- To specify a port number other than the default, use the -P flag.
- If the -p flag is given, then no connection is made and the batch file is purged of entries that refer to files that no longer exist. This implies the -a 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.
- 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.
- -T seconds
- 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 each article is started; it will not abort a transfer that is in progress.
- -t seconds
- 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.
- Upon exit, innxmit reports transfer and CPU usage statistics via syslog. If the -v flag is used, they will also be printed on the standard output.
Written by Rich $alz <email@example.com> for InterNetNews. Converted to POD by Julien Elie.
ctlinnd(8), inn.conf(5), innd(8), newsfeeds(5), passwd.nntp(5), shlock(1).