minor patch & ideas about xover

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;


[Index of Archives]     [Yosemite]     [Yosemite Campsites]     [Bugtraq]     [Linux]     [Trn]

Powered by Linux