i386/159608: apache WITH_BDB_BASE settings described in UPDATING do not work

Jo Rhett jrhett at netconsonance.com
Mon Aug 8 17:40:16 UTC 2011


>Number:         159608
>Category:       i386
>Synopsis:       apache WITH_BDB_BASE settings described in UPDATING do not work
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 08 17:40:11 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Jo Rhett
>Release:        8.2
>Organization:
>Environment:
FreeBSD triceratops.netconsonance.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
There are settings described in ports UPDATING file and implemented in Makefile.modules to build apache with the base bdb 1.85 libraries.  Using these settings produces an apache which cannot authenticate against bdb 1.85 files.

dbmmanage /path/to/file view/adduser/delete/etc works fine
file /path/to/file
		/path/to/file: Berkeley DB 1.85 (Hash, version 2, native byte-order)

Accessing from the web server always returns a 500 error with the following in the error log:
	(2)No such file or directory: could not open dbm (type default) auth file: /path/to/passwd.dat

I've recompiled apr and apache with a variety of different options, and nothing works.  apr without any databases doesn't work. apr with BDB doesn't work, etc.  My options for apache have remained the same:
	APACHE_PORT=www/apache22
	WITH_DBM=bdb
	WITH_BDB_BASE=yes

Running a ktrace shows that even though it is built this way, it continues to search for a DBM file.

# kdump |grep /passwd
  724 httpd    NAMI  "/path/to/passwd.dat.dir"

>How-To-Repeat:
/etc/make.conf: 
        APACHE_PORT=www/apache22
	WITH_DBM=bdb
	WITH_BDB_BASE=yes

cd /usr/ports/www/apache22
make
make install

Create a DB 1.85 authentication file like so:
  jrhett:$1$JJueifadJ$jjp1FrHQ1OLnGwpYc3Egr1:admin

file /path/to/passwd.dat
		/path/to/passwd.dat: Berkeley DB 1.85 (Hash, version 2, native byte-order)

Edit the httpd.conf like so:
<Directory />
AuthBasicProvider       dbm
AuthDBMType             default
AuthDBMUserFile         /path/to/passwd.dat
AuthDBMGroupFile        /pathto/passwd.dat
</Directory>

>Fix:
No clue.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list