RPOST(1)

NOMBRE
rpost - envía un artículo a un servidor de noticias NNTP

SINOPSIS
rpost [ nodo ] [ @archivo ] [ -s | -S archivo ] [ -e | -E archivo ] [ -b archivo_batch ] [ -p prefijo ] [ -d ] [ -U usuario ] [ -P clave ] [ -M ] [ -N puerto ] [ -l archivo_de_frases ] [ -D ] [ -T tiempo_tope ] [ -u ] [ -f programa_filtro $$o=<outfile> filter_arg1 ... ]

DESCRIPTION
Rpost enviará uno o más artículos al nodo especificado. En caso de no especificarse ninguno, rpost usará la variable de entorno NNTPSERVER.

Opciones generales

-s|-S archivo

Estas opciones enviarán todos los mensajes de estado (que normamente van a la salida estándar) a un archivo alternativo. Cuando la opción es la minúscula, -s, enviarán los mensajes de estado al archivo por defecto en definido en tiempo de compilación en suck_config.h. Por defecto se toma /dev/null, o sea: no se escribirán mensajes de estado. La mayúscula, -S, requiere un nombre de archivo. Todos los mensajes de estado serán enviados a este archivo.

-e|-E archivo

Estas opciones enviarán todos los mensajes de error (normalmente escritos en la salida de error estándar) a un archivo alternativo. La versión en minúscula, -e enviará los mensajes de error al archivo por defecto definido en tiempo de compilación en suck_config.h. Por defecto se toma suck.errlog. La mayúscula, -E, requiere un nombre de archivo. Todos los mensajes de error serán enviados a este archivo.

-U usuario -P clave

Estas dos opciones le permiten a Vd. especificar un usuario y una clave si su servidor de NNTP los solicita.

-M

Esta opción hace que rpost envíe un comando de "modo de lectura" al servidor remoto. Si Vd. obtiene un mensaje de comando inválido inmediatamente después del anuncio de bienvenida, pruebe esta opción.

-N puerto

Esta opción hace que rpost use un puerto NNRP alternativo cuando se conecta al nodo, en lugar del puerto 119, que es el que se toma por defecto.

@archivo

Esta opción hace que rpost lea otras opciones del archivo indicado, además de las de la línea de comando.

-l archivo_de_frases

Esta opción hace que rpost cargue un archivo de frases alternativas, en vez de usar los mensajes imbuidos. Esto le permite a Vd. hacer que rpost muestre sus mensajes en otro idioma o permite personalizar los mensajes sin tener que recompilar. Para más detalles vea "FRASES EN DIVERSOS LENGUAJES" en suck(1).

-D Esta opción hace que rpost envíe varios mensajes de debug a "debug.suck", para uso básicamente del programador.

-T Esta opción reemplaza el valor precompilado de TIMEOUT, tiempo tope de conexión. Es el tiempo que rpost está esperando datos del host remoto antes de sobrepasar el tope y abortarse.

-u Esta opción hace que rpost envíe al servidor remoto un comando AUTHINFO USER nada más conectarse, en lugar de esperar la petición de autorización. Deberá además usar las opciones -U y -P cuando use ésta.

MODO STDIN O DE ENTRADA ESTÁNDAR
rpost

rpost nodo

rpost lee un artículo en su entrada estándar y lo envía al servidor NNTP. El artículo debe contener una cabecera con al menos dos líneas llamadas Newsgroups: y Subject: y un cuerpo (el artículo propiamente dicho). La cabecera y el cuerpo deben estar separados por un caracter de cambio de línea. Rpost no hace ningún cambio en el artículo.

Rpost usa el comando POST para enviar el artículo, tal y como haría un programa lector de noticias. Esto es práctico cuando se usa SLIP o PPP pues muchos proveedores de servicios de internet no permiten otro método de enviar artículos (como nntpsend o innxmit).

MODO BATCH O POR LOTES
rpost nodo

-b archivo_batch -p prefijo -d -f filtro $$o=<archivo_salida> arg1_filtro ...

-b archivo_batch

Una lista de los artículos a enviar. Este parámentro es NECESARIO. Este archivo contiene una línea por cada artículo, siendo cada una de ellas el camino+nombre del archivo que contiene al artículo. Por ejemplo:

    -b /usr/spool/news/out.going/pixi

Si hay problemas al enviar el artículo se creará un archivo de fallos. Se llamará "archivo_batch".fail y contendrá la línea del archivo_batch de cada uno de los artículos que no sean enviados correctamente. Este archivo puede ser usado para volver a enviar los mensajes usando rpost. NOTA: los mensajes duplicados no son considerados como erróneos a efectos de ser incluidos en el archivo "fail".

