21.8. Mensajes de Control

El protocolo de noticias Usenet reconoce art�culos de una categor�a especial, los cuales provocan ciertas respuestas o acciones del sistema. Estos son los llamados mensajes de control. Se reconocen por la presencia de un campo Control: en la cabecera del art�culo, el cual contiene el nombre de la operaci�n de control a realizar. Existen varios tipos, y todas ellas son manejadas por guiones del int�rprete de �rdenes situados en /usr/lib/news/ctl.

La mayor�a de �stos realizar�n su acci�n autom�ticamente en el momento en que C-News procese el art�culo, sin notificar al administrador de noticias. Por omisi�n, s�lo los mensajes checkgroups ser�n entregados al administrador de noticias, pero puede cambiar esto editando los guiones.

21.8.1. El mensaje cancel

El mensaje m�s conocido es cancel, con el cual un usuario puede cancelar un art�culo enviado por �l en otro momento. Esto borra el art�culo de los directorios de cola, si existe. El mensaje cancel se reenv�a a todos los servidores que reciben noticias de los grupos afectados, sin reparar si el art�culo ha sido visto o no. Esto es para tener en cuenta la posibilidad de que el art�culo original se haya retrasado sobre el mensaje de cancelaci�n. Algunos sistemas de noticias permiten a los usuarios cancelar los mensajes de otras personas. Por supuesto esto es algo que no se deber�a hacer.

21.8.2. newgroup y rmgroup

Dos mensajes que se ocupan de la creaci�n y borrado de grupos de noticias son los mensajes newgroup y rmgroup. Los grupos de noticias bajo la las jerarqu�as “usuales” solo pueden ser creados despu�s de que haya mantenido una discusi�n y voto entre los lectores de Usenet. Las reglas aplicadas a la jerarqu�a alt permiten algo similar a la anarqu�a. Para m�s informaci�n, ver los mensajes regulares publicados en news.announce.newusers y en news.announce.newgroups. Nunca env�e un mensaje newgroup o rmgroup usted mismo a menos que sepa con seguridad que tiene permiso para hacerlo.

21.8.3. El Mensaje checkgroups

Los mensajes checkgroups son enviados por los administradores de noticias para hacer que todos los servidores de una red sincronicen sus ficheros active con la realidad de Usenet. Por ejemplo, los proveedores de servicio de Internet deber�an mandar tal mensaje a los servidores de sus clientes. Una vez al mes, el moderador del grupo comp.announce.newgroups env�a el mensaje “oficial” checkgroups para las principales jerarqu�as. Sin embargo, se env�a como un art�culo ordinario, no como un mensaje de control. Para realizar la operaci�n checkgroups , salve este art�culo en un fichero, digamos /tmp/check, borre todo hasta el principio del mismo mensaje de control, y env�elo al gui�n checkgroups usando la orden siguiente:
    # su news -c "/usr/lib/news/ctl/checkgroups" < /tmp/check

Esto actualizar� su fichero newsgroups, a�adiendo los grupos listados en localgroups. El antiguo fichero newsgroups ser� movido a newsgroups.bac. Note que rara vez funciona el enviar el mensaje localmente, ya que inews, rechaza un art�culo tan grande.

Si C-News encuentra desigualdades entre la lista del fichero checkgroups y el fichero active, producir� una lista de �rdenes que actualizar�a su servidor, y lo enviar� por correo al administrado de noticias.

T�picamente la salida se parece a esto:
    From news Sun Jan 30 16:18:11 1994
    Date: Sun, 30 Jan 94 16:18 MET
    From: news (News Subsystem)
    To: usenet
    Subject: Problems with your active file
    The following newsgroups are not valid and should be removed.
            alt.ascii-art
            bionet.molbio.gene-org
            comp.windows.x.intrisics
            de.answers
    You can do this by executing the commands:
             /usr/lib/news/maint/delgroup alt.ascii-art
             /usr/lib/news/maint/delgroup bionet.molbio.gene-org
             /usr/lib/news/maint/delgroup comp.windows.x.intrisics
             /usr/lib/news/maint/delgroup de.answers
    The following newsgroups were missing.
            comp.binaries.cbm
            comp.databases.rdb
            comp.os.geos
            comp.os.qnx
            comp.unix.user-friendly
            misc.legal.moderated
            news.newsites
            soc.culture.scientists
            talk.politics.crypto
            talk.politics.tibet

Cuando reciba un mensaje como �ste de su sistema de noticias, no lo crea ciegamente. Dependiendo de qui�n envi� el mensaje checkgroups, puede que carezca de unos pocos grupos e incluso jerarqu�as enteras; por lo tanto, deber�a tener cuidado al borrar cualquier grupo. Si encuentra grupos listados como no presentes que quiera tener en su servidor, tiene que a�adirlos usando el gui�n addgroup. Salve la lista de grupos que le faltan en un fichero y p�seselo al siguiente gui�n:
    #!/bin/sh
    #
    WHOIAM=`whoami`
    if [ "$WHOIAM" != "news" ]
    then
    	echo "Debe ejecutar $0 como usuario 'news'" >&2
    	exit 1
    fi
    #
    cd /usr/lib/news
    while read group; do
        if grep -si "^$group[[:space:]].*moderated" newsgroup; then
            mod=m
        else
            mod=y
        fi
        /usr/lib/news/maint/addgroup $group $mod
    done

21.8.4. sendsys, version, y senduuname

Finalmente, hay tres mensajes que pueden usarse para averiguar la topolog�a de la red. Estos son sendsys, version, y senduuname. Respectivamente, hacen que C-News devuelva al remitente el fichero sys, una cadena con la versi�n del software, y la salida de uuname. C-News es muy lac�nica con respecto a los mensajes version; ya que devuelve una simple C, sin m�s adornos.

Nuevamente, nunca deber�a distribuir tales mensajes, a menos que est� seguro de que no pueden salir de su red (regional). Las respuestas a los mensajes sendsys pueden hacer caer r�pidamente a una red UUCP. [1]

Notas

[1]

Yo tampoco intentar�a esto en Internet.