groupbaseexpiry and ovmethod_expiregroup
Heath Kehoe
hakehoe at norand.com
Mon Jan 24 21:23:22 UTC 2000
I'm looking at recent changes to buffindexed.c and ov3.c, in the
_expiregroup functions, where in the loop:
while(search(...)) {
if ((ah = SMretrieve(token, RETR_STAT)) == NULL)
continue;
if (innconf->groupbaseexpiry && OVgroupbasedexpire(token, group, data, len, arrived, expires))
continue;
addrec(...);
}
the first if() was changed to:
if (SMprobe(SELFEXPIRE, &token, NULL) && (ah = SMretrieve(token, RETR_STAT)) == NULL)
continue;
With this change, if you have groupbaseexpiry off and are using
non-self-expiring storage, overview data will never get removed, because
neither of the if()s will ever evaluate to true for non-self-expiring
tokens.
It seems to me that the first if() should look like this instead:
if ( (!innconf->groupbaseexpiry || SMprobe(SELFEXPIRE, &token, NULL))
&& (ah = SMretrieve(token, RETR_STAT)) == NULL)
continue;
Am I right, or did I miss something?
-h
More information about the inn-workers
mailing list