You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rs...@hyperreal.org on 1998/09/19 14:12:37 UTC
cvs commit: apache-1.3/src/modules/standard mod_auth_db.module mod_auth_db.c
rse 98/09/19 05:12:36
Modified: src CHANGES
src/modules/standard mod_auth_db.module mod_auth_db.c
Log:
Add support for Berkeley-DB/2.x (in addition to Berkeley-DB/1.x) to
mod_auth_db to both be friendly to users who wants to use this version
and to avoid problems under platforms where only version 2.x is present.
Submitted by: Dan Jacobowitz <dr...@false.org>
Enhanced by: Ralf S. Engelschall
Revision Changes Path
1.1069 +5 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1068
retrieving revision 1.1069
diff -u -r1.1068 -r1.1069
--- CHANGES 1998/09/18 04:29:06 1.1068
+++ CHANGES 1998/09/19 12:12:34 1.1069
@@ -1,5 +1,10 @@
Changes with Apache 1.3.2
+ *) Add support for Berkeley-DB/2.x (in addition to Berkeley-DB/1.x) to
+ mod_auth_db to both be friendly to users who wants to use this version
+ and to avoid problems under platforms where only version 2.x is present.
+ [Dan Jacobowitz <dr...@false.org>, Ralf S. Engelschall]
+
*) When using ap_log_rerror(), make the error message available to the
*ERROR_NOTES envariables by default. [Ken Coar]
1.6 +31 -15 apache-1.3/src/modules/standard/mod_auth_db.module
Index: mod_auth_db.module
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_auth_db.module,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- mod_auth_db.module 1998/03/05 12:42:32 1.5
+++ mod_auth_db.module 1998/09/19 12:12:35 1.6
@@ -1,20 +1,36 @@
Name: db_auth_module
ConfigStart
- if ./helpers/TestCompile func dbopen; then
- :
+ DB_VERSION=''
+ DB_LIB=''
+ if ./helpers/TestCompile func db_open; then
+ DB_VERSION='Berkeley-DB/2.x'
else
- case "$PLAT" in
- *-linux*)
- # many systems have -ldb installed
- DB_LIB=""
- if ./helpers/TestCompile lib db dbopen; then
- DB_LIB="-ldb"
- fi
- ;;
- esac
- LIBS="$LIBS $DB_LIB"
- if [ "X$DB_LIB" != "X" ]; then
- echo " + using $DB_LIB for mod_auth_db"
- fi
+ if ./helpers/TestCompile lib db db_open; then
+ DB_VERSION='Berkeley-DB/2.x'
+ DB_LIB='-ldb'
+ else
+ if ./helpers/TestCompile func dbopen; then
+ DB_VERSION='Berkeley-DB/1.x'
+ else
+ if ./helpers/TestCompile lib db dbopen; then
+ DB_VERSION='Berkeley-DB/1.x'
+ DB_LIB='-ldb'
+ fi
+ fi
+ fi
+ fi
+ if [ ".$DB_VERSION" != . ]; then
+ if [ ".$DB_LIB" != . ]; then
+ LIBS="$LIBS $DB_LIB"
+ echo " using $DB_VERSION for mod_auth_db ($DB_LIB)"
+ else
+ echo " using $DB_VERSION for mod_auth_db (-lc)"
+ fi
+ else
+ echo "Error: Neither Berkeley-DB/1.x nor Berkeley-DB/2.x library found."
+ echo " Either disable mod_auth_db or provide us with the paths"
+ echo " to the Berkeley-DB include and library files."
+ echo " (Hint: INCLUDES, LDFLAGS, LIBS)"
+ exit 1
fi
ConfigEnd
1.33 +16 -0 apache-1.3/src/modules/standard/mod_auth_db.c
Index: mod_auth_db.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_auth_db.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- mod_auth_db.c 1998/08/06 17:30:55 1.32
+++ mod_auth_db.c 1998/09/19 12:12:36 1.33
@@ -97,6 +97,10 @@
#include "http_protocol.h"
#include <db.h>
+#if defined(DB_VERSION_MAJOR) && (DB_VERSION_MAJOR == 2)
+#define DB2
+#endif
+
typedef struct {
char *auth_dbpwfile;
@@ -154,19 +158,31 @@
q.data = user;
q.size = strlen(q.data);
+#ifdef DB2
+ if (db_open(auth_dbpwfile, DB_HASH, O_RDONLY, 0664, NULL, NULL, &f) != 0) {
+#else
if (!(f = dbopen(auth_dbpwfile, O_RDONLY, 0664, DB_HASH, NULL))) {
+#endif
ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
"could not open db auth file: %s", auth_dbpwfile);
return NULL;
}
+#ifdef DB2
+ if (!((f->get) (f, NULL, &q, &d, 0))) {
+#else
if (!((f->get) (f, &q, &d, 0))) {
+#endif
pw = ap_palloc(r->pool, d.size + 1);
strncpy(pw, d.data, d.size);
pw[d.size] = '\0'; /* Terminate the string */
}
+#ifdef DB2
+ (f->close) (f, 0);
+#else
(f->close) (f);
+#endif
return pw;
}
Re: cvs commit: apache-1.3/src/modules/standard mod_auth_db.module mod_auth_db.c
Posted by Dean Gaudet <dg...@arctic.org>.
This is bogus too.
If someone upgrades their glibc 2.0 system to glibc 2.1, and they
recompile apache, they'll suddenly be using db2 rather than db1.85.
Dean
On 19 Sep 1998 rse@hyperreal.org wrote:
> rse 98/09/19 05:12:36
>
> Modified: src CHANGES
> src/modules/standard mod_auth_db.module mod_auth_db.c
> Log:
> Add support for Berkeley-DB/2.x (in addition to Berkeley-DB/1.x) to
> mod_auth_db to both be friendly to users who wants to use this version
> and to avoid problems under platforms where only version 2.x is present.
>
> Submitted by: Dan Jacobowitz <dr...@false.org>
> Enhanced by: Ralf S. Engelschall