|
Re: Can't unlink @030362756666303130000000ADF300000001: msg#00090network.inn
In article <Pine.GSO.4.44.0305070801100.21926-100000@xxxxxxxxxxxxxxxxxx>, Kathryn Hemness <kfhemness@xxxxxxxxxxx> wrote; } The file changes worked. Thanks a bunch. : } > But, I noticed a bug which incorrectly purges articles } > which are crossposted to deleted newsgroup and stored onto } > other than cnfs. That problem doesn't look like easy to } > fix. I'll consider how to fix this part. Now, I created another patch to fix above all. Could you try it, if possible? The patch is against latest 2.3.5 branch. -- Katsuhiro Kondou Index: storage/ov.c =================================================================== RCS file: /home/kondou/news/inn/repository/inn/storage/ov.c,v retrieving revision 1.14.2.12 diff -u -r1.14.2.12 ov.c --- storage/ov.c 2 Feb 2003 21:42:51 -0000 1.14.2.12 +++ storage/ov.c 10 May 2003 03:12:31 -0000 @@ -879,13 +879,9 @@ ** Takes in the Xref information so that it can pass this to the storage ** API callback used to generate the list of files to remove. */ -void OVEXPremove(TOKEN token, BOOL deletedgroups, char **xref, int ngroups) +STATIC void OVEXPremove(TOKEN token, char **xref, int ngroups) { EXPunlinked++; - if (deletedgroups) { - EXPprocessed++; - EXPoverindexdrop++; - } if (EXPunlinkfile && xref != NULL) { SMprintfiles(EXPunlinkfile, token, xref, ngroups); if (!ferror(EXPunlinkfile)) @@ -1147,7 +1143,7 @@ if (EQ(group, arts[0])) { for (i = 0; i < count; i++) arts[i][strlen(arts[i])] = ':'; - OVEXPremove(token, FALSE, arts, count); + OVEXPremove(token, arts, count); } EXPoverindexdrop++; return TRUE; @@ -1159,7 +1155,7 @@ if (purge) { for (i = 0; i < count; i++) arts[i][strlen(arts[i])] = ':'; - OVEXPremove(token, FALSE, arts, count); + OVEXPremove(token, arts, count); } EXPoverindexdrop++; return TRUE; Index: storage/ovinterface.h =================================================================== RCS file: /home/kondou/news/inn/repository/inn/storage/ovinterface.h,v retrieving revision 1.9.2.1 diff -u -r1.9.2.1 ovinterface.h --- storage/ovinterface.h 3 Feb 2001 07:30:52 -0000 1.9.2.1 +++ storage/ovinterface.h 10 May 2003 03:12:59 -0000 @@ -31,7 +31,6 @@ BOOL OVgroupbasedexpire(TOKEN token, char *group, char *data, int len, time_t arrived, time_t expires); BOOL OVgroupmatch(char *group); BOOL OVhisthasmsgid(char *data); -void OVEXPremove(TOKEN token, BOOL deletedgroups, char **xref, int ngroups); #define DEFAULT_MAX_XREF_LEN 8192 Index: storage/buffindexed/buffindexed.c =================================================================== RCS file: /home/kondou/news/inn/repository/inn/storage/buffindexed/buffindexed.c,v retrieving revision 1.40.2.9 diff -u -r1.40.2.9 buffindexed.c --- storage/buffindexed/buffindexed.c 2 Feb 2003 21:42:52 -0000 1.40.2.9 +++ storage/buffindexed/buffindexed.c 10 May 2003 03:14:47 -0000 @@ -1791,6 +1791,7 @@ char flag; HASH hash; time_t arrived, expires; + OVSEARCH search; if (group == NULL) { for (i = 0 ; i < GROUPheader->freelist.recno ; i++) { @@ -1806,11 +1807,14 @@ syslog(L_ERROR, "%s: could not mmap overview for hidden groups(%d)", LocalLogName, i); continue; } - for (j = 0 ; j < Gibcount ; j++) { - if (Gib[j].artnum == 0) - continue; - /* this may be duplicated, but ignore it in this case */ - OVEXPremove(Gib[j].token, TRUE, NULL, 0); + search.hi = ge->high; + search.lo = ge->low; + search.cur = 0; + search.needov = TRUE; + while (ovsearch((void *)&search, NULL, &data, &len, &token, &arrived, &expires)) { + if (innconf->groupbaseexpiry) + /* assuming "." is not real newsgroup */ + OVgroupbasedexpire(token, ".", data, len, arrived, expires); } #ifdef OV_DEBUG freegroupblock(ge); |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Precendence of auth entries in readers.conf for INN v2.3.4: 00090, Russ Allbery |
|---|---|
| Next by Date: | How to disable expiration?: 00090, Alessandro A. |
| Previous by Thread: | Re: Can't unlink @030362756666303130000000ADF300000001i: 00090, Kathryn Hemness |
| Next by Thread: | ftp.isc.org: 00090, The Doctor |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |