]> granicus.if.org Git - apache/commitdiff
Integrate mod_ssl into the Autoconf facility.
authorRalf S. Engelschall <rse@apache.org>
Sat, 5 May 2001 09:25:52 +0000 (09:25 +0000)
committerRalf S. Engelschall <rse@apache.org>
Sat, 5 May 2001 09:25:52 +0000 (09:25 +0000)
(currently only stub files are compiled)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89002 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/Makefile.in [new file with mode: 0644]
modules/ssl/config.m4 [new file with mode: 0644]
modules/ssl/mod_ssl.c
modules/ssl/mod_ssl.h
modules/ssl/ssl_engine_config.c

diff --git a/modules/ssl/Makefile.in b/modules/ssl/Makefile.in
new file mode 100644 (file)
index 0000000..2207d48
--- /dev/null
@@ -0,0 +1,50 @@
+## ====================================================================
+## The Apache Software License, Version 1.1
+##
+## Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
+## reserved.
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+##
+## 1. Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+##
+## 2. Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in
+##    the documentation and/or other materials provided with the
+##    distribution.
+##
+## 3. The end-user documentation included with the redistribution,
+##    if any, must include the following acknowledgment:
+##       "This product includes software developed by the
+##        Apache Software Foundation (http://www.apache.org/)."
+##    Alternately, this acknowledgment may appear in the software itself,
+##    if and wherever such third-party acknowledgments normally appear.
+##
+## 4. The names "Apache" and "Apache Software Foundation" must
+##    not be used to endorse or promote products derived from this
+##    software without prior written permission. For written
+##    permission, please contact apache@apache.org.
+##
+## 5. Products derived from this software may not be called "Apache",
+##    nor may "Apache" appear in their name, without prior written
+##    permission of the Apache Software Foundation.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+## DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+## ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+## ====================================================================
+
+include $(top_srcdir)/build/special.mk
+
diff --git a/modules/ssl/config.m4 b/modules/ssl/config.m4
new file mode 100644 (file)
index 0000000..4eeefd7
--- /dev/null
@@ -0,0 +1,160 @@
+dnl ## ====================================================================
+dnl ## The Apache Software License, Version 1.1
+dnl ##  
+dnl ## Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
+dnl ## reserved.
+dnl ##
+dnl ## Redistribution and use in source and binary forms, with or without
+dnl ## modification, are permitted provided that the following conditions
+dnl ## are met:
+dnl ##
+dnl ## 1. Redistributions of source code must retain the above copyright
+dnl ##    notice, this list of conditions and the following disclaimer.
+dnl ##
+dnl ## 2. Redistributions in binary form must reproduce the above copyright
+dnl ##    notice, this list of conditions and the following disclaimer in
+dnl ##    the documentation and/or other materials provided with the
+dnl ##    distribution.
+dnl ##
+dnl ## 3. The end-user documentation included with the redistribution,
+dnl ##    if any, must include the following acknowledgment:
+dnl ##       "This product includes software developed by the
+dnl ##        Apache Software Foundation (http://www.apache.org/)."
+dnl ##    Alternately, this acknowledgment may appear in the software itself,
+dnl ##    if and wherever such third-party acknowledgments normally appear.
+dnl ##
+dnl ## 4. The names "Apache" and "Apache Software Foundation" must
+dnl ##    not be used to endorse or promote products derived from this
+dnl ##    software without prior written permission. For written
+dnl ##    permission, please contact apache@apache.org.
+dnl ##
+dnl ## 5. Products derived from this software may not be called "Apache",
+dnl ##    nor may "Apache" appear in their name, without prior written
+dnl ##    permission of the Apache Software Foundation.
+dnl ##
+dnl ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+dnl ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+dnl ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+dnl ## DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+dnl ## ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+dnl ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+dnl ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+dnl ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+dnl ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+dnl ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+dnl ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+dnl ## SUCH DAMAGE.
+dnl ## ====================================================================
+
+dnl #  start of module specific part
+APACHE_MODPATH_INIT(ssl)
+
+dnl #  list of module object files
+ssl_objs="mod_ssl.lo"
+ssl_objs="$ssl_objs ssl_engine_config.lo"
+
+dnl #  hook module into the Autoconf mechanism (--enable-ssl option)
+APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , no, [
+
+    dnl #  hook into Autoconf mechanism (--with-ssl[=DIR] option)
+    AC_MSG_CHECKING(for SSL/TLS toolkit base)
+    ssltk_base="SYSTEM"
+    AC_ARG_WITH(ssl, [  --with-ssl[=DIR]        SSL/TLS toolkit (OpenSSL)], [
+        if test ".$withval" != .yes -a ".$withval" != .; then
+            ssltk_base="$withval"
+            if test ! -d $ssltk_base; then
+                AC_MSG_ERROR([invalid SSL/TLS toolkit base directory $ssltk_base])
+            fi
+        fi
+    ])
+    AC_MSG_RESULT($ssltk_base)
+    
+    dnl #   determine SSL/TLS toolkit frontend (openssl binary)
+    AC_MSG_CHECKING(for SSL/TLS toolkit frontend)
+    ssltk_frontend=""
+    if test ".$ssltk_base" = .SYSTEM; then
+        for p in . `echo $PATH | sed -e 's/:/ /g'`; do
+            if test -f "$p/openssl"; then
+                ssltk_frontend="$p/openssl"
+                break
+            fi
+        done
+        if test ".$ssltk_frontend" = .; then
+            AC_MSG_ERROR(['openssl' not found in $PATH])
+        fi
+    else
+        if test -f "$ssltk_base/bin/openssl"; then
+            ssltk_frontend="$ssltk_base/bin/openssl"
+        else
+            AC_MSG_ERROR(['openssl' not found in $ssltk_base/bin/])
+        fi
+    fi
+    AC_MSG_RESULT($ssltk_frontend)
+
+    dnl #   determine SSL/TLS toolkit version
+    AC_MSG_CHECKING(for SSL/TLS toolkit version)
+    ssltk_version="`$ssltk_frontend version`"
+    case "$ssltk_version" in
+        *0.9.[[6789]]* ) ;;
+        * ) AC_MSG_ERROR([SSL/TLS toolkit version $ssltk_version not supported]) ;;
+    esac
+    AC_MSG_RESULT($ssltk_version)
+
+    dnl #   determine SSL/TLS toolkit include directory
+    AC_MSG_CHECKING(for SSL/TLS toolkit includes)
+    ssltk_incdir=""
+    if test ".$ssltk_base" = .SYSTEM; then
+        for p in . /usr/include /usr/include/ssl/ /usr/local/include /usr/local/include/ssl; do
+            if test -f "$p/openssl/ssl.h"; then
+                ssltk_incdir="$p"
+                break
+            fi
+        done
+        if test ".$ssltk_incdir" = .; then
+            AC_MSG_ERROR([OpenSSL headers not found])
+        fi
+    else
+        if test -f "$ssltk_base/include/openssl/ssl.h"; then
+            ssltk_incdir="$ssltk_base/include"
+        else
+            AC_MSG_ERROR([OpenSSL headers not found under $ssltk_base])
+        fi
+    fi
+    AC_MSG_RESULT($ssltk_incdir)
+
+    dnl #   determine SSL/TLS toolkit library directory
+    AC_MSG_CHECKING(for SSL/TLS toolkit libraries)
+    ssltk_libdir=""
+    if test ".$ssltk_base" = .SYSTEM; then
+        for p in . /lib /usr/lib /usr/local/lib; do
+            if test -f "$p/libssl.a" -o -f "$p/libssl.so"; then
+                ssltk_libdir="$p"
+                break
+            fi
+        done
+        if test ".$ssltk_libdir" = .; then
+            AC_MSG_ERROR([OpenSSL libraries not found])
+        fi
+    else
+        if test -f "$ssltk_base/libssl.a" -o -f "$ssltk_base/libssl.so"; then
+            ssltk_libdir="$ssltk_base"
+        elif test -f "$ssltk_base/lib/libssl.a" -o -f "$ssltk_base/lib/libssl.so"; then
+            ssltk_libdir="$ssltk_base/lib"
+        else
+            AC_MSG_ERROR([OpenSSL libraries not found under $ssltk_base])
+        fi
+    fi
+    AC_MSG_RESULT($ssltk_libdir)
+
+    dnl #  annotate the Apache build environment with determined information
+    if test ".$ssltk_incdir" != "./usr/include"; then
+        INCLUDES="$INCLUDES -I$ssltk_incdir"
+    fi
+    if test ".$ssltk_libdir" != "./usr/lib"; then
+        LIBS="$LIBS -L$ssltk_libdir -lssl -lcrypto"
+    fi
+])
+
+dnl #  end of module specific part
+APACHE_MODPATH_FINISH
+
index 61d5b81b6554ce11e1ff5f97f29d5972a7b084f7..f3b5901f0cd27dbf5b9fb46b000fcd4b349e2a7b 100644 (file)
                                   others think that what you
                                   are doing is honourable.''
                                     -- Ben Laurie, Apache-SSL author */
