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.
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.
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.
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 |
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]
[1] | Yo tampoco intentar�a esto en Internet. |