diff options
Diffstat (limited to 'upstream/debian-unstable/man1/rpost.1')
-rw-r--r-- | upstream/debian-unstable/man1/rpost.1 | 421 |
1 files changed, 421 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man1/rpost.1 b/upstream/debian-unstable/man1/rpost.1 new file mode 100644 index 00000000..3262b778 --- /dev/null +++ b/upstream/debian-unstable/man1/rpost.1 @@ -0,0 +1,421 @@ +.\" $Revision: 3.10.2 $ +.TH RPOST 1 +.SH NAME +rpost - post an article to an NNTP news server +.SH SYNOPSIS +.I rpost +[ +.BI +hostname +] +[ +.BI @filename +] +[ +.BI -s\ |\ -S +filename +] +[ +.BI -e\ |\ -E +filename +] +[ +.BI -b +batchfile +] +[ +.BI -r +rnews_file rnews_path +] +[ +.BI -p +prefix +] +[ +.BI -Q +] +[ +.BI -d +] +[ +.BI \-U +userid +] +[ +.BI \-P +password +] +[ +.BI \-M +] +[ +.BI \-N +port_number +] +[ +.BI \-l +phrase_file +] +[ +.BI \-D +] +[ +.BI \-T +timeout +] +[ +.BI \-u +] +[ +.BI \-n +] + +[ +.BI -F +perl_file +] +[ +.BI -i +] +[ +.BI -z +] +[ +.BI -f +filter $$o=<outfile> filter_arg1 ... +] +.SH DESCRIPTION +.I Rpost +will post one or more articles, specified by +.I hostname. +If hostname is not specified, rpost will use the environment +variable +.BI NNTPSERVER. +The hostname may optionally include the port number, in the form +.BI Host:Port +If this form is used, any port number specified via the -N option +will be ignored. +.SH Generic Options + +.BI \@filename + +This option tells rpost to read other options from a file in addition to the +command line. + +.BI \-D +This option tells rpost to log various debugging messages to "debug.suck", +primarily for use by the developer. + +.BI \-e | \-E +filename + +These options will send all error messages (normally displayed on stderr), to +an alternate file. The lower case version, -e, will send the error messages +to the compiled-in default defined in suck_config.h. The default is suck.errlog. +The upper case version, -E, requires the filename parameter. All error messages +will then be sent to this file. + +.BI \-i + +This option tells rpost to ignore the 201 (no posting allowed) from the welcoming +message and to try and post anyway. Some news servers (inn-2.3.1) send 201 +no posting allowed when they are using the AUTHINFO commands to verify permission +to post. + +.BI \-l +phrase_file + +This option tells rpost to load in an alternate phrase file, instead of using +the built-in messages. This allows you to have rpost print phrases in another +language, or to allow you to customize the messages without re-building. +See the "FOREIGN LANGUAGE PHRASES" in suck.1 for more details. + +.BI \-M + +This option tells rpost to send the "mode reader" command to the remote +server. If you get an invalid command message from rpost immediately +after the welcome announcement, then try this option. + +.BI \-n + +This option tells rpost to show the name of the file as it is being +uploaded. + +.BI \-N +port_number + +This option tells rpost to use an alternate NNRP port number when connecting +to the host, instead of the default port number, 119. + +.BI \-s | \-S +filename + +These options will send all status messages (normally displayed on stdout), to +an alternate file. The lower case version, -s, will send the status messages +to the compiled-in default defined in suck_config.h. The default is /dev/null, +so no status messages will be displayed. The upper case version, -S, requires +the filename parameter. All status messages will then be sent to this file. + +.BI \-T +This option overrides the compiled-in TIMEOUT value. This is how long rpost waits for data +from the remote host before timing out and aborting. + +.BI \-u +This option tells rpost to send the AUTHINFO USER command immediately upon connect to the +remote server, rather than wait for a request for authorization. You must supply the +\-U and \-P options when you use this option. + +.BI \-U +userid +.BI \-P +password + +These two options let you specify a userid and password, if your NNTP server +requires them. + +.BI \-Q + +This option allows you to specify the userid and password via the environment variables +"NNTP_USER" and "NNTP_PASS" instead of on the command line. This prevents a potential +security issue where someone doing a ps command can see your login and password. + +.BI \-z +This option tells rpost to use SSL to communicate with the remote hosts, if SSL was +compiled into rpost. + +.SH STDIN MODE +rpost + +rpost hostname + +rpost reads one article from stdin and sends it to the +NNTP server. The article must have a header of at least two lines, namely +Newsgroups: and Subject: and a body (the article). Header and body +have to be separated by a newline. Rpost does not change the article +in any way. + +Rpost uses the POST command to post your article, just like any standard +newsreader. This is handy when using SLIP and PPP, since most providers +do not allow any other method to post articles (such as nntpsend or innxmit). +.SH BATCH MODE + +.I rpost +.BI +hostname +.BI -b +batchfile +.BI -p +prefix +.BI -d + +This batch mode allows you to give rpost a list of articles, and have +them all posted. + +-b batchfile + +A listing of the articles to be posted. This parameter is REQUIRED. +This file contains one article per line, with +the line being the path to the file containing the article. For +example: + +.RS +-b /usr/spool/news/out.going/pixi +.RE + +IF there are any problems uploading a specific article, a "failed" file +will be created. It will be called "batchfile".fail, and contain the +line from this batchfile for the article(s) that did not successfully upload. +This file can be used to re-run the failed messages through rpost. NOTE: +duplicate articles are NOT considered an error for the fail file. + +-d + +If the upload of articles is successful, this option will cause rpost to + delete the batchfile named in the -b option. + +-p prefix + +If the batchfile does not contain a full path, but rather +a partial path, this parameter must be specified. This is useful +when the batch file is generated by another program. +For example, Inn lists the path in the out.going file relative +to its base directory /usr/spool/news. In that case just use: + +.RS + -p /usr/spool/news +.RE + +.SH RNEWS MODE +.I rpost +.BI +hostname +.BI -r +rnews_file +rnews_path + +This option allows you to use rnews generated file(s) to post. It requires +two parameters. + +rnews_file - this is the base name for the rnews files. If you have your +rnews file(s) called batch1, batch2, etc., then this argument would be +"batch". + +rnews_path - this is the path to the location of the rnews files. +.RS +-r batch /usr/tmp/rnews +.RE + +-d + +If the upload of all the articles from any of the rnews files is +successful, then this option will cause rpost to delete that +particular rnews file. + +.SH FILTER MODES +-f filter $$o=<outfile> filter_arg1 filter_arg2 ... + +In many cases, each article must be massaged before the +remote NNTP will accept it. This option, and the embedded +perl filter option below, lets you do that. These filters do not +work in STDIN mode, but in the batch and rnews modes from above. +Note that the -f .... option must be the LAST option, as +everything that follows it is passed to the filter, except +as noted below. +There are three required parameters with this: + +$$o=<outfile> - <outfile> is the name of the file produced by +your filter that will get uploaded to the remote NNTP server. +THIS IS NOT passed to your filter program. This can be specified +anywhere on the command line AFTER the -f filter argument, either before +the filter name, or after it. + +filter - name of the program to call. Whatever follows filter, EXCEPT +for the $$o, are arguments passed to the filter. + +arg1 - The first argument to your filter program/script. It most +likely will be $$i, which rpost fills in with the name of the article +that needs to be cleaned up. + +arg2 ... - any additional args needed can be specified. + +.PP +Let's clarify this a bit with an example. Some NNTP servers don't +like to receive articles with the NNTP-Posting-Host filled in. +Create a short shell script to delete this from a file: + +\-myscr-------------------------------------------- + +#!/bin/sh + +sed -e "/^NNTP-Posting-Host/d" $1 > $2 + +\-end myscr---------------------------------------- +.PP +Then call rpost like this: +.RS +rpost localhost -b /usr/spool/news/out.going/pixi -f myscr \\$\\$o=/tmp/FILTERED_MSG \\$\\$i /tmp/FILTERED_MSG +.RE + +Then, before each article is uploaded, myscr is called like such: +.RS +myscr infilename /tmp/FILTERED_MSG +.RE + +After myscr has finished, rpost uploads the cleaned up article, +stored in /tmp/FILTERED_MSG, to the remote NNTP server. +.SH NOTE: +The $$o and $$i have to be escaped, using either the backslashes +as above, or with single quotes, to prevent the shell from +trying to interpret these as variables. Failure to escape them will result +in rpost not working! + +.BI -F +perlfilter +.PP +This option allows you to use an embedded perl filter to filter your articles. +In order to use this, you must edit the Makefile, and define the various +PERL_ options. +It has a couple of advantages over the -f option above. Because it is +embedded perl, there are no forks and execls() done, so it should be faster. +Also, you don't need to worry about the arguments to the program and +escaping $$, etc as above. +.PP +Rpost will, when it starts up, load in the perlfilter file designated and parse +it for syntax errors. Then, for each article to be uploaded, rpost will call the +subroutine "perl_rpost", contained in the perlfilter file. See sample/put.news.pl +for a complete working example. There are +three key points you need to be aware of when creating your filter. + +.RS +1. The perlfilter file must contain the line "package Embed::Persistant;", so +that variables in the perlfilter file don't clash with rpost variables, and +the subroutine must be called "perl_rpost". This can be changed by editting +the PERL_RPOST_SUB define in suck_config.h. +.RE + +.RS +2. The perl_rpost subroutine receives the input file name as its sole argument, +and must return the full path to the location of the +filtered article as a single scalar string (return $outfile). +.RE + +.RS +3. The subroutine must explicitly close the output file (containing the filtered +argument) before it returns. This is because perl will only do an automatic +close upon program completion (in our case when rpost exits), or when the +file handle is reused (the next time the subroutine is called). If the +close is not done, then more than likely, a 0 byte file will exist when +rpost tries to post the article, and errors will result. + +.SH WARNING: + +Be very careful with what the filter program deletes from the article. Deleting +the wrong line can have bad effects later on. For example, do not delete the +MSG-ID line, as this could cause a single message to be posted many times, depending +on the configuration of both the local and remote newserver. + +.SH RPOST ARGUMENT FILE +.PP +If you specify @filename on the command line, rpost will read from filename and +parse it for any arguments that you wish to pass to rpost. You specify the +same arguments in this file as you do on the command line. The arguments +can be on one line, or spread out among more than one line. You may also +use comments. Comments begin with '#' and go to the end of a line. All +command line arguments override arguments in the file. One advantage to +using the file instead of the command line, is that you don't have to +escape any special characters, such as $. + +.RS +# Sample Argument file +.RE +.RS +-b batch # batch file option +.RE +.RS +-M # use mode reader option +.RE + +.SH EXIT VALUES +Rpost returns the following exit values: + +.RS +0 = success +.RE +.RS +1 = error posting an article +.RE +.RS +2 = unable to do NNTP authorization with the remote server. +.RE +.RS +3 = unexpected answer to command when doing NNTP authorization. +.RE +.RS +-1 = other fatal error. +.RE + +.de R$ +This is revision \\$3, \\$4. +.. +.SH "SEE ALSO" +suck(1), testhost(1), lpost(1). |