[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