httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Ponder <ja...@squish.net>
Subject mod_auth_db with db 4 (patch)
Date Sun, 25 May 2003 00:37:16 GMT
Berkeley db version 4 has a different prototype for the open() call than
version 3:

  int
  DB->open(DB *db, DB_TXN *txnid, const char *file,
      const char *database, DBTYPE type, u_int32_t flags, int mode);

Although mod_auth_db.c looks like it supports db version 4, it uses the
old version 3 open call.  Enclosed is a patch to fix:

--- src/modules/standard/mod_auth_db.c.dist     Wed Nov  6 13:50:48 2002
+++ src/modules/standard/mod_auth_db.c  Wed Nov  6 13:55:00 2002
@@ -170,8 +170,12 @@
     q.data = user;
     q.size = strlen(q.data);

-#if defined(DB3) || defined(DB4)
-    if (   db_create(&f, NULL, 0) != 0
+#if defined(DB4)
+    if (db_create(&f, NULL, 0) != 0
+        || f->open(f, NULL, auth_dbpwfile, NULL, DB_HASH, DB_RDONLY,
+                   0664) != 0) {
+#elif defined(DB3)
+    if (db_create(&f, NULL, 0) != 0
         || f->open(f, auth_dbpwfile, NULL, DB_HASH, DB_RDONLY, 0664) != 0) {
 #elif defined(DB2)
     if (db_open(auth_dbpwfile, DB_HASH, DB_RDONLY, 0664, NULL, NULL, &f) != 0)


Best wishes, James
--
James Ponder; www.squish.net; London, UK

Mime
View raw message