To be able to properly perform the ihave/sendme protocol, nntpd has to be able to access the history file. At compile time, you therefore have to make sure the path is set correctly. You should also make sure that C-news and nntpd agree on the format of your history file. C-news uses dbm hashing functions to access it; however, there are quite a number of different and slightly incompatible implementations of the dbm library. If C-news has been linked with the a different dbm library than you have in your standard libc, you have to link nntpd with this library, too.
A typical symptom of nntpd and C-news disagreeing on the database format are error messages in the system log that nntpd could not open it properly, or duplicate articles received via NNTP. A good test is to pick an article from your spool area, telnet to the nntp port, and offer it to nntpd as shown in the example below (your input is marked like this). Of course, you have to replace <msg@id> with the message-ID of the article you want to feed to nntpd again.
$ 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) IHAVEThis conversation shows the proper reaction of nntpd; the message ``Got it'' tells you that it already has this article. If you get a message of ``335 Ok'' instead, the lookup in the history file failed for some reason. Terminate the conversation by typing Ctrl-D. You can check what has gone wrong by checking the system log; nntpd logs all kinds of messages to the daemon facility of syslog. An incompatible dbm library usually manifests itself in a message complaining that dbminit failed.
435 Got it. QUIT