| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
check FORCE_WOLFSSL_CRYPTO and FORCE_MBEDTLS_CRYPTO when choosing
cryptolib
todo: should also apply to lighttpd autoconf, CMake, SCONS builds
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use posix_spawn() where available
use posix_spawn_file_actions_addfchdir_np() where available
Using posix_spawn() reduces initial execution overhead of CGI programs;
posix_spawn() is often faster than application code wrapping and calling
traditional fork(),execve().
(history: fdevent.c posix_spawn code based on fdio.c:fdio_ipc_spawn()
from 2015 on one of my unpublished branches. The inability to chdir()
delayed inclusion in lighttpd, as the CGI specification says:
"The current working directory for the script SHOULD be set
to the directory containing the script."
e.g. chdir() to target program directory before CGI execution)
posix_spawn_file_actions_addfchdir_np() is a new(er) extension supported
in glibc 2.29+, musl libc, FreeBSD ≥ 13.1, macOS ≥ 10.15 according to
https://cygwin.com/pipermail/cygwin/2023-April/253505.html
https://cygwin.com/pipermail/cygwin/2023-April/253526.html
https://sourceware.org/bugzilla/show_bug.cgi?id=17405
POSIX Issue 8 plans to include posix_spawn_file_actions_addfchdir():
https://www.austingroupbugs.net/view.php?id=1208
|
|
|
|
|
|
| |
- static build option under cygwin
- _WIN32 build more modules with BUILD_STATIC
- _WIN32 remove older build config
|
|
|
|
|
|
| |
(mod_h2 module now available as build artifact of shared lib build,
but is not yet used by lighttpd, in order to give package maintainers
a chance to update release packages to contain mod_h2)
|
|
|
|
|
|
|
|
|
| |
skip building separate modules for built-in modules
Small modules with minimal dependencies are now built-in to lighttpd.
All 12 of these modules have a memory footprint that is approximately
the same as 1 single module built as a .dll due to mandatory minimum
binary sections and memory page sizes (4k each).
|
| |
|
| |
|
| |
|
|
|
|
| |
(no longer used at the moment)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In dynamic build of lighttpd, at runtime each loaded lighttpd module .so
takes at least (5) 4k memory pages on x86_64. That is at least 20k per
module. Building 10 small core modules into lighttpd adds less than 16k
.text total, and adding mod_fastcgi and mod_scgi totals less than 20k
.text (plus an extra 4k .rodata page). The end result is that memory
usage is almost the same if only mod_staticfile is used, and 20k or so
is saved for each additional module used if among those built into
lighttpd executable.
For now, the standalone .so modules continue to be built, even though
not used by the lighttpd executable. This is done in order to give
distros time to update packaging scripts and transition to not
expecting the builtin module artifacts to be produced or installed as
part of the distro lighttpd package.
|
|
|
|
| |
lighttpd directly uses native OS event handlers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
remove deprecated modules:
mod_evasive
mod_secdownload
mod_uploadprogress
mod_usertrack
These scheduled lighttpd behavior changes have been announced over
the past year:
* Continue gradual deprecation of "mini-application" lighttpd modules
for which mod_magnet lua implementations are better and more flexible.
Please post on lighttpd forums to share feedback if you use these modules.
Forums: https://redmine.lighttpd.net/projects/lighttpd/boards
* Deprecated: mod_evasive has been removed.
mod_evasive can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_evasive
https://wiki.lighttpd.net/AbsoLUAtion#Fight-DDoS
https://wiki.lighttpd.net/AbsoLUAtion#Mod_Security
* Deprecated: mod_secdownload has been removed.
mod_secdownload can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_secdownload
mod_secdownload historically uses insecure MD5 though SHA1, SHA256 available
* Deprecated: mod_uploadprogress has been removed.
mod_uploadprogress can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_uploadprogress
* Deprecated: mod_usertrack has been removed.
mod_usertrack can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_usertrack
mod_usertrack historically uses insecure MD5.
|
|
|
|
|
|
| |
This header and the define are not used anywhere.
github: #121
|
| |
|
|
|
|
|
|
|
|
| |
Allows muon's fmt to sort files alphabetically.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: #120
|
|
|
|
|
|
|
|
|
|
|
|
| |
Shorter and less error prone. Removed the get() calls as has_function
will fail if the header is missing anyway.
Fixed clock_gettime header check. Needs _GNU_SOURCE to detect.
Co-authored-by: Glenn Strauss <gstrauss@gluelogic.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: closes #120
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes meson error:
Unknown method "found" in object <[ArrayHolder] holds [list]:
[<ExternalLibrary fam: False>]> of type ArrayHolder.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: #120
|
|
|
|
|
|
|
|
| |
Put everything in a function. Less error prone.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: #116
|
|
|
|
|
|
|
|
|
| |
A single with_pcre option is better than with_pcre2 and with_pcre,
but retain with_pcre2 for compatibility with existing usage
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: #116
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simpler. Fixed up several wrong stuff such as
zstd - wrong name
zlib - extra windows handling unnecessary;
dependency('zlib') is special and handles those cases
sasl2 - wrong name
Signed-off-by: Rosen Penev <rosenp@gmail.com>
github: #116
|
|
|
|
|
|
|
| |
lighttpd code is not tested for binary compatibility between releases
Set a per-version LIGHTTPD_VERSION_ID to try to detect modules built
against a different version of lighttpd.
|
| |
|
|
|
|
| |
(previously defined in src/CMakeLists.txt)
|
|
|
|
|
| |
(future: might rename plugin.c -> plugins.c since the functions
contained within are all plugins_*())
|
|
|
|
| |
wrap system setjmp or compiler C try/catch mechanism
|
|
|
|
|
|
| |
configure --with-libdeflate option to use libdeflate
(must also configure --enable-mmap for mod_deflate to use libdeflate
on input files larger than 64kB; libdeflate not used on files <= 64kB)
|
|
|
|
|
|
|
| |
(thx herbmillerjr)
x-ref:
https://github.com/gentoo/gentoo/pull/23857
|
| |
|
|
|
|
|
|
| |
x-ref:
"issues migrating lighttpd mod_mbedtls to mbedtls 3.0.0"
https://github.com/ARMmbed/mbedtls/issues/5331
|
|
|
|
| |
skip some func checks (slow) if expected header does not exist
|
|
|
|
| |
sendfilev() is Solaris-specific (and other OS have other alternatives)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Haiku needs to link to additional lib -lnetwork for socket funcs
(similar to Solaris need for -lsocket -lnsl)
(edited: gstrauss)
x-ref:
"haiku build fix proposal"
https://redmine.lighttpd.net/issues/3136
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
server.core-files support for solaris based systems.
- using setpflags and disable process tracing protection for the current process.
(edited: gstrauss)
x-ref:
"server.core-files support on Solaris based system"
https://redmine.lighttpd.net/issues/3135
|
|
|
|
|
|
|
|
| |
(thx devnexen)
x-ref:
"netbsd meson build fix"
https://redmine.lighttpd.net/issues/3133
|
|
|
|
|
|
|
|
|
|
| |
(thx devnexen)
cmake: do not pass "-Wl,-export-dynamic" to Sun ld on Illumos
x-ref:
"Solaris build fix proposal"
https://redmine.lighttpd.net/issues/3130
|
|
|
|
|
|
|
|
|
|
|
|
| |
(thx devnexen)
x-ref:
"Meson misdetects some functions with mingw-w64"
https://github.com/mesonbuild/meson/issues/3672
"Solaris build fix proposal"
https://redmine.lighttpd.net/issues/3130
"netbsd meson build fix"
https://redmine.lighttpd.net/issues/3133
|
|
|
|
|
|
|
|
|
|
| |
(thx devnexen)
cmake, meson: specify socket libs for win32, Illumos
x-ref:
"Solaris build fix proposal"
https://redmine.lighttpd.net/issues/3130
|
|
|
|
| |
meson: find pcre2 on Illumos w/o pkg-config
|
| |
|
|
|
|
|
| |
x-ref:
https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated
|
|
|
|
|
| |
upate config.h.cmake for missing defines
minor adjustments to other builds for features consistency
|
|
|
|
|
|
|
|
| |
(thx devnexen)
x-ref:
"server.core-files support on FreeBSD proposal"
https://redmine.lighttpd.net/issues/3128
|
| |
|
|
|
|
|
|
|
| |
check getxattr before attr_get and -lattr;
do not link with -lattr if getxattr is available from glibc
(modern glibc systems do not require libattr-devel build dependency)
|
|
|
|
|
|
|
|
| |
(thx gzpapp at gmail dot com)
x-ref:
"Building on glibc 2.16 where clock_gettime() is in librt.so"
https://redmine.lighttpd.net/issues/3120
|
|
|
|
|
|
| |
x-ref:
"lighttpd: depends on obsolete pcre3 library"
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000063
|
|
|
|
|
|
| |
combine common components tests into test_common.c
combine into a single executable to reduce compilation/link redundancy
|