Hi: I found a very small problem with the new attachGroupTalk stuff. If the remote server is currently out of sync, i.e., group != group_actual, and we do a group command on that server, then two successive groups will be sent to the remote server. To avoid this, I set group to NULL before calling attachServer in attachGroup. Another minor annoyance with the the current xover implementation is that xover_input returns whenever it gets '.', and it won't create an xover file in that case. This can be problematic if people repeatedly request a section of xover records that has been expired and there's no xover file to tell nntpcached that it has gone. One solution might be to move the file creation mechanism to xover_io. A related bug is that the xover database often contains expired entries and it never removes them until the timeout for xover is reached. The timeout maybe much longer than the time that it takes for the remote article to expire. This is not a problem until there are "gaps" in the remote newsgroup because of articles with "Expire" set. If that were so, then the news reader would get the xover records of the expire articles and think that they actually exist. This is not easy to fix. We could add a new timeout called the listgroup timeout. And if it is reached when we perform an xover nntpcached will use listgroup to check for expired articles on the remote side. If we are going to do this, we need to be able to set individual timeouts for groups which is something we don't have yet. If a site has enough users, we might get away with removing xover entries when we get a bad article on an article/body/etc. request. But I don't like either of these solutions for being messy. So does anybody have a better idea on this? -- Debian GNU/Linux 1.1 is out! { http://www.debian.org/ } Email: Herbert Xu ~{PmV>HI~} <herbert@greathan.apana.org.au> { http://greathan.apana.org.au/~herbert/ } PGP Key: pgp-public-keys@pgp.mit.edu or any other key sites -- --- group.c.orig Sat Oct 5 19:01:39 1996 +++ group.c Sun Oct 6 17:50:07 1996 @@ -176,6 +176,11 @@ } } else goto bad; + if (scfg->group) + { + free(scfg->group); + scfg->group = NULL; + } scfg = attachServer (scfg); if (!scfg) goto bad;