-d

Si se envían los artículos correctamente, esta opción hace que rpost borre el archivo especificado con la opción -b.

-p prefijo

Este parámetro debe ser especificado si el archivo_batch contiene sólo una parte del camnino de los artículos, en lugar del camino completo. Esto es útil cuando archivo batch es generado por otro programa. Por ejemplo, Inn lista los artículos en su directorio out.going pero relativos a su directorio base: /var/spool/news. En ese caso basta usar:

     -p /var/spool/news

-f filtro $$o=<archivo_salida> arg1_filtro arg2_filtro ...

En muchos casos, cada artículo debe ser maquillado antes de que el servidor NNTP remoto lo acepte. Esta opción le permite hacerlo. Observe que la opción -f ... debe ser la ULTIMA opción puesto que todo lo que le sigue es pasado al filtro, excepto lo señalado más abajo. Hay tres parámetro necesarios:

$$o=<archivo_salida>    - <archivo_salida> es el nombre del
artículo generado por el filtro y que será enviado al servidor NNTP remoto. NO se pasa al programa de filtro. Puede ser especificado en cualquier lugar de la línea DESPUÉS del argumento -f, bien antes o después del nombre del filtro.

filtro - nombre del programa a ejecutar. Cualquier cosa que siga al filtro, EXCEPTO $$o, será pasado como argumento al filtro.

arg1 - El primer argumento a su programa/script de filtro. Muy posiblemente sea $$i, el cual será reemplazado por rpost con el nombre del artículo que va a ser filtrado.

arg2 ... - cualesquiera argumentos adicionales que sean necesarios.

Un ejemplo para clarificar esto un poco. A algunos servidores NNTP no les gusta recibir artículos con el campo NNTP-Posting-Host relleno. Cree un pequeno script para borrar esto del artículo:

-miscript--------------------------------------------

#!/bin/sh

sed -e "/^NNTP-Posting-Host/d" $1 > $2

-end miscript----------------------------------------

Y ejecute rpost con algo como esto:
    rpost -b /usr/spool/news/out.going/pixi -f miscript \$\$o=/tmp/MSG_FILTRADO \$\$i /tmp/MSG_FILTRADO

Entonces, antes de que cada artículo sea enviado, se llamará a miscript de este modo:

    miscript archivo_con_mensaje /tmp/MSG_FILTRADO

Tras la finalización de miscript, rpost envía al servidor remoto el artículo guardado en /tmp/MSG_FILTRADO

NOTA:
$$o y $$i tienen que ir precedidos por símbolos de escape, como pueden ser barras de división invertidas o bien entre comillas simples para evitar que la shell los interprete como variables y los expanda. ¡ Si no se tiene esa precaución puede ocurrir que rpost no envíe mensajes !

PRECAUCIÓN:

Tenga mucho cuidado con lo que el filtro borra del artículo. Borrar una línea equivocada puede tener efectos perniciosos más tarde. Por ejemplo, no borre la línea NSG-ID, pues en ese caso puede ocurrir que un mismo mensaje sea enviado varias veces, dependiendo de la configuración de los servidores local y remoto.

ARCHIVO DE ARGUMENTOS DE RPOST

Si Vd. especifica un @archivo en la línea de comando, rpost leerá ese archivo y buscará en él argumentos que serán pasados a rpost. Puede especificar los mismos argumentos que en la línea de comando. Los argumentos pueden aparecer en la misma línea o distribuidos en varias líneas. Puede incluir comentarios. Los comentarios empiezan por '#' y continúan hasta el final de la línea. Los argumentos de la línea de comando prevalecen sobre los del archivo. Una ventaja de usar un archivo de parámetros en lugar de la línea de comandos es que no es necesario incluir símbolos de escape para prevenir la expansión de los caracteres especiales como $.

    # Ejemplo de archivo de argumentos
    -b batch # opción de archivar en un lote batch
    -M    # usar el modo de lectura

VALORES DEVUELTOS
Rpost devuelve los siguientes valores:

    0 = finalizó con éxito
    1 = error enviando un artículo
    2 = imposible llevar a cabo un proceso de autorización NNTP con servidor remoto
    3 = respuesta inesperada en el curso de una autorización NNTP.
    -1 = otro error fatal.

VÉASE TAMBIÉN
suck(1), testhost(1), lpost(1).