Commit Graph

3575 Commits (lighttpd-1.4.56-rc7)
 

Author SHA1 Message Date
Glenn Strauss d9c8e38253 [build] meson --with-xxhash option 3 years ago
Glenn Strauss 07622251b0 [build] option to use system-provided libxxhash
--with-xxhash
3 years ago
Glenn Strauss 7ff2a467c9 [build] fix typo in configure.ac 3 years ago
Glenn Strauss 28b086aa26 [core] use system xxhash lib if available 3 years ago
Glenn Strauss bcac9b5785 [core] set NSS_VER_INCLUDE after crypto lib select 3 years ago
Glenn Strauss 8187e98897 [multiple] include wolfssl/options.h after select
include wolfssl/options.h crypto lib config
after selecting crypto lib to use

wolfSSL does not prefix its defines with a wolfSSL-specific namespace
(so we would like to avoid unnecessarily polluting preproc namespace)

This commit further isolates wolfSSL after split from mod_openssl.
Cleans up some preprocessor logic that was put in place when using
the wolfSSL compatibility layer for openssl, before creating a
dedicated mod_wolfssl.
3 years ago
Glenn Strauss 6fb63fa8d6 [multiple] include mbedtls/config.h after select
include mbedtls/config.h crypto lib config
after selecting crypto lib to use
3 years ago
Glenn Strauss 441c95c697 [multiple] consistent order for crypto lib select 3 years ago
Glenn Strauss e726a41a74 [core] adjust wolfssl workaround for another case
adjust wolfssl types.h workaround for another edge case
3 years ago
Glenn Strauss 78b13b610c [core] move misplaced error trace to match option
(thx grohne)
3 years ago
Glenn Strauss e9590277ca [core] workaround fragile code in wolfssl types.h
workaround fragile code in wolfssl/wolfcrypto/types.h

Including header blows up compile in 32-bit when lighttpd meson build
in OpenWRT on a 32-bit platform generates lighttpd config.h containing
define of SIZEOF_LONG, but not SIZEOF_LONG_LONG, and the wolfssl types.h
flubs and fails to choose an enum value used by a macro that is unused
by most consumers of the wolfssl header.
3 years ago
Glenn Strauss 31fc3a0773 [TLS] server.feature-flags "ssl.session-cache"
disabled by default, but can be enabled
(session tickets should be preferred)

applies to mod_openssl, mod_wolfssl, mod_nss

session cache is not currently implemented in mod_mbedtls or mod_gnutls
3 years ago
Glenn Strauss 1d27391c29 [mod_mbedtls] wrap addtl code in preproc defines
wrap additional code in preprocessor defines to check if enabled in lib
3 years ago
Glenn Strauss 3353ff2024 [build] adjust meson.build for use by OpenWRT 3 years ago
Glenn Strauss babfb43873 [build] WITHOUT_LIB_CRYPTO option in code
(not (yet?) an end-user option in the build system)
(If extended to build system, build system should also unset CRYPTO_LIB)

If WITHOUT_LIB_CRYPTO is defined in sys-crypto.h, then non-TLS modules
will have access to MD5() and SHA1() built with lighttpd (algo_md5.[ch]
and algo_sha1.[ch]), but not to other message digest algorithms.

As of this commit, this affects only mod_secdownload with SHA256 digest
and mod_auth* modules using HTTP Digest Auth with digest=SHA-256, which
is not currently well-supported by client browers (besides Opera)
3 years ago
Glenn Strauss 31a7f0d43c [build] detect nss3/nss.h or nss/nss.h for NSS 3 years ago
Glenn Strauss 75c29505be [build] CMake use pkg_check_modules() w/ wolfssl 3 years ago
Glenn Strauss 07f40eaf9a [build] CMake mod_openssl, mod_wolfssl can coexist 3 years ago
Glenn Strauss e130124892 [build] add --with-brotli to meson.build 3 years ago
Glenn Strauss db7252ec13 [build] fix lib paths for GnuTLS, NSS
(thx dirk)
3 years ago
Glenn Strauss 1f1b3bcc55 [mod_secdownload] fix compile w/ NSS on FreeBSD
(thx dirk)

nss/alghmac.h might not exist
3 years ago
Glenn Strauss 988fa8ecfa [mod_wolfssl] need to build --enable-alpn for ALPN
need to build wolfSSL library with --enable-alpn for ALPN
even if already building wolfSSL library with --enable-openssall
(sigh)

ALPN is required by the HTTP/2 specification
3 years ago
Glenn Strauss 17d8d9c919 [mod_wolfssl] cripple SNI if not built OPENSSL_ALL
crippled functionality if wolfssl library not built --enable-opensslall
* SNI not handled since SNI callbacks are disabled in wolfSSL library
  unless the wolfSSL library is built with --enable-openssall

  This means that there is only one certificate per listening socket --
  no certificate selection based on server name indication (SNI)
  and is additionally a violation of the HTTP/2 specification,
  which requires SNI.

