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