Cuando nntpd recibe un art�culo, tiene que envi�rselo a un nuevo subsistema. Dependiendo de si se recibi� como resultado de una orden IHAVE o POST, el art�culo pasa a manejarlo rnews o inews respectivamente. En vez de invocar a rnews, tambi�n puede configurarlo (durante la compilaci�n) para que procese por lotes los art�culos entrantes y mueva los lotes resultantes a /var/spool/news/in.coming, donde se les deja para que relaynews los recoja la pr�xima vez que se ejecute la cola.
nntpd tiene que poder acceder al fichero history para poder ejercer de manera adecuada el protocolo ihave/sendme. Tiene que asegurarse, durante la compilaci�n, de que la ruta a ese fichero es la correcta. Si usa C News, aseg�rese de que C News y nntpd est�n de acuerdo en el formato a usar en el fichero history. C News usa funciones de marcado dbm para acceder a �l; de todas maneras, existen implementaciones diferentes y ligeramente incompatibles de la biblioteca dbm. Si C News se ha enlazado con una biblioteca dbm diferente a la que tenga en su libc est�ndar, tendr� que enlazar nntpd con esa misma biblioteca.
El desacuerdo entrenntpd y C news produce a menudo mensajes de error en el fichero de registro del sistema que nntpd no puede abrir adecuadamente, o quiz� vea art�culos duplicados recibi�ndose por NNTP. Una buena prueba para corregir errores en la transferencia de noticias es tomar un art�culo de la cola, conectar por telnet al puerto nntp y ofrec�rselo a nntpd como se muestra en el ejemplo siguiente. Evidentemente, tendr� que sustituir msg@idcon el ID de mensaje de un art�culo con el que quiera suministrar a nntpd:
$ telnet localhost nntp Trying 127.0.0.1... Connected to localhost Escape characters is '^ ]'. 201 vstout NNTP[auth] server version 1.5.11t (16 November 1991) ready at Sun Feb 6 16:02:32 1194 (no posting) IHAVE msg@id 435 Got it. QUIT |
Esta conversaci�n muestra la reacci�n adecuada de nntpd; el mensaje Got it le dice que ya tiene el art�culo. Si en vez de eso obtiene el mensaje 335 Ok, la b�squeda en el fichero history fall� por alguna raz�n. Termine la conversaci�n con Ctrl-D. Puede mirar qu� ha ido mal comprobando el fichero de registro del sistema; nntpd anota todo tipo de mensajes gracias a la propiedad daemon de syslog. Una bibliotecadbm incompatible se manifiesta normalmente en un mensaje quej�ndose de que dbminit fall�.