You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Dan Jacobowitz <dr...@false.org> on 1998/09/21 04:03:06 UTC

Re: STATUS note

On Sun, Sep 20, 1998 at 10:21:55PM -0400, Jim Jagielski wrote:
> Apache 1.3 STATUS:
> 
> RELEASE SHOWSTOPPERS:
> 
>     * DB1.x vs. DB2.x:
>       Jim: We need to make sure that db2 is backwards compatible with
>            db1 or else make sure that people know to update their DB
> 	   files (or are we calling db2 files different names?)
> 
>       Roy: I don't understand why we should stop everything for this.
>            Does the current cvs work with existing db files, or not?
>            If not, let's fix it.  If unknown, it isn't a showstopper.
> 
> My concern is that previous versions of Apache were not db2 "aware"
> best as I can determine. Thus, Apache would use db1 by default with
> mod_auth_db.c. Now that Apache "knows" about db2, it looks like it
> prefers that over db1, which means that this will break "old" db
> databases unless db2 can read db1 files. I simply don't know if
> it will, but if it doesn't then this looks like a compatibility
> problem.

Except that apache still is not 'db2 aware' in some senses.  In any
case in which db_open and dbopen both exist in either libc or libdb,
then the db1 functions are simply wrappers for the db2 functions.  Only
when libdb has only dbopen and libdb2 has db_open would there be an
avoidable issue.  Apache will never by default link with libdb2,
however.

I still do not know whether libdb2 can open db1 hashes, however.  If
someone who actually has a better understanding of the situation than I
do wants an account here to look at a system with only db2, I'd be glad
to provide that.  Or if anyone has an idea of how to check.

Dan

Re: STATUS note

Posted by Dan Jacobowitz <dr...@false.org>.
On Sun, Sep 20, 1998 at 11:14:44PM -0400, Jim Jagielski wrote:
> Let's see... first the module checks for db_open in the default lib,
> then it looks for it in ldb, then it looks for dbopen in the
> default lib and then dbopen in ldb. So we would run into trouble
> in just one way, I think.
> 
>   1. dbopen is in libc and there is also a libdb that includes
>      db_open. In this case, pre-1.3.2 versions would use the dbopen
>      in libc but 1.3.2 would use db_open in libdb. This would be a problem
>      if dbopen in libc was db1 and libdb was db2 :/
> 
> If pre-1.3.2 versions found dbopen in libdb AND dbopen was just a wrapper
> for db_open in libdb, then it looks like we are OK. In any case, 1.3.2
> now looks for db_open first.

I don't THINK that any of the platforms which have db support in libc
have a db2 implementation as libdb.  The third-party release of libdb2
installs itself as libdb2.

Dan

Re: STATUS note

Posted by Marc Slemko <ma...@worldgate.com>.
On Sun, 20 Sep 1998, Dan Jacobowitz wrote:

> > My concern is that previous versions of Apache were not db2 "aware"
> > best as I can determine. Thus, Apache would use db1 by default with
> > mod_auth_db.c. Now that Apache "knows" about db2, it looks like it
> > prefers that over db1, which means that this will break "old" db
> > databases unless db2 can read db1 files. I simply don't know if
> > it will, but if it doesn't then this looks like a compatibility
> > problem.
> 
> Except that apache still is not 'db2 aware' in some senses.  In any
> case in which db_open and dbopen both exist in either libc or libdb,
> then the db1 functions are simply wrappers for the db2 functions.  Only
> when libdb has only dbopen and libdb2 has db_open would there be an
> avoidable issue.  Apache will never by default link with libdb2,
> however.
> 
> I still do not know whether libdb2 can open db1 hashes, however.  If

No.

> someone who actually has a better understanding of the situation than I
> do wants an account here to look at a system with only db2, I'd be glad
> to provide that.  Or if anyone has an idea of how to check.


If a system only has one db on it, there is no problem.

If it previously used db2 using the compat header, then the files are
written in db2 mode and can be read using the db2 interface.  That means
there is no problem there.

If it prevoiusly used db and there is no db2, obviously it won't use db2
now.

So the only issue comes if there is db1 and db2 installed, but that is a
mess anyway because you have header file conflicts.  If say db1 was in
libc or /usr/lib and /usr/include/db.h with db2 in /usr/local/lib and
/usr/local/include/db.h then you could be messed to hell if you end up
using one header file, the other lib, etc.