Applied Alex Kiernan's patch for the API change in BDB 4.3.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 14 Jun 2005 10:32:01 +0000 (10:32 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 14 Jun 2005 10:32:01 +0000 (10:32 +0000)
doc/doc-txt/ChangeLog
src/ACKNOWLEDGMENTS
src/src/dbfn.c
src/src/dbfunctions.h
src/src/exim_dbmbuild.c
src/src/exim_dbutil.c

index 1a6cbe432e99662afd308703007f35c49976c665..998cf94e9cd0637012f56148c43a42aefb92af17 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.153 2005/06/13 13:37:39 fanf2 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.154 2005/06/14 10:32:01 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -111,6 +111,9 @@ TK/08 Apply fix provided by Michael Haardt to prevent deadlock in case of
 TF/05 Fixed a ${extract error message typo reported by Jeremy Harris
       <jgh@wizmail.org>
 
 TF/05 Fixed a ${extract error message typo reported by Jeremy Harris
       <jgh@wizmail.org>
 
+PH/12 Applied Alex Kiernan's patch for the API change for the error callback
+      function for BDB 4.3.
+
 
 Exim version 4.51
 -----------------
 
 Exim version 4.51
 -----------------
index 6100eef05812cf5a460d2c8dd607c0211e60beb6..3e1e09b293491a0ffc1428cfd7d73307d30eb5b0 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.25 2005/06/06 19:30:18 tom Exp $
+$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.26 2005/06/14 10:32:01 ph10 Exp $
 
 EXIM ACKNOWLEDGEMENTS
 
 
 EXIM ACKNOWLEDGEMENTS
 
@@ -20,7 +20,7 @@ relatively small patches.
 Philip Hazel
 
 Lists created: 20 November 2002
 Philip Hazel
 
 Lists created: 20 November 2002
-Last updated:  27 April 2005
+Last updated:  14 June 2005
 
 
 THE OLD LIST
 
 
 THE OLD LIST
@@ -160,6 +160,7 @@ Bob Johannessen           Patch for Sieve envelope tests bug
 Christian Kellner         Patch for LDAP dereferencing
 Alex Kiernan              Patch for libradius
                           Diagnosis of milliwait clock-backwards bug
 Christian Kellner         Patch for LDAP dereferencing
 Alex Kiernan              Patch for libradius
                           Diagnosis of milliwait clock-backwards bug
+                          Patch for BDB 4.3 API change
 Tom Kistner               SPA server code
                           Writing and maintaining the content scanning
                             extension (exiscan)
 Tom Kistner               SPA server code
                           Writing and maintaining the content scanning
                             extension (exiscan)
index f511df5e1587f6cd154b9307068c33989ee9dda3..928cf00f1c94becf68f07b006dd3da3ef09a75a2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/dbfn.c,v 1.2 2005/01/04 10:00:42 ph10 Exp $ */
+/* $Cambridge: exim/src/src/dbfn.c,v 1.3 2005/06/14 10:32:01 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -40,12 +40,19 @@ arrange to hold the locks for the bare minimum of time. */
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
-exists" when you try to open a db file. */
+exists" when you try to open a db file. The API for this function was changed
+at DB release 4.3. */
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+dbfn_bdb_error_callback(const DB_ENV *dbenv, const char *pfx, const char *msg)
+{
+dbenv = dbenv;
+#else
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
+#endif
 pfx = pfx;
 log_write(0, LOG_MAIN, "Berkeley DB error: %s", msg);
 }
 pfx = pfx;
 log_write(0, LOG_MAIN, "Berkeley DB error: %s", msg);
 }
index 74c7e612759148b9e39b567b811b21824b28d978..6d2d01555791c7762866570476c303e3980e5317 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/dbfunctions.h,v 1.2 2005/01/04 10:00:42 ph10 Exp $ */
+/* $Cambridge: exim/src/src/dbfunctions.h,v 1.3 2005/06/14 10:32:01 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -21,10 +21,15 @@ int      dbfn_write(open_db *, uschar *, void *, int);
 
 #define  dbfn_read(a, b) dbfn_read_with_length(a, b, NULL)
 
 
 #define  dbfn_read(a, b) dbfn_read_with_length(a, b, NULL)
 
-/* Berkeley DB uses a callback function to pass back error details. */
+/* Berkeley DB uses a callback function to pass back error details. Its API
+changed at release 4.3. */
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+void     dbfn_bdb_error_callback(const DB_ENV *, const char *, const char *);
+#else
 void     dbfn_bdb_error_callback(const char *, char *);
 #endif
 void     dbfn_bdb_error_callback(const char *, char *);
 #endif
+#endif
 
 /* End of dbfunctions.h */
 
 /* End of dbfunctions.h */
index 1c06b710a949286a36e5617f5204766db40eb1ef..2d4bc3b6ab189be4a722678c8f9752947a902683 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/exim_dbmbuild.c,v 1.2 2005/01/04 10:00:42 ph10 Exp $ */
+/* $Cambridge: exim/src/src/exim_dbmbuild.c,v 1.3 2005/06/14 10:32:01 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -58,12 +58,18 @@ return sys_errlist[n];
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
-exists" when you try to open a db file. */
+exists" when you try to open a db file. The API changed at release 4.3. */
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+dbfn_bdb_error_callback(const DB_ENV *dbenv, const char *pfx, const char *msg)
+{
+dbenv = dbenv;
+#else
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
+#endif
 pfx = pfx;
 printf("Berkeley DB error: %s\n", msg);
 }
 pfx = pfx;
 printf("Berkeley DB error: %s\n", msg);
 }
index a8dbe61b804b81e8200b3fba8c51d4640bf21272..03c00a411a70eba2fbeb2605eb1df1befbc80896 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/exim_dbutil.c,v 1.4 2005/05/23 16:58:56 fanf2 Exp $ */
+/* $Cambridge: exim/src/src/exim_dbutil.c,v 1.5 2005/06/14 10:32:01 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -78,12 +78,18 @@ not too much extra baggage. */
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
 
 /* For Berkeley DB >= 2, we can define a function to be called in case of DB
 errors. This should help with debugging strange DB problems, e.g. getting "File
-exists" when you try to open a db file. */
+exists" when you try to open a db file. The API changed at release 4.3. */
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+dbfn_bdb_error_callback(const DB_ENV *dbenv, const char *pfx, const char *msg)
+{
+dbenv = dbenv;
+#else
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
+#endif
 pfx = pfx;
 printf("Berkeley DB error: %s\n", msg);
 }
 pfx = pfx;
 printf("Berkeley DB error: %s\n", msg);
 }