]> granicus.if.org Git - apache/commitdiff
Drop support for the RSA BSAFE SSL-C toolkit from configure,
authorKaspar Brand <kbrand@apache.org>
Sun, 7 Aug 2011 10:29:09 +0000 (10:29 +0000)
committerKaspar Brand <kbrand@apache.org>
Sun, 7 Aug 2011 10:29:09 +0000 (10:29 +0000)
and remove #ifdef'ed code from mod_ssl and ab where applicable.

Consensus for dropping support for SSL/TLS toolkits other
than OpenSSL was reached on dev@httpd in June 2010 (message
with ID <20100602162310.GA11156@redhat.com> and follow-ups).

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

16 files changed:
CHANGES
acinclude.m4
modules/ssl/README
modules/ssl/config.m4
modules/ssl/mod_ssl.c
modules/ssl/ssl_engine_init.c
modules/ssl/ssl_engine_io.c
modules/ssl/ssl_engine_kernel.c
modules/ssl/ssl_engine_pphrase.c
modules/ssl/ssl_engine_vars.c
modules/ssl/ssl_private.h
modules/ssl/ssl_toolkit_compat.h
modules/ssl/ssl_util.c
modules/ssl/ssl_util_ssl.c
modules/ssl/ssl_util_ssl.h
support/ab.c

diff --git a/CHANGES b/CHANGES
index d67fd84a8d56b6af256e48a119b70d9fb5f1c7de..3082b0fb12a9dbd767bb2ec3d417cee566235521 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.3.15
 
+  *) mod_ssl, configure, ab: drop support for RSA BSAFE SSL-C toolkit.
+     [Kaspar Brand]
+
   *) mod_usertrack: Run mod_usertrack earlier in the fixups hook to ensure the 
      cookie is set when modules such as mod_rewrite trigger a redirect. Also
      use r->err_headers_out for the cookie, for the same reason.  PR29755.
index 214763964f5391ed91f056a3d3aac0d603abeccc..b12fa502f5b8366d73969f8eb2553e09775f3416 100644 (file)
@@ -437,41 +437,32 @@ AC_DEFUN(APACHE_REQUIRE_CXX,[
 ])
 
 dnl
-dnl APACHE_CHECK_SSL_TOOLKIT
+dnl APACHE_CHECK_OPENSSL
 dnl
-dnl Configure for the detected openssl/ssl-c toolkit installation, giving
-dnl preference to "--with-ssl=<path>" if it was specified.
+dnl Configure for OpenSSL, giving preference to
+dnl "--with-ssl=<path>" if it was specified.
 dnl
-AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
-  AC_CACHE_CHECK([for SSL/TLS toolkit], [ac_cv_ssltk], [
+AC_DEFUN(APACHE_CHECK_OPENSSL,[
+  AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
     dnl initialise the variables we use
-    ac_cv_ssltk=yes
-    ap_ssltk_found=""
-    ap_ssltk_base=""
-    ap_ssltk_libs=""
-    ap_ssltk_type=""
-
-    dnl Determine the SSL/TLS toolkit's base directory, if any
-    AC_MSG_CHECKING([for user-provided SSL/TLS toolkit base])
-    AC_ARG_WITH(sslc, APACHE_HELP_STRING(--with-sslc=DIR,RSA SSL-C SSL/TLS toolkit), [
-      dnl If --with-sslc specifies a directory, we use that directory or fail
+    ac_cv_openssl=yes
+    ap_openssl_found=""
+    ap_openssl_base=""
+    ap_openssl_libs=""
+
+    dnl Determine the OpenSSL base directory, if any
+    AC_MSG_CHECKING([for user-provided OpenSSL base directory])
+    AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,OpenSSL base directory), [
+      dnl If --with-ssl specifies a directory, we use that directory
       if test "x$withval" != "xyes" -a "x$withval" != "x"; then
         dnl This ensures $withval is actually a directory and that it is absolute
-        ap_ssltk_base="`cd $withval ; pwd`"
+        ap_openssl_base="`cd $withval ; pwd`"
       fi
-      ap_ssltk_type="sslc"
     ])
-    AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,OpenSSL SSL/TLS toolkit), [
-      dnl If --with-ssl specifies a directory, we use that directory or fail
-      if test "x$withval" != "xyes" -a "x$withval" != "x"; then
-        dnl This ensures $withval is actually a directory and that it is absolute
-        ap_ssltk_base="`cd $withval ; pwd`"
-      fi
-    ])
-    if test "x$ap_ssltk_base" = "x"; then
+    if test "x$ap_openssl_base" = "x"; then
       AC_MSG_RESULT(none)
     else
-      AC_MSG_RESULT($ap_ssltk_base)
+      AC_MSG_RESULT($ap_openssl_base)
     fi
 
     dnl Run header and version checks
@@ -480,19 +471,19 @@ AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
     saved_LDFLAGS="$LDFLAGS"
     SSL_LIBS=""
 
-    dnl Before doing anything else, load in pkg-config variables (if not sslc).
-    if test "x$ap_ssltk_type" = "x" -a -n "$PKGCONFIG"; then
+    dnl Before doing anything else, load in pkg-config variables
+    if test -n "$PKGCONFIG"; then
       saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
-      if test "x$ap_ssltk_base" != "x" -a \
-              -f "${ap_ssltk_base}/lib/pkgconfig/openssl.pc"; then
+      if test "x$ap_openssl_base" != "x" -a \
+              -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
         dnl Ensure that the given path is used by pkg-config too, otherwise
         dnl the system openssl.pc might be picked up instead.
-        PKG_CONFIG_PATH="${ap_ssltk_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
+        PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
         export PKG_CONFIG_PATH
       fi
-      ap_ssltk_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
+      ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
       if test $? -eq 0; then
-        ap_ssltk_found="yes"
+        ap_openssl_found="yes"
         pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
         APR_ADDTO(CPPFLAGS, [$pkglookup])
         APR_ADDTO(INCLUDES, [$pkglookup])
@@ -502,105 +493,59 @@ AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
       fi
       PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
     fi
-    if test "x$ap_ssltk_base" != "x" -a "x$ap_ssltk_found" = "x"; then
-      APR_ADDTO(CPPFLAGS, [-I$ap_ssltk_base/include])
-      APR_ADDTO(INCLUDES, [-I$ap_ssltk_base/include])
-      APR_ADDTO(LDFLAGS, [-L$ap_ssltk_base/lib])
-      APR_ADDTO(SSL_LIBS, [-L$ap_ssltk_base/lib])
+
+    dnl fall back to the user-supplied directory if not found via pkg-config
+    if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
+      APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
+      APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include])
+      APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
+      APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib])
       if test "x$ap_platform_runtime_link_flag" != "x"; then
-        APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_ssltk_base/lib])
-        APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_ssltk_base/lib])
+        APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
+        APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
       fi
     fi
-    if test "x$ap_ssltk_type" = "x"; then
-      dnl First check for manditory headers
-      AC_CHECK_HEADERS([openssl/opensslv.h openssl/ssl.h], [ap_ssltk_type="openssl"], [])
-      if test "$ap_ssltk_type" = "openssl"; then
-        dnl so it's OpenSSL - test for a good version
-        AC_MSG_CHECKING([for OpenSSL version])
-        AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
+
+    AC_MSG_CHECKING([for OpenSSL version])
+    AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
 #if !defined(OPENSSL_VERSION_NUMBER)
-#error "Missing openssl version"
+#error "Missing OpenSSL version"
 #endif
 #if  (OPENSSL_VERSION_NUMBER < 0x009060af) \
  || ((OPENSSL_VERSION_NUMBER > 0x00907000) && (OPENSSL_VERSION_NUMBER < 0x0090702f))
 #error "Insecure openssl version " OPENSSL_VERSION_TEXT
 #endif],
