Commit 94561c74 authored by Ryan Bloom's avatar Ryan Bloom
Browse files

Clean up the mod_tls configure process. This should remove most, if not

all, of the hand-editing required to make mod_tls compile.  I have also
updated the README to reflect the current process.  I have also noted that
we require OpenSSL 0.9.6 to compile.  I am getting all sorts of warnings
from the OpenSSL header files, and I get a single error from the OpenSSL
libraries, but I am assuming that is a problem with my configuration,
not the mod_tls code.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88093 13f79535-47bb-0310-9956-ffa450edef68
parent b70e4503
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Changes with Apache 2.0b1

  *) Cleanup the mod_tls configure process.  This should remove any need
     to hand-edit any files.  We require OpenSSL 0.9.6 or later, but 
     configure doesn't check that yet.  [Ryan Bloom]

  *) Add a very early prototype of SSL support (in mod_tls.c). It is
     vital that you read modules/tls/README before attempting to build
     it. [Ben Laurie]
+1 −8
Original line number Diff line number Diff line
LTLIBRARY_NAME    = libapachemod_tls.la
LTLIBRARY_SOURCES = mod_tls.lo openssl_state_machine.lo

# temp!
openssl_state_machine.lo: openssl_state_machine.c
	gcc  -I. -I/usr/home/ben/work/httpd-2.0/modules/tls -I/usr/home/ben/work/httpd-2.0/server/mpm/prefork -I/usr/home/ben/work/httpd-2.0/include -I/usr/home/ben/work/httpd-2.0/srclib/apr/include -I/usr/home/ben/work/httpd-2.0/srclib/apr-util/include -I/usr/home/ben/work/httpd-2.0/os/unix -I/usr/home/ben/work/httpd-2.0/srclib/expat-lite -I/home/ben/work/openssl/include  -I/home/ben/work/openssl/include -D_REENTRANT -D_THREAD_SAFE -g -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -DAP_DEBUG -DNO_KRB5 -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -c openssl_state_machine.c -o openssl_state_machine.lo

include $(top_srcdir)/build/ltlib.mk
include $(top_srcdir)/build/special.mk
+7 −6
Original line number Diff line number Diff line
This currently won't work with Apache unaided. The manual things I
have to do to make it work are:

edit .../httpd-2.0/config_vars.mk:
To configure this module you must use:

Add "-L<where OpenSSL is> -lssl -lcrypto" to EXTRA_LIBS.
--enable-tls
--with-ssl=/path/to/ssl/library

Change "modules/tls/mod_tls.la" to "modules/tls/libapachemod_tls.la" in
BUILTIN_LIBS.
For example:

edit .../httpd-2.0/modules/tls/Makefile.in:
--enable-tls
--with-ssl=/home/rbb/openssl-0.9.6

Diddle with the openssl_state_machine.lo target to match your setup.
NOTE:  You must be using OpenSSL 0.9.6 or later in order for this to work.

Then all you need is "TLSFilter on" and "TLSCertificateFile <file>" in
your config, and you are away (note that the cert file must also
+25 −1
Original line number Diff line number Diff line
AC_MSG_CHECKING(for SSL library)
APACHE_MODPATH_INIT(tls)

APACHE_MODULE(tls, TLS/SSL support, , , no)
tls_objs="mod_tls.lo openssl_state_machine.lo"

APACHE_MODULE(tls, TLS/SSL support, $tls_objs, , no, [
  AC_ARG_WITH(ssl,   [ --with-ssl      use a specific SSL library installation ],
  [
      searchfile="$withval/inc/ssl.h"
      if test -f $searchfile ; then
          INCLUDES="$INCLUDES -I$withval/inc"
          LIBS="$LIBS -L$withval -lsslc"
          ssl_lib="SSLC"
      else
          searchfile="$withval/ssl/ssl.h"
          if test -f $searchfile ; then
              INCLUDES="$INCLUDES -I$withval/include"
              LIBS="$LIBS -L$withval -lssl -lcrypto"
              ssl_lib="OpenSSL"
          else
              AC_MSG_ERROR(no - Unable to locate $withval/inc/ssl.h)
          fi
      fi
      AC_MSG_RESULT(found $ssl_lib)
  ],[
      AC_MSG_ERROR(--with-ssl not given)
  ] ) ] )

APACHE_MODPATH_FINISH