Взаимодействие nntpd и C-News
Чтобы правильно выполнить протокол ihave/sendme, nntpd должен обратиться к файлу history. Во время компиляции, Вы должны удостовериться, что путь установлен правильно. Вы должны также удостовериться, что C-news и nntpd
договорятся о формате вашего файла history. C-news использует dbm-функции, чтобы обратиться к нему, однако, имеются несовместимые реализаций библиотеки dbm . Если C-news был связан с одной библиотекой dbm , а ваша библиотека libc с другой, они точно передерутся. Значит, Вы должны пересобрать nntpd с правильной библиотекой.
Типичный признак того что nntpd и C-news не соглашаются относительно формата базы данных, это сообщения об ошибках в файле регистрации системы о том, что nntpd не может открыть его правильно, или двойные статьи, полученные через NNTP. Хороший тест: выбрать статью из вашей области spool, сделать telnet к порту nntp и попробовать обратиться к
nntpd как показано в примере ниже. Конечно, вы должны заменить msg@id на ID-сообщение статьи, которую хотите передать 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
Этот диалог показывает реакцию nntpd. Сообщение Got it покажет, что эта статья уже имеется. Если вы получаете сообщение 335 Ok, поиск в файле history потерпел неудачу. Завершите диалог нажатием Ctrl-D. Вы можете проверять, что пошло неправильно, проверяя файл регистрации системы:
nntpd регистрирует все виды сообщений в syslog. Несовместимая библиотека dbm обычно проявляется в сообщении о том, что dbminit потерпел неудачу.