-        [AC_MSG_RESULT(OK)],
-        [dnl Replace this with OPENSSL_VERSION_TEXT from opensslv.h?
-         AC_MSG_RESULT([not encouraging])
-         AC_MSG_WARN([OpenSSL version may contain security vulnerabilities!]
-                     [ Ensure the latest security patches have been applied!])
-        ])
-      else
-        AC_MSG_RESULT([no OpenSSL headers found])
-      fi
-    fi
-    if test "$ap_ssltk_type" != "openssl"; then
-      dnl Might be SSL-C - report, then test anything relevant
-      AC_CHECK_HEADERS([sslc.h], [ap_ssltk_type="sslc"], [ap_ssltk_type=""])
-      if test "$ap_ssltk_type" = "sslc"; then
-        ap_ssltk_libs="-lsslc"
-        AC_MSG_CHECKING([for SSL-C version])
-        AC_TRY_COMPILE([#include <sslc.h>],[
-#if !defined(SSLC_VERSION_NUMBER)
-#error "Missing SSL-C version"
-#endif
-#if SSLC_VERSION_NUMBER < 0x2310
-#define stringize_ver(x) #x
-#error "Insecure SSL-C version " stringize_ver(SSLC_VERSION_NUMBER)
-#endif],
-        [AC_MSG_RESULT(OK)],
-        [dnl Replace this with SSLC_VERSION_NUMBER?
-         AC_MSG_RESULT([not encouraging])
-         echo "WARNING: SSL-C version may contain security vulnerabilities!"
-         echo "         Ensure the latest security patches have been applied!"
-        ])
-      else
-        AC_MSG_RESULT([no SSL-C headers found])
-      fi
-    fi
-    if test "x$ap_ssltk_type" = "x"; then
-      ac_cv_ssltk="no"
-      AC_MSG_WARN([...No recognized SSL/TLS toolkit detected])
-    else
-      if test "$ap_ssltk_type" = "openssl" -a "x$ap_ssltk_found" = "x"; then
-        ap_ssltk_found="yes"
-        ap_ssltk_libs="-lssl -lcrypto `$apr_config --libs`"
-      fi
-      APR_ADDTO(SSL_LIBS, [$ap_ssltk_libs])
-      APR_ADDTO(LIBS, [$ap_ssltk_libs])
+      [AC_MSG_RESULT(OK)],
+      [dnl Replace this with OPENSSL_VERSION_TEXT from opensslv.h?
+       AC_MSG_RESULT([not encouraging])
+       AC_MSG_WARN([OpenSSL version may contain security vulnerabilities!]
+                   [ Ensure the latest security patches have been applied!])
+    ])
+
+    if test "x$ac_cv_openssl" = "xyes"; then
+      ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`"
+      APR_ADDTO(SSL_LIBS, [$ap_openssl_libs])
+      APR_ADDTO(LIBS, [$ap_openssl_libs])
       APACHE_SUBST(SSL_LIBS)
 
       dnl Run library and function checks
       liberrors=""
-      if test "$ap_ssltk_type" = "openssl"; then
-        AC_CHECK_HEADERS([openssl/engine.h])
-        AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
-        AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
-      else
-        AC_CHECK_FUNCS([SSLC_library_version SSL_CTX_new], [], [liberrors="yes"])
-        AC_CHECK_FUNCS(SSL_set_state)
-      fi
-      dnl restore
-      CPPFLAGS="$saved_CPPFLAGS"
-      LIBS="$saved_LIBS"
-      LDFLAGS="$saved_LDFLAGS"
+      AC_CHECK_HEADERS([openssl/engine.h])
+      AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
+      AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
       if test "x$liberrors" != "x"; then
-        ac_cv_ssltk=no
-        AC_MSG_WARN([... Error, SSL/TLS libraries were missing or unusable])
+        ac_cv_openssl=no
+        AC_MSG_WARN([OpenSSL libraries are unusable])
       fi
     fi
-  ])
 
-  if test "x$ac_cv_ssltk" = "xyes" ; then
-    dnl Adjust apache's configuration based on what we found above.
-    dnl (a) define preprocessor symbols
-    if test "$ap_ssltk_type" = "openssl"; then
-      AC_DEFINE(HAVE_OPENSSL, 1, [Define if SSL is supported using OpenSSL])
-    else
-      AC_DEFINE(HAVE_SSLC, 1, [Define if SSL is supported using SSL-C])
-    fi
+    dnl restore
+    CPPFLAGS="$saved_CPPFLAGS"
+    LIBS="$saved_LIBS"
+    LDFLAGS="$saved_LDFLAGS"
+  ])
+  if test "x$ac_cv_openssl" = "xyes"; then
+    AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
   fi
 ])
 
index 49ef6623ea136af342c23fac49c166d4233d3de7..c46377f27cf606665eb735729af4a370707b843c 100644 (file)
@@ -98,7 +98,6 @@ MAJOR CHANGES
      the original SSLProxy* directives
  o per-directory SSLCACertificate{File,Path} is now thread-safe but
    requires SSL_set_cert_store patch to OpenSSL
- o RSA sslc is supported via ssl_toolkit_compat.h
  o the ssl_engine_{ds,ext}.c source files are obsolete and no longer
    exist
 
index a518b91e651931b9e72ca56ae034fae33cd80079..5f6fb401212994ae077c5508c3313b7b044664c2 100644 (file)
@@ -44,8 +44,8 @@ ssl_util_ocsp.lo dnl
 "
 dnl #  hook module into the Autoconf mechanism (--enable-ssl option)
 APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , most, [
-    APACHE_CHECK_SSL_TOOLKIT
-    if test "$ac_cv_ssltk" = "yes" ; then
+    APACHE_CHECK_OPENSSL
+    if test "$ac_cv_openssl" = "yes" ; then
         APR_ADDTO(MOD_SSL_LDADD, [\$(SSL_LIBS)])
         CHECK_OCSP
         if test "x$enable_ssl" = "xshared"; then
index 65a063f84b0d06e3f7e27bf3a3a7adea5cb5bd32..84accdbbb2398f4ced8f31dded74e26795583ba8 100644 (file)
@@ -250,14 +250,12 @@ static apr_status_t ssl_cleanup_pre_config(void *data)
     /*
      * Try to kill the internals of the SSL library.
      */
-#ifdef HAVE_OPENSSL
 #if OPENSSL_VERSION_NUMBER >= 0x00907001
     /* Corresponds to OPENSSL_load_builtin_modules():
      * XXX: borrowed from apps.h, but why not CONF_modules_free()
      * which also invokes CONF_modules_finish()?
      */
     CONF_modules_unload(1);
-#endif
 #endif
     /* Corresponds to SSL_library_init: */
     EVP_cleanup();
@@ -292,19 +290,15 @@ static int ssl_hook_pre_config(apr_pool_t *pconf,
      * code can successfully test the SSL environment.
      */
     CRYPTO_malloc_init();
-#ifdef HAVE_OPENSSL
     ERR_load_crypto_strings();
-#endif
     SSL_load_error_strings();
     SSL_library_init();
 #if HAVE_ENGINE_LOAD_BUILTIN_ENGINES
     ENGINE_load_builtin_engines();
 #endif
-#ifdef HAVE_OPENSSL
     OpenSSL_add_all_algorithms();
 #if OPENSSL_VERSION_NUMBER >= 0x00907001
     OPENSSL_load_builtin_modules();
-#endif
 #endif
 
     /*
index 67f72eaa29b02710041c8b2069466e35683ec7bc..f0fb8629f749d239730bfe1f717b57f76d0d180e 100644 (file)
@@ -895,7 +895,7 @@ static int ssl_server_import_key(server_rec *s,
     if (idx == SSL_AIDX_ECC)
       pkey_type = EVP_PKEY_EC;
     else
-#endif /* SSL_LIBRARY_VERSION */
+#endif
     pkey_type = (idx == SSL_AIDX_RSA) ? EVP_PKEY_RSA : EVP_PKEY_DSA;
 
     if (!(asn1 = ssl_asn1_table_get(mc->tPrivateKey, id))) {
@@ -1265,18 +1265,11 @@ void ssl_init_CheckServers(server_rec *base_server, apr_pool_t *p)
     }
 }
 
-#ifdef SSLC_VERSION_NUMBER
-static int ssl_init_FindCAList_X509NameCmp(char **a, char **b)
-{
-    return(X509_NAME_cmp((void*)*a, (void*)*b));
-}
-#else
 static int ssl_init_FindCAList_X509NameCmp(const X509_NAME * const *a, 
                                            const X509_NAME * const *b)
 {
     return(X509_NAME_cmp(*a, *b));
 }
-#endif
 
 static void ssl_init_PushCAList(STACK_OF(X509_NAME) *ca_list,
                                 server_rec *s, const char *file)
index bb2933a15cfa6b46bcda43ef241b174f3f4c1242..2b32706ed17f6f9671d1bb9b13b44bb42246c82d 100644 (file)
@@ -277,9 +277,7 @@ static BIO_METHOD bio_filter_out_method = {
     bio_filter_out_ctrl,
     bio_filter_create,
     bio_filter_destroy,
-#ifdef OPENSSL_VERSION_NUMBER
-    NULL /* sslc does not have the callback_ctrl field */
-#endif
+    NULL
 };
 
 typedef struct {
@@ -531,9 +529,7 @@ static BIO_METHOD bio_filter_in_method = {
     NULL,                       /* ctrl is never called */
     bio_filter_create,
     bio_filter_destroy,
-#ifdef OPENSSL_VERSION_NUMBER
-    NULL /* sslc does not have the callback_ctrl field */
-#endif
+    NULL
 };
 
 
index af1e77d11c51ff54b668485a1d99ab9541598ceb..eaed7ae86f1842a550db5f024031d22fa5af0458 100644 (file)
@@ -1671,11 +1671,8 @@ int ssl_callback_SSLVerify_CRL(int ok, X509_STORE_CTX *ctx, conn_rec *c)
          */
         pubkey = X509_get_pubkey(cert);
         rc = X509_CRL_verify(crl, pubkey);
-#ifdef OPENSSL_VERSION_NUMBER
-        /* Only refcounted in OpenSSL */
         if (pubkey)
             EVP_PKEY_free(pubkey);
-#endif
         if (rc <= 0) {
             ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s,
                          "Invalid signature on CRL");
index f8637af605025008afd280dc4a9967d9d2c9f9e2..0a60f66ff9521819f4f85eba9e8c5ed7e07d609c 100644 (file)
@@ -109,11 +109,7 @@ static apr_file_t *readtty = NULL;
  */
 static server_rec *ssl_pphrase_server_rec = NULL;
 
-#ifdef SSLC_VERSION_NUMBER
-int ssl_pphrase_Handle_CB(char *, int, int);
-#else
 int ssl_pphrase_Handle_CB(char *, int, int, void *);
-#endif
 
 static char *pphrase_array_get(apr_array_header_t *arr, int idx)
 {
@@ -649,14 +645,8 @@ static int pipe_get_passwd_cb(char *buf, int length, char *prompt, int verify)
     return 0;
 }
 
-#ifdef SSLC_VERSION_NUMBER
-int ssl_pphrase_Handle_CB(char *buf, int bufsize, int verify)
-{
-    void *srv = ssl_pphrase_server_rec;
-#else
 int ssl_pphrase_Handle_CB(char *buf, int bufsize, int verify, void *srv)
 {
-#endif
     SSLModConfigRec *mc;
     server_rec *s;
     apr_pool_t *p;
index 34f33cf2a88342229684de608470c2438cfc879c..bdaa2fdb403cb5f448df206f4024f462d25e3550 100644 (file)
@@ -944,7 +944,6 @@ apr_array_header_t *ssl_ext_list(apr_pool_t *p, conn_rec *c, int peer,
 static char *ssl_var_lookup_ssl_compress_meth(SSL *ssl)
 {
     char *result = "NULL";
-#ifdef OPENSSL_VERSION_NUMBER
 #if (OPENSSL_VERSION_NUMBER >= 0x00908000)
     SSL_SESSION *pSession = SSL_get_session(ssl);
 
@@ -969,7 +968,6 @@ static char *ssl_var_lookup_ssl_compress_meth(SSL *ssl)
             break;
         }
     }
-#endif
 #endif
     return result;
 }
index 5dcc65e90f73da2a2ddd7db253fb29f157fc2902..98c8eb94f1f05732123c13f93188bfc636ff1372 100644 (file)
@@ -194,7 +194,7 @@ typedef int ssl_algo_t;
 #define SSL_ALGO_ALL     (SSL_ALGO_RSA|SSL_ALGO_DSA|SSL_ALGO_ECC)
 #else
 #define SSL_ALGO_ALL     (SSL_ALGO_RSA|SSL_ALGO_DSA)
-#endif /* SSL_LIBRARY_VERSION */
+#endif
 
 #define SSL_AIDX_RSA     (0)
 #define SSL_AIDX_DSA     (1)
@@ -203,7 +203,7 @@ typedef int ssl_algo_t;
 #define SSL_AIDX_MAX     (3)
 #else
 #define SSL_AIDX_MAX     (2)
-#endif /* SSL_LIBRARY_VERSION */
+#endif
 
 
 /**
@@ -671,7 +671,7 @@ RSA         *ssl_callback_TmpRSA(SSL *, int, int);
 DH          *ssl_callback_TmpDH(SSL *, int, int);
 #ifndef OPENSSL_NO_EC
 EC_KEY      *ssl_callback_TmpECDH(SSL *, int, int);
-#endif /* SSL_LIBRARY_VERSION */
+#endif
 int          ssl_callback_SSLVerify(int, X509_STORE_CTX *);
 int          ssl_callback_SSLVerify_CRL(int, X509_STORE_CTX *, conn_rec *);
 int          ssl_callback_proxy_cert(SSL *ssl, MODSSL_CLIENT_CERT_CB_ARG_TYPE **x509, EVP_PKEY **pkey);
index a31258a609f232fb31838f7ecc86924a5a53c6da..69cfc25c035480406f39572bfb8d2fbcc0395eba 100644 (file)
 /**
  * @file ssl_toolkit_compat.h 
  * @brief this header file provides a compatiblity layer
- *        between OpenSSL and RSA sslc
  *
  * @defgroup MOD_SSL_TOOLKIT Toolkit
  * @ingroup  MOD_SSL
  * @{
  */
 
-#ifdef HAVE_OPENSSL
-
 /** OpenSSL headers */
 #include <openssl/ssl.h>
 #include <openssl/err.h>
@@ -181,115 +178,6 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int,void*);
 #endif
 #endif
 
-#elif defined(HAVE_SSLC)
-
-#include <bio.h>
-#include <ssl.h>
-#include <err.h>
-#include <x509.h>
-#include <pem.h>
-#include <evp.h>
-#include <objects.h>
-#include <sslc.h>
-
-/** sslc does not support this function, OpenSSL has since 9.5.1 */
-#define RAND_status() 1
-
-/** sslc names this function a bit differently */
-#define CRYPTO_num_locks() CRYPTO_get_num_locks()
-
-#ifndef STACK_OF
-#define STACK_OF(type) STACK
-#endif
-
-#define MODSSL_BIO_CB_ARG_TYPE char
-#define MODSSL_CRYPTO_CB_ARG_TYPE char
-#define MODSSL_INFO_CB_ARG_TYPE SSL*
-#define MODSSL_CLIENT_CERT_CB_ARG_TYPE void
-#define MODSSL_PCHAR_CAST (char *)
-#define MODSSL_D2I_SSL_SESSION_CONST
-#define MODSSL_D2I_PrivateKey_CONST
-#define MODSSL_D2I_X509_CONST
-
-typedef int (modssl_read_bio_cb_fn)(char*,int,int);
-
-#define modssl_X509_verify_cert(c) X509_verify_cert(c, NULL)
-
-#define modssl_PEM_read_bio_X509(b, x, cb, arg) \
-   PEM_read_bio_X509(b, x, cb)
-
-#define modssl_PEM_X509_INFO_read_bio(b, x, cb, arg)\
-   PEM_X509_INFO_read_bio(b, x, cb)
-
-#define modssl_PEM_read_bio_PrivateKey(b, k, cb, arg) \
-   PEM_read_bio_PrivateKey(b, k, cb)
-
-#ifndef HAVE_SSL_SET_STATE
-#define SSL_set_state(ssl, state) /** XXX: should throw an error */
-#endif
-
-#define modssl_set_cipher_list(ssl, l) \
-   SSL_set_cipher_list(ssl, (char *)l)
-
-#define modssl_free free
-
-#ifndef PEM_F_DEF_CALLBACK
-#define PEM_F_DEF_CALLBACK PEM_F_DEF_CB
-#endif
-
-#if SSLC_VERSION_NUMBER < 0x2000
-
-#define X509_STORE_CTX_set_depth(st, d)    
-#define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate)
-#define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate)
-#define X509_CRL_get_REVOKED(x)    ((x)->crl->revoked)
-#define X509_REVOKED_get_serialNumber(xs) (xs->serialNumber)
-
-#define modssl_set_verify(ssl, verify, cb) \
-    SSL_set_verify(ssl, verify)
-
-#else /** SSLC_VERSION_NUMBER >= 0x2000 */
-
-#define CRYPTO_malloc_init R_malloc_init
-
-#define EVP_cleanup() 
-
-#endif /** SSLC_VERSION_NUMBER >= 0x2000 */
-
-typedef void (*modssl_popfree_fn)(char *data);
-
-#define sk_SSL_CIPHER_dup sk_dup
-#define sk_SSL_CIPHER_find(st, data) sk_find(st, (void *)data)
-#define sk_SSL_CIPHER_free sk_free
-#define sk_SSL_CIPHER_num sk_num
-#define sk_SSL_CIPHER_value (SSL_CIPHER *)sk_value
-#define sk_X509_num sk_num
-#define sk_X509_push sk_push
-#define sk_X509_pop_free(st, free) sk_pop_free((STACK*)(st), (modssl_popfree_fn)(free))
-#define sk_X509_value (X509 *)sk_value
-#define sk_X509_INFO_free sk_free
-#define sk_X509_INFO_pop_free(st, free) sk_pop_free((STACK*)(st), (modssl_popfree_fn)(free))
-#define sk_X509_INFO_num sk_num
-#define sk_X509_INFO_new_null sk_new_null
-#define sk_X509_INFO_value (X509_INFO *)sk_value
-#define sk_X509_NAME_find(st, data) sk_find(st, (void *)data)
-#define sk_X509_NAME_free sk_free
-#define sk_X509_NAME_new sk_new
-#define sk_X509_NAME_num sk_num
-#define sk_X509_NAME_push(st, data) sk_push(st, (void *)data)
-#define sk_X509_NAME_value (X509_NAME *)sk_value
-#define sk_X509_NAME_ENTRY_num sk_num
-#define sk_X509_NAME_ENTRY_value (X509_NAME_ENTRY *)sk_value
-#define sk_X509_NAME_set_cmp_func sk_set_cmp_func
-#define sk_X509_REVOKED_num sk_num
-#define sk_X509_REVOKED_value (X509_REVOKED *)sk_value
-
-#else /** ! HAVE_OPENSSL && ! HAVE_SSLC */
-
-#error "Unrecognized SSL Toolkit!"
-
-#endif /* ! HAVE_OPENSSL && ! HAVE_SSLC */
-
 #ifndef modssl_set_verify
 #define modssl_set_verify(ssl, verify, cb) \
     SSL_set_verify(ssl, verify, cb)
index 2b6ad0ba8f021e2734fa5c4ae5a24e72d5bf7f91..0360964c8221abb3cfc9d53ca3d75d19f986fee0 100644 (file)
@@ -159,11 +159,8 @@ ssl_algo_t ssl_util_algotypeof(X509 *pCert, EVP_PKEY *pKey)
                 break;
         }
     }
-#ifdef OPENSSL_VERSION_NUMBER
-    /* Only refcounted in OpenSSL */
     if (pFreeKey != NULL)
         EVP_PKEY_free(pFreeKey);
-#endif
     return t;
 }
 
@@ -338,18 +335,8 @@ STACK_OF(X509) *ssl_read_pkcs7(server_rec *s, const char *pkcs7)
 static apr_thread_mutex_t **lock_cs;
 static int                  lock_num_locks;
 
-#ifdef HAVE_SSLC
-#if SSLC_VERSION_NUMBER >= 0x2000
-static int ssl_util_thr_lock(int mode, int type,
-                             char *file, int line)
-#else
-static void ssl_util_thr_lock(int mode, int type,
-                              char *file, int line)
-#endif
-#else
 static void ssl_util_thr_lock(int mode, int type,
                               const char *file, int line)
-#endif
 {
     if (type < lock_num_locks) {
         if (mode & CRYPTO_LOCK) {
@@ -358,14 +345,6 @@ static void ssl_util_thr_lock(int mode, int type,
         else {
             apr_thread_mutex_unlock(lock_cs[type]);
         }
-#ifdef HAVE_SSLC
-#if SSLC_VERSION_NUMBER >= 0x2000
-        return 1;
-    }
-    else {
-        return -1;
-#endif
-#endif
     }
 }
 
index 62cd0de383971db631b5111e957d4df413152aa9..4373c4fff2f4c5ca4e0eb2bd77faf5ffea04226c 100644 (file)
@@ -535,24 +535,11 @@ char *SSL_SESSION_id2sz(unsigned char *id, int idlen,
     *cp = NUL;
     return str;
 }
-
-/* sslc+OpenSSL compat */
-
 int modssl_session_get_time(SSL_SESSION *session)
 {
-#ifdef OPENSSL_VERSION_NUMBER
     return SSL_SESSION_get_time(session);
-#else /* assume sslc */
-    CRYPTO_TIME_T ct;
-    SSL_SESSION_get_time(session, &ct);
-    return CRYPTO_time_to_int(&ct);
-#endif
 }
 
-#ifndef SSLC_VERSION_NUMBER
-#define SSLC_VERSION_NUMBER 0x0000
-#endif
-
 DH *modssl_dh_configure(unsigned char *p, int plen,
                         unsigned char *g, int glen)
 {
@@ -562,17 +549,12 @@ DH *modssl_dh_configure(unsigned char *p, int plen,
         return NULL;
     }
 
-#if defined(OPENSSL_VERSION_NUMBER) || (SSLC_VERSION_NUMBER < 0x2000)
     dh->p = BN_bin2bn(p, plen, NULL);
     dh->g = BN_bin2bn(g, glen, NULL);
     if (!(dh->p && dh->g)) {
         DH_free(dh);
         return NULL;
     }
-#else
-    R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_P, 0, p, plen, R_EITEMS_PF_COPY);
-    R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_G, 0, g, glen, R_EITEMS_PF_COPY);
-#endif
 
     return dh;
 }
index cabfb27c918046ca28821824179aa27b55d50807..c56b5a043599e150cdd343dbc3f750ec247ccb0a 100644 (file)
 #define __SSL_UTIL_SSL_H__
 
 /**
- * Determine SSL library version number
+ * SSL library version number
  */
-#define SSL_NIBBLE(x,n) ((x >> (n * 4)) & 0xF)
 
-#ifdef OPENSSL_VERSION_NUMBER
 #define SSL_LIBRARY_VERSION OPENSSL_VERSION_NUMBER
 #define SSL_LIBRARY_NAME    "OpenSSL"
 #define SSL_LIBRARY_TEXT    OPENSSL_VERSION_TEXT
 #define SSL_LIBRARY_DYNTEXT SSLeay_version(SSLEAY_VERSION)
-#elif defined(SSLC_VERSION_NUMBER)
-#define SSL_LIBRARY_VERSION SSLC_VERSION_NUMBER
-#define SSL_LIBRARY_NAME    "SSL-C"
-#define SSL_LIBRARY_TEXT    { 'S', 'S', 'L', '-', 'C', ' ', \
-                              '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,3), '.', \
-                              '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,2), '.', \
-                              '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,1), '.', \
-                              '0' + SSL_NIBBLE(SSLC_VERSION_NUMBER,0), 0 }
-#define SSL_LIBRARY_DYNTEXT SSLC_library_info(SSLC_INFO_VERSION)
-#elif !defined(SSL_LIBRARY_VERSION)
-#define SSL_LIBRARY_VERSION 0x0000
-#define SSL_LIBRARY_NAME    "OtherSSL"
-#define SSL_LIBRARY_TEXT    "OtherSSL 0.0.0 00 XXX 0000"
-#define SSL_LIBRARY_DYNTEXT "OtherSSL 0.0.0 00 XXX 0000"
-#endif
 
 /**
  *  Maximum length of a DER encoded session.
@@ -92,7 +75,6 @@ BOOL        SSL_X509_INFO_load_path(apr_pool_t *, STACK_OF(X509_INFO) *, const c
 int         SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, modssl_read_bio_cb_fn *);
 char       *SSL_SESSION_id2sz(unsigned char *, int, char *, int);
 
-/** util functions for OpenSSL+sslc compat */
 int modssl_session_get_time(SSL_SESSION *session);
 
 DH *modssl_dh_configure(unsigned char *p, int plen,
index f1ccd678cfa85630f6b5e6afddd0524061d5b679..ed3b265279d6dcb3c2a3ebe7ea2ec6272e0f722b 100644 (file)
 #include "ap_config_auto.h"
 #endif
 
-#if defined(HAVE_SSLC)
-
-/* Libraries for RSA SSL-C */
-#include <rsa.h>
-#include <x509.h>
-#include <pem.h>
-#include <err.h>
-#include <ssl.h>
-#include <r_rand.h>
-#include <sslc.h>
-#define USE_SSL
-#define RSAREF
-#define SK_NUM(x) sk_num(x)
-#define SK_VALUE(x,y) sk_value(x,y)
-typedef STACK X509_STACK_TYPE;
-
-#elif defined(HAVE_OPENSSL)
+#if defined(HAVE_OPENSSL)
 
-/* Libraries on most systems.. */
 #include <openssl/rsa.h>
 #include <openssl/crypto.h>
 #include <openssl/x509.h>