[PATCH] Re: Bogoutil error (resent)
Matthias Andree
matthias.andree at gmx.de
Wed Mar 9 01:45:49 CET 2005
"Rodney D. Myers" <rdmyers at MtPalomar.net> writes:
> On Wed, 09 Mar 2005 00:36:54 +0100
> Matthias Andree <matthias.andree at gmx.de> wrote:
>
>> "Rodney D. Myers" <rdmyers at MtPalomar.net> writes:
>>
>> > Just tried here as well
>> > Debian Sarge
>> > bogofilter 0.94.0-1
>> > db4.3-util 4.3.27-2
>> > libdb4.3 4.3.27-2
>> >
>> > seg faults as well
>>
>> Bogofilter bug. I'm working on it.
>
> Thanks. I just saw Laurent's comments, and noticed debian, so I figured
> I try as well.
The bug is now fixed in CVS. A 0.94.1 release may happen this week-end,
or you can try this patch; save the body of this email, unpack
bogofilter sources, and feed the email body it into
patch -p0 -d /where/is/your/bogofilter/src <this_mail.txt
replacing the /where/is/your and this_mail.txt parts appropriately.
Index: bogoutil.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/bogoutil.c,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -r1.192 -r1.193
--- bogoutil.c 6 Mar 2005 15:19:38 -0000 1.192
+++ bogoutil.c 9 Mar 2005 00:42:15 -0000 1.193
@@ -1,4 +1,4 @@
-/* $Id: bogoutil.c,v 1.192 2005/03/06 15:19:38 relson Exp $ */
+/* $Id: bogoutil.c,v 1.193 2005/03/09 00:42:15 m-a Exp $ */
/*****************************************************************************
@@ -828,7 +828,7 @@
rc = ds_remove(ds_file);
break;
case M_VERIFY:
- rc = ds_verify(ds_file);
+ rc = ds_verify(bogohome, ds_file);
break;
case M_DUMP:
rc = dump_wordlist(ds_file);
Index: datastore.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- datastore.c 25 Feb 2005 00:57:51 -0000 1.65
+++ datastore.c 9 Mar 2005 00:42:15 -0000 1.66
@@ -1,4 +1,4 @@
-/* $Id: datastore.c,v 1.65 2005/02/25 00:57:51 m-a Exp $ */
+/* $Id: datastore.c,v 1.66 2005/03/09 00:42:15 m-a Exp $ */
/*****************************************************************************
@@ -471,6 +471,6 @@
return dbe_purgelogs(directory);
}
-int ds_verify(const char *file) {
- return db_verify(file);
+int ds_verify(const char *directory, const char *file) {
+ return db_verify(directory, file);
}
Index: datastore.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- datastore.h 19 Feb 2005 02:01:24 -0000 1.43
+++ datastore.h 9 Mar 2005 00:42:15 -0000 1.44
@@ -1,4 +1,4 @@
-/* $Id: datastore.h,v 1.43 2005/02/19 02:01:24 m-a Exp $ */
+/* $Id: datastore.h,v 1.44 2005/03/09 00:42:15 m-a Exp $ */
/*****************************************************************************
@@ -251,7 +251,7 @@
extern int ds_remove(const char *directory);
/** Verify given database */
-extern int ds_verify(const char *file);
+extern int ds_verify(const char *directory, const char *file);
/** Remove inactive log files in given directory, \return EX_OK. */
extern int ds_purgelogs(const char *directory);
Index: datastore_db.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore_db.c,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -r1.184 -r1.185
--- datastore_db.c 8 Mar 2005 00:39:56 -0000 1.184
+++ datastore_db.c 9 Mar 2005 00:42:15 -0000 1.185
@@ -1,4 +1,4 @@
-/* $Id: datastore_db.c,v 1.184 2005/03/08 00:39:56 m-a Exp $ */
+/* $Id: datastore_db.c,v 1.185 2005/03/09 00:42:15 m-a Exp $ */
/*****************************************************************************
@@ -927,7 +927,7 @@
return db_strerror(e);
}
-ex_t db_verify(const char *db_file)
+ex_t db_verify(const char *directory, const char *db_file)
{
DB_ENV *dbe = NULL;
DB *db;
@@ -938,7 +938,9 @@
return EX_ERROR;
}
- dbe = dsm->dsm_recover_open(db_file);
+ dsm_init(directory, db_file);
+
+ dbe = dsm->dsm_recover_open(directory);
if (dbe == NULL) {
exit(EX_ERROR);
}
@@ -960,7 +962,7 @@
exit(EX_ERROR);
}
- e = dsm->dsm_common_close(dbe, db_file);
+ e = dsm->dsm_common_close(dbe, directory);
if (e == 0 && verbose)
printf("%s OK.\n", db_file);
Index: datastore_db.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore_db.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- datastore_db.h 19 Feb 2005 02:01:24 -0000 1.32
+++ datastore_db.h 9 Mar 2005 00:42:15 -0000 1.33
@@ -1,4 +1,4 @@
-/* $Id: datastore_db.h,v 1.32 2005/02/19 02:01:24 m-a Exp $ */
+/* $Id: datastore_db.h,v 1.33 2005/03/09 00:42:15 m-a Exp $ */
/*****************************************************************************
@@ -102,7 +102,7 @@
ex_t dbe_purgelogs(const char *directory);
/** Check if \a databasefile is a valid database. */
-ex_t db_verify(const char *databasefile);
+ex_t db_verify(const char *directory, const char *databasefile);
/** Returns true if the database is byteswapped. */
bool db_is_swapped(void *vhandle);
Index: datastore_qdbm.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore_qdbm.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- datastore_qdbm.c 14 Jan 2005 04:43:44 -0000 1.43
+++ datastore_qdbm.c 9 Mar 2005 00:42:16 -0000 1.44
@@ -1,4 +1,4 @@
-/* $Id: datastore_qdbm.c,v 1.43 2005/01/14 04:43:44 relson Exp $ */
+/* $Id: datastore_qdbm.c,v 1.44 2005/03/09 00:42:16 m-a Exp $ */
/*****************************************************************************
@@ -324,7 +324,8 @@
return dperrmsg(e);
}
-ex_t db_verify(const char *f) {
+ex_t db_verify(const char *d, const char *f) {
(void)f;
+ (void)d;
return EX_OK;
}
Index: datastore_sqlite.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore_sqlite.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- datastore_sqlite.c 8 Mar 2005 10:07:33 -0000 1.11
+++ datastore_sqlite.c 9 Mar 2005 00:42:16 -0000 1.12
@@ -40,10 +40,10 @@
DUMMYVVP(dbe_cleanup)
DUMMYVVP(db_flush)
DUMMYVPVP(db_get_env)
-DUMMYICP(db_verify)
DUMMYICP(dbe_purgelogs)
DUMMYICP(dbe_remove)
void *dbe_init(const char *d1, const char *d2) { (void)d1; (void)d2; return (void *)~0; }
+ex_t db_verify(const char *d1, const char *d2) { (void)d1; (void)d2; return EX_OK; }
/** dummy function, Sqlite recovers automatically. */
ex_t dbe_recover(const char *d1, bool d2, bool d3) { (void)d1; d2=d3; return EX_ERROR; }
Index: datastore_tdb.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/src/datastore_tdb.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- datastore_tdb.c 16 Jan 2005 17:39:17 -0000 1.43
+++ datastore_tdb.c 9 Mar 2005 00:42:16 -0000 1.44
@@ -1,4 +1,4 @@
-/* $Id: datastore_tdb.c,v 1.43 2005/01/16 17:39:17 relson Exp $ */
+/* $Id: datastore_tdb.c,v 1.44 2005/03/09 00:42:16 m-a Exp $ */
/*****************************************************************************
@@ -348,7 +348,8 @@
return "Invalid error code";
}
-ex_t db_verify(const char *f) {
+ex_t db_verify(const char *d, const char *f) {
(void)f;
+ (void)d;
return EX_OK;
}
--
Matthias Andree
_______________________________________________
Bogofilter mailing list
Bogofilter at bogofilter.org
http://www.bogofilter.org/mailman/listinfo/bogofilter
More information about the Bogofilter
mailing list