summaryrefslogtreecommitdiff
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* [mod_magnet] fix static build using autoconf (fixes #3203)Glenn Strauss2023-05-111-2/+1
| | | | | | | | | | | (thx desmana) missing algo_hmac.c from static build (since removal of mod_secdownload in lighttpd 1.4.68) x-ref: "static build fails due to missing algo_hmac" https://redmine.lighttpd.net/issues/3203
* [mod_h2] HTTP/2 separate module; no longer builtinGlenn Strauss2023-05-101-6/+3
| | | | HTTP/2 separate module; no longer built-in to lighttpd executable
* [build] ifdef _WIN32 before include fs_win32.hGlenn Strauss2023-05-041-1/+1
| | | | | | | revert previous commit adding fs_win32.h to Makefile.am hdrs ifdef _WIN32 check before include fs_win32.h so that other platforms do not have to care
* [autoconf] include fs_win32.h in hdrs for dpkgGlenn Strauss2023-05-041-1/+1
|
* [build] move some files to call from modulesGlenn Strauss2023-05-031-3/+4
| | | | (e.g. support for HTTP/2 module mod_h2)
* [core] h1.[ch] collect some HTTP/1.x specific codeGlenn Strauss2023-05-031-2/+2
|
* [build] _WIN32 shared dll build (autotools, cmake)Glenn Strauss2023-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | There are likely better and cleaner ways to do this; patches welcome. _WIN32 symbol imports and exports MS Visual Studio (_MSC_VER) does not appear to export global data symbols even when exporting all functions. Annotating any symbols with __declspec(dllexport) in any translation unit appears to change default dll symbol implict export behavior. Currently, src/Makefile.am and CMakeLists.txt take different approaches (implib versus linking against executable which has exported symbols) x-ref: (improved solutions might possibly be constructed using these docs) https://sourceware.org/binutils/docs/ld/WIN32.html https://cmake.org/cmake/help/latest/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html https://stackoverflow.com/questions/225432/export-all-symbols-when-creating-a-dll
* [core] _WIN32 custom fs funcs on UTF-8 pathsGlenn Strauss2023-05-031-1/+1
| | | | | | | | | | | open(), stat(), mkdir() on UTF-8 paths lighttpd provides large file support and 64-bit time, so provide override to use _stati64() (and _wstati64()) Additionally, provide custom function to support stat on UTF-8 path, which must first be converted to wide-char and _wstati64(), since _stati64() is naive and does not properly support UTF-8.
* [build] _WIN32 mingw buildGlenn Strauss2023-05-031-5/+5
| | | | use -lws2_32 instead of -lwsock32
* [core] _WIN32 implementation of socketpair()Glenn Strauss2023-05-031-0/+2
|
* [core] _WIN32 sys-wait.h to wrap <sys/wait.h>Glenn Strauss2023-05-031-1/+1
|
* [core] _WIN32 sys-unistd.h to wrap <unistd.h>Glenn Strauss2023-05-031-1/+1
| | | | (selective implementations; not complete)
* [multiple] _WIN32 Find*File() sys-dirent.hGlenn Strauss2023-05-031-1/+1
| | | | _WIN32 FindFirstFile(), FindNextFile(), FindClose()
* [multiple] _WIN32 stat() compat sys-stat.hGlenn Strauss2023-05-031-1/+2
| | | | | | | no lstat() no S_IFSOCK no S_ISSOCK() ...
* [mod_h2] HTTP/2 module: mod_h2Glenn Strauss2023-05-031-0/+8
| | | | | | (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)
* [build] skip build separate modules for built-insGlenn Strauss2023-02-131-61/+0
| | | | | | | | | 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).
* [autotools] chmod u+w configparser.c for lemonGlenn Strauss2023-02-101-0/+1
| | | | | | | | | chmod u+w configparser.c for lemon configparser.c might be created mode 444 and then a subsequent repeat call to lemon will fail EACCES This fixes that scenario in top level ./packdist.sh script.
* [autotools] skip modules build if LIGHTTPD_STATICGlenn Strauss2023-02-041-0/+4
|
* [autotools] add mod_evhost to static build listGlenn Strauss2023-02-041-0/+1
|
* [build] modify arguments to updated LEMON parserGlenn Strauss2023-01-091-1/+1
|
* [build] omit unused vector.[ch] from buildGlenn Strauss2022-12-101-3/+2
| | | | (no longer used at the moment)
* [core] build core modules into lighttpd executableGlenn Strauss2022-12-051-0/+19
| | | | | | | | | | | | | | | | | 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.
* [multiple] remove deprecated modulesGlenn Strauss2022-11-301-30/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [tests] test stubs for http_header.c and http_kv.cGlenn Strauss2022-06-071-2/+2
|
* [multiple] rename status_counter -> plugin_statsGlenn Strauss2022-05-111-1/+1
|
* [core] isolate plugins_*() funcs to main serverGlenn Strauss2022-02-191-2/+3
| | | | | (future: might rename plugin.c -> plugins.c since the functions contained within are all plugins_*())
* [core] sys-setjmp.[ch]Glenn Strauss2022-02-191-1/+3
| | | | wrap system setjmp or compiler C try/catch mechanism
* [mod_deflate] --with-libdeflate to use libdeflateGlenn Strauss2022-02-141-2/+2
| | | | | | 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)
* [multiple] remove long-deprecated modulesGlenn Strauss2022-01-031-62/+2
| | | | | x-ref: https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated
* [tests] t/test_mod needs -ldl on DebianGlenn Strauss2021-11-181-1/+1
|
* [tests] combine tests into test_common.cGlenn Strauss2021-11-171-31/+18
| | | | | | combine common components tests into test_common.c combine into a single executable to reduce compilation/link redundancy
* [tests] t/test_mod_evasive.cGlenn Strauss2021-11-151-0/+1
|
* [tests] t/test_mod_alias.cGlenn Strauss2021-11-151-0/+1
|
* [tests] t/test_mod now runs all t/test_mod_*.cGlenn Strauss2021-11-151-34/+12
| | | | combine into a single executable to reduce compilation/link redundancy
* [mod_ssi] merge mod_ssi_expr.c into mod_ssi.cGlenn Strauss2021-11-121-3/+2
| | | | isolate this ancient relic
* [mod_ssi] remove mod_ssi parser generator fileGlenn Strauss2021-11-121-14/+6
|
* [tests] reenable test_mod_ssi in cmakeGlenn Strauss2021-11-051-0/+2
| | | | | (Instead, workaround added for libtool) (There must be better ways to do this, but I don't know them right now)
* [core] fdevent_fdnode.c separate from fdevent.cGlenn Strauss2021-11-021-4/+4
|
* [core] merge fdevent impls into fdevent_impl.cGlenn Strauss2021-11-021-4/+0
|
* [core] fdevent_impl.c separate from fdevent.cGlenn Strauss2021-11-011-4/+5
|
* [tests] t/test_mod_ssiGlenn Strauss2021-11-011-0/+5
|
* [multiple] de-dup file and piped loggers (fixes #3101)Glenn Strauss2021-09-131-9/+10
| | | | | | | | de-dup file and piped loggers for error logs and access logs x-ref: "RFE: de-dup file and piped loggers" https://redmine.lighttpd.net/issues/3101
* [core] fdlog.[ch]; fdevent_*_logger_* -> fdlog_*Glenn Strauss2021-09-111-0/+2
| | | | code move and rename fdevent_*_logger_*() to fdlog_*()
* [tests] t/test_mod_indexfileGlenn Strauss2021-09-081-0/+5
| | | | | | also remove some now-redundant tests from request.t and reduce scripts and directories under tests (because automake is sloooow and the fewer dirs, the better)
* [mod_magnet] expose md and hmac funcs to luaGlenn Strauss2021-09-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lighty.c.md("algo", "data") lighty.c.hmac("algo", "secret", "data") "algo" can be one of: "md5", "sha1", "sha256", "sha512" (as long as lighttpd compiled w/ crypto lib supporting those algorithms) lighty.c.digest_eq("digest1", "digest2") - performs a timing-safe, case-insensitive comparison of two hex digests - "digest1" and "digest2" are hex strings (of binary digests) - returns boolean true or false lighty.c.secret_eq("data1", "data2") - performs a timing-safe comparison of two strings (and attempts to hides differences in string lengths) - "data1" and "data2" are strings - returns boolean true or false lighty.c.time() - cached time(); seconds since 1 Jan 1970 00:00:00 GMT (faster than os.time()) lighty.c.rand() - generate pseudo-random number Note: the "lighty.c.*" namespace is EXPERIMENTAL / UNSTABLE In the future, these may be removed, altered, or moved to a different namespace.
* [core] remove connection_list_append()Glenn Strauss2021-09-081-1/+0
| | | | | | | | | | | | merge connection_list_append() into connection_fdwaitqueue_append() (not converted to singly-linked-list since fdwaitqueue is not expected to be used during normal operation (except extreme overload condition), so use allocated list of pointers (allocated when needed) instead of adding ptr member to (every) allocated struct connection) remove connections-glue.c remove inclusion of connections.h by non-base files
* [tests] t/test_mod_staticfileGlenn Strauss2021-09-041-0/+5
| | | | move some tests from tests/request.t to src/t/test_mod_staticfile.c
* [core] move backtrace and assert macros to ck.[ch]Glenn Strauss2021-08-271-4/+4
|
* [build] adjustments for autotools on Mac OS XGlenn Strauss2021-08-271-2/+11
| | | | | | | | | | | | | | | (mod_auth_api.c would be part of mod_auth.c and mod_vhostdb_api.c would be part of mod_vhostdb.c if not for MacOS) MacOS modules can link against .dylib, but not against other modules MacOS link with -module produces a .so, which lighttpd uses MacOS link without -module procudes a .dylib, but name *must* have prefix "lib...", which lighttpd "mod_*" do not have. Other lighttpd build configs (CMake, SCONS, meson) might not work on MacOS. Patches (which do not make a huge mess of things) welcome.
* [mod_secdownload] include algo_hmac.c in modGlenn Strauss2021-08-271-3/+3
| | | | | algo_hmac.c used only with mod_secdownload, so include algo_hmac.c in mod_secdownload instead of lighttpd executable