[leafnode-list] adding IHAVE support to leafnode
matthias.andree at gmx.de
Wed Mar 24 16:34:11 CET 2004
Cory C. Albrecht schrieb am 2004-03-24:
> I was just looking at the message.id tree, trying to figure out how it
> is used. What confuses me is why the individual files in that tree seem
> to be near-identical copies of the files in the normal articles tree.
> The only difference appears to be that the file in the message.id tree
> lacks a couple of the header lines.
They aren't near-identical copies on intact spools, but hard links, so
they are EXACTLY identical. They're just a second name for the same
content. Use "ls -li" to check that they have the same inum, the same
file serial number or inode number or whatever other name there is for
the same beast.
What do you see on an otherwise idle computer between df runs #2 and #3?
> Why is this? Wouldn't it be more efficitent to use a database hash
> where the message-id is the key and the value is the newsgroup article
> file? IIRC, most free un*xes come with some form of dbm/ndbm/gdbm, or
> even the old db.h from original BSD would work.
1. saving space on crossposts
2. compatibility with readers that access the spool directly
> With a hash like that would mean there's no reason to waste diskspace
> by storing articles twice. It would also make adding IHAVE support
> easier - query the hash and you know whether or not to accept it.
Use ihave() - in midutil.c as of leafnode-2 - and you know whether or
not to accept it, without even worrying about the spool format.
However, please submit any IHAVE support patches against leafnode-2
rather than leafnode-1. I will not merge such a feature into leafnode-1.
> I'm interested in learning what advantages the current scheme offers
> compared to using DB functions.
It is resistant against DB corruption.
> BTW, 1.9.52.rc8 works beautifully for me on OpenBSD 3.4-current (built
> late December 2003).
Is your "re-downloading active from one particular server" problem gone
now? Thanks for the feedback anyways.
Encrypt your mail: my GnuPG key ID is 0x052E7D95
More information about the leafnode-list