Commit d3b9fe94 authored by Justin Erenkrantz's avatar Justin Erenkrantz
Browse files

Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest

by allowing a module to disable itself if its prerequisites are not met.

This introduces the subtle nuance that if you request a module and you
don't meet its prerequisites, it'll refuse to build itself.

mod_ssl exits if its prerequisites are not met.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90261 13f79535-47bb-0310-9956-ffa450edef68
parent 8a59ed9c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Changes with Apache 2.0.25-dev

  *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
     by allowing a module to disable itself if its prerequisites are not
     met.  [Justin Erenkrantz]

  *) Fix an assertion failure in mod_ssl when the keepalive timeout is  
     reached.  [Jeff Trawick]

+10 −1
Original line number Diff line number Diff line
@@ -217,6 +217,16 @@ AC_DEFUN(APACHE_MODULE,[
      enable_$1=no
    fi
  fi
  if test "$enable_$1" != "no"; then
    dnl If we plan to enable it, allow the module to run some autoconf magic
    dnl that may disable it because of missing dependencies.
    ifelse([$6],,:,[AC_MSG_RESULT([checking dependencies])
                    $6
                    AC_MSG_CHECKING(whether to enable mod_$1)
                    if test "$enable_$1" = "no"; then
                      _apmod_extra_msg=" (disabled)"
                    fi])
  fi
  AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
  if test "$enable_$1" != "no"; then
    case "$enable_$1" in
@@ -231,7 +241,6 @@ AC_DEFUN(APACHE_MODULE,[
      fi
      shared="";;
    esac
    ifelse([$6],,:,[$6])
    APACHE_MODPATH_ADD($1, $shared, $3)
  fi
])dnl
+7 −3
Original line number Diff line number Diff line
@@ -10,11 +10,15 @@ APACHE_MODULE(auth_anon, anonymous user access, , , most)
APACHE_MODULE(auth_dbm, DBM-based access databases, , , most)

APACHE_MODULE(auth_db, DB-based access databases, , , , [
  AC_CHECK_HEADERS(db.h)
  AC_CHECK_LIB(db,main)
  AC_CHECK_HEADERS(db.h,,enable_auth_db=no)
  AC_CHECK_LIB(db,main,,enable_auth_db=no)
]) 

APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most)
APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most, [
  AC_TRY_COMPILE([#include <apr.h>], 
                 [#if !APR_HAS_RANDOM #error You need APR random support to use auth_digest. #endif],,
                 enable_auth_digest=no)
])

APR_ADDTO(LT_LDFLAGS,-export-dynamic)