slightly reduced functionality if wolfssl not built --enable-opensslall
* disable client certificate verification (error out if in lighttpd.conf)
* omit SSL_CIPHER_USEKEYSIZE, SSL_CIPHER_ALGKEYSIZE env vars
3 years ago
Glenn Strauss 1221bd6e40 [mod_wolfssl] use more wolfssl/options.h defines 3 years ago
Glenn Strauss 8f31ed7fe1 [build] use pkg-config with wolfssl 3 years ago
Glenn Strauss a1f6d1322a [build] mark dependencies on crypto lib for MD5()
(lighttpd base executable depends on crypto lib for rand functionality,
 so the crypto library was already being loaded -- no missing symbols)
3 years ago
Glenn Strauss 2576b2c3d0 [tests] OpenBSD crypt() support limited to bcrypt
OpenBSD crypt() does not support (insecure) crypt-des or crypt-md5
3 years ago
Glenn Strauss 1fad70f4f7 [core] STAILQ_* -> SIMPLEQ_* on OpenBSD
(thx brad)
3 years ago
Glenn Strauss 008533e355 [doc] NEWS 3 years ago
Glenn Strauss 48384c7e2f [core] fix (startup) mem leaks in configparser.y
(thx stbuehler)
3 years ago
Glenn Strauss 949662d27e [multiple] add some missing config cleanup
(thx stbuehler)
3 years ago
Glenn Strauss 55fb46f695 [mod_accesslog] update defaults after cycling log
(thx avij)

must update the cached copy of global scope config after cycling log.
Although (accesslog_st *) is modified in-place, the log_access_fd member
of (accesslog_st *) is copied into the cache and must be updated after
cycling logs in the global scope.
3 years ago
Glenn Strauss 61f7d531eb [mod_mbedtls] newer mbedTLS vers support TLSv1.3 3 years ago
Glenn Strauss 0a2aab88d2 [core] silence coverity warnings (another try) 3 years ago
Glenn Strauss ad62991a5b [mod_webdav] define _NETBSD_SOURCE on NetBSD
NetBSD dirent.h improperly hides fdopendir() (POSIX.1-2008) declaration
which should be visible w/ _XOPEN_SOURCE 700 or _POSIX_C_SOURCE 200809L
3 years ago
Glenn Strauss 7adc66259e [build] more portable autogen.sh shell script
Use more portable shell function definition, better supported by /bin/sh

Some /bin/sh, e.g. dash, do not support trap on ERR,
so that will issue some trace and will not trigger on ERR,
but the rest of the script runs fine.
3 years ago
Glenn Strauss f65b054887 [mod_nss] more nss includes fixes 3 years ago
Glenn Strauss 033209393e [multiple] test for nss includes
some distro packages deploy NSS includes under nss/, others nss3/
(and similar for nspr/ vs nspr4/)
3 years ago
Glenn Strauss fef1a94509 [doc] /var/run -> /run 3 years ago
Glenn Strauss 0158c7f0fd [build] remove svnversion from versionstamp rule 3 years ago
Glenn Strauss 8dae5bd405 [doc] replace bzip2 refs with brotli 3 years ago
Glenn Strauss dab212b5f5 [doc] change mod_compress refs to mod_deflate 3 years ago
Glenn Strauss 23fdff645a [core] init NSS lib for basic crypto algorithms
basic algorithms fail if NSS library has not been init'd (WTH)

lighttpd defers initialization of rand and crypto until first use
to attempt to avoid long, blocking init at startup while waiting
for sufficient system entropy to become available
3 years ago
Glenn Strauss 9868d3b348 [core] add missing declaration for NSS rand
(bug on master branch; never released)
3 years ago
Glenn Strauss 2209c0cf6e [core] use inline funcs in sys-crypto-md.h
use inline funcs in sys-crypto-md.h for consistency
and to avoid compiler warnings when result is ignored
3 years ago
Glenn Strauss f98dff9bc3 [mod_mbedtls] quiet unused variable warning 3 years ago
Glenn Strauss 8f7019adf0 [core] fix fd sharing when splitting file chunk
(bug on master branch; never released)

fix fd sharing in chunkqueue_steal_partial_file_chunk()
3 years ago
Glenn Strauss 0f82722f5f [core] silence coverity warnings (another try) 3 years ago
Glenn Strauss fb7e5a7832 [core] silence coverity warnings in ls-hpack
The code originates from https://github.com/litespeedtech/ls-hpack
and is explicitly documented as not needing to be initialized.

x-ref:
  634c69215f
  d92883ca10
3 years ago
Glenn Strauss af04e0b0e1 [core] silence coverity warnings (false positives) 3 years ago