+#include "httpd.h"
+#include "http_config.h"
+
+#if 0 /* XXX */
+
 #include "mod_ssl.h"
 
 /*  _________________________________________________________________
@@ -72,7 +77,7 @@
  *  identify the module to SCCS `what' and RCS `ident' commands
  */
 static char const sccsid[] = "@(#) mod_ssl/" MOD_SSL_VERSION " >";
-static char const rcsid[]  = "$Id: mod_ssl.c,v 1.2 2001/05/04 22:20:45 rse Exp $";
+static char const rcsid[]  = "$Id: mod_ssl.c,v 1.3 2001/05/05 09:25:52 rse Exp $";
 
 /*
  *  the table of configuration directives we provide
@@ -244,3 +249,15 @@ module MODULE_VAR_EXPORT ssl_module = {
     ssl_hook_CloseConnection  /* socket connection close             */
 };
 
+#endif /* XXX */
+
+module AP_MODULE_DECLARE_DATA ssl_module = {
+    STANDARD20_MODULE_STUFF,
+    NULL,                       /* create per-directory config structure */
+    NULL,                       /* merge per-directory config structures */
+    NULL,                       /* create per-server config structure */
+    NULL,                       /* merge per-server config structures */
+    NULL,                       /* command apr_table_t */
+    NULL                        /* register hooks */
+};
+
index 7637accd87aa07a430645198f14d4e8a09cd88d8..48391850d1b39c06e5bca7c8bec80e6188085903 100644 (file)
@@ -64,6 +64,8 @@
 #ifndef MOD_SSL_H
 #define MOD_SSL_H 1
 
+#if 0 /* XXX */
+
 /* 
  * Check whether Extended API (EAPI) is enabled
  */
@@ -849,4 +851,6 @@ void         ssl_vendor_register(void);
 void         ssl_vendor_unregister(void);
 #endif
 
+#endif /* XXX */
+
 #endif /* MOD_SSL_H */
index fe51498b0b7e903b4f9c71779f8b04d3243c9c9c..d59cd21334a4e392e546b83db9ae71dab2994ff0 100644 (file)
@@ -60,8 +60,9 @@
                                       /* ``Damned if you do,
                                            damned if you don't.''
                                                -- Unknown        */
-#include "mod_ssl.h"
+#if 0 /* XXX */
 
+#include "mod_ssl.h"
 
 /*  _________________________________________________________________
 **
@@ -1089,3 +1090,5 @@ const char *ssl_cmd_SSLProxyMachineCertificatePath(
 
 #endif /* SSL_EXPERIMENTAL_PROXY */
 
+#endif /* XXX */
+