From 115db5143c02631dad68f116b392ec83df3df258 Mon Sep 17 00:00:00 2001 From: Ryan Bloom Date: Sun, 11 Feb 2001 20:19:41 +0000 Subject: [PATCH] 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 --- CHANGES | 4 ++++ modules/tls/Makefile.in | 9 +-------- modules/tls/README | 13 +++++++------ modules/tls/config.m4 | 26 +++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/CHANGES b/CHANGES index f3a8e3b165..8e68946ab6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,9 @@ 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] diff --git a/modules/tls/Makefile.in b/modules/tls/Makefile.in index 361b134e90..d8187ddf06 100644 --- a/modules/tls/Makefile.in +++ b/modules/tls/Makefile.in @@ -1,9 +1,2 @@ -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 diff --git a/modules/tls/README b/modules/tls/README index 355482dda6..064ce839fe 100644 --- a/modules/tls/README +++ b/modules/tls/README @@ -1,16 +1,17 @@ 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 -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 " in your config, and you are away (note that the cert file must also diff --git a/modules/tls/config.m4 b/modules/tls/config.m4 index 9874f6b2b7..df3ecbf41e 100644 --- a/modules/tls/config.m4 +++ b/modules/tls/config.m4 @@ -1,5 +1,29 @@ +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 -- 2.40.0