Browse Source

[mod_openssl] add support for wolfSSL

requires wolfSSL library version 3.15.3 or later
https://www.wolfssl.com/
https://github.com/wolfSSL/wolfssl

(thx dgarske)

x-ref:
  "Adds support for building Lighttpd with wolfSSL"
  https://github.com/lighttpd/lighttpd1.4/pull/92
personal/stbuehler/fix-fdevent
Glenn Strauss 3 years ago
parent
commit
0074b6d342
  1. 2
      src/mod_authn_file.c
  2. 14
      src/mod_openssl.c
  3. 10
      src/sys-crypto.h

2
src/mod_authn_file.c

@ -645,6 +645,7 @@ static handler_t mod_authn_file_htpasswd_basic(server *srv, connection *con, voi
#endif
#endif
#ifdef USE_OPENSSL_CRYPTO /* (for MD4_*() (e.g. MD4_Update())) */
#ifndef NO_MD4 /*(e.g. wolfSSL built without MD4)*/
if (0 == memcmp(password->ptr, CONST_STR_LEN("$1+ntlm$"))) {
/* CRYPT-MD5-NTLM algorithm
* This algorithm allows for the construction of (slight more)
@ -696,6 +697,7 @@ static handler_t mod_authn_file_htpasswd_basic(server *srv, connection *con, voi
}
}
else
#endif
#endif
{
#if defined(HAVE_CRYPT_R)

14
src/mod_openssl.c

@ -10,6 +10,17 @@
#endif
#endif
#include "sys-crypto.h"
#ifdef HAVE_WOLFSSL_SSL_H
#include <openssl/bio.h>
#include <openssl/objects.h>
#include <openssl/pem.h>
#ifdef NO_OLD_SSL_NAMES
#define SSL_OP_NO_SSLv2 WOLFSSL_OP_NO_SSLv2
#endif
#endif
#include <openssl/ssl.h>
#include <openssl/bn.h>
#include <openssl/err.h>
@ -108,6 +119,9 @@ handler_ctx_free (handler_ctx *hctx)
INIT_FUNC(mod_openssl_init)
{
plugin_data_singleton = (plugin_data *)calloc(1, sizeof(plugin_data));
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
return plugin_data_singleton;
}

10
src/sys-crypto.h

@ -6,4 +6,14 @@
#define USE_OPENSSL_CRYPTO
#endif
#ifdef HAVE_WOLFSSL_SSL_H
#define USE_OPENSSL_CRYPTO
/* wolfSSL needs to be built with ./configure --enable-lighty for lighttpd.
* Doing so defines OPENSSL_EXTRA and HAVE_LIGHTY in <wolfssl/options.h>, and
* these defines are necessary for wolfSSL headers to expose sufficient openssl
* compatibility layer for wolfSSL to be able to provide an openssl substitute
* for use by lighttpd */
#include <wolfssl/options.h>
#endif
#endif

Loading…
Cancel
Save