summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [doc] NEWSlighttpd-1.4.56Glenn Strauss2020-11-291-1/+69
|
* [mod_webdav] workaround for gvfs dir redir bugGlenn Strauss2020-11-291-0/+16
| | | | | | | | | | | | workaround for gvfs dir redir bug fix for unhandled live properties (thx montvid) x-ref: "lighttpd webdav does not work with Nemo, Nautilus gvfs" https://redmine.lighttpd.net/boards/2/topics/9516
* [core] server.v4mapped optionGlenn Strauss2020-11-291-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | For IPv6 listen addresses: server.v4mapped = "disable" results in IPV6_V6ONLY socket opt set to 0 server.v4mapped = "enable" results in IPV6_V6ONLY socket opt set to 1 server.v4mapped has an effect only if explicitly set in lighttpd.conf. If not set, the socket option is inherited from kernel defaults, which may vary on different OS. server.v4mapped takes priority over server.set_v6only server.set_v6only behavior is inconsistent and depreacted. server.set_v6only behavior differs from server.v4mapped in that server.set_v6only = "enable" will cause the IPV6_V6ONLY socket option to be set to 1 for IPv6 listening sockets configured via $SERVER["socket"] in lighttpd.conf, is enabled by default, and has no effect if set to "disable" Note: IPv4-mapped addresses may bring potential security issues, depending on the situation. For example, lighttpd does not attempt to match IPv4 addresses with IPv4-mapped addresses. Other writings: https://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02.html
* [mod_status] add additional HTML-encodingGlenn Strauss2020-11-271-5/+5
|
* [mod_fastcgi] move src/fastcgi.h into src/compat/Glenn Strauss2020-11-273-3/+4
|
* [mod_webdav] fallbacks if _ATFILE_SOURCE not availGlenn Strauss2020-11-271-0/+68
| | | | Note: filesystem access race conditions exist without _ATFILE_SOURCE
* [mod_webdav] pass full path to webdav_unlinkat()Glenn Strauss2020-11-271-5/+6
| | | | so that path can be removed from stat_cache
* [mod_flv_streaming] use stat_cache_get_entry_openGlenn Strauss2020-11-271-5/+13
|
* [core] consolidate chunk size checksGlenn Strauss2020-11-272-7/+2
|
* [core] quiet more request parse errs unless debugGlenn Strauss2020-11-271-15/+14
| | | | | | | | | quiet more request parse errors unless debug enabled with debug.log-request-header-on-error = "enable" x-ref: "invalid character in URI -> 400 config?" https://redmine.lighttpd.net/boards/2/topics/9512
* [core] check for __builtin_expect() availabilityGlenn Strauss2020-11-271-0/+11
|
* [multiple] more forgiving config str to boolean (fixes #3036)Glenn Strauss2020-11-166-67/+28
| | | | | | | | | | more consistent use of shared code config_plugin_value_tobool() (thx tow-conf) x-ref: "The on/off keywords in boolean configuration options is inconsistent, which might be misleading and error-prone." https://redmine.lighttpd.net/issues/3036
* [core] fix bug when HTTP/2 frames span chunksGlenn Strauss2020-11-131-1/+1
| | | | fix inverted logic when HTTP/2 frames span chunkqueue chunks
* [multiple] add back-pressure gw data pump (fixes #3033)Glenn Strauss2020-11-122-3/+12
| | | | | | | | | | | | | | When server.stream-request-body = 0 (the default), the entire request body is collected before engaging the backend. For backends which require data framing, this could lead to growth in memory use as large requests were framed all at once. Prefer to retain large request bodies in temporary files on disk and frame in portions as write queue to backend drains below a threshold. x-ref: "Memory Growth with PUT and full buffered streams" https://redmine.lighttpd.net/issues/3033
* [mod_cgi] ensure tmp file open() before splice()Glenn Strauss2020-11-121-8/+8
| | | | | | | | | (bug on master branch) With lighttpd defaults, including fully buffering request body, and if request body > 1 MB, then multiple temporary files are used and might not have open fd in chunkqueue. This would result in failure to send request body to CGI. (bug commited to master branch 1 month ago)
* [mod_cgi] fix crash if initial write to CGI failsGlenn Strauss2020-11-121-17/+14
| | | | (bug on master branch)
* [core] filter out duplicate modulesGlenn Strauss2020-11-112-28/+38
| | | | filter out modules duplicated in server.modules list
* [mod_alias] validate given order, not sorted orderGlenn Strauss2020-11-111-4/+4
| | | | | | | | (bug on master branch) x-ref: "Debian Bullseye/sid arm64 - lighttp broken after update" https://discussions.flightaware.com/t/debian-bullseye-sid-arm64-lighttp-broken-after-update/70756/20
* [doc] update optional pkg dependencies in INSTALLGlenn Strauss2020-11-111-4/+2
|
* [core] define SHA*_DIGEST_LENGTH macros if missingGlenn Strauss2020-11-101-3/+14
|
* [core] http_response_buffer_append_authority()Glenn Strauss2020-11-102-1/+2
| | | | make public func for benefit of external, third-party mod_authn_tkt
* [core] accept "HTTP/2.0", "HTTP/3.0" from backends (#3031)Glenn Strauss2020-11-101-1/+1
| | | | | | | | | | accept "HTTP/2.0" and "HTTP/3.0" NPH from naive non-proxy backends (thx flynn) x-ref: "uwsgi fails with HTTP/2" https://redmine.lighttpd.net/issues/3031
* [build] check for xxhash in more waysGlenn Strauss2020-11-091-1/+7
| | | | | | | | pkg-config libxxhash.pc might not be provided with xxhash < 0.7.3 x-ref: "Update build-dep for xxhash [...]" https://salsa.debian.org/debian/lighttpd/-/merge_requests/29
* [core] accept "HTTP/2.0", "HTTP/3.0" from backends (fixes #3031)Glenn Strauss2020-11-091-4/+6
| | | | | | | | | | accept "HTTP/2.0" and "HTTP/3.0" NPH from naive non-proxy backends (thx flynn) x-ref: "uwsgi fails with HTTP/2" https://redmine.lighttpd.net/issues/3031
* [multiple] handle NULL val as empty in *_env_add (fixes #3030)Glenn Strauss2020-11-093-3/+3
| | | | | | | | | | (bug on master branch; never released) (thx flynn) x-ref: "Fastcgi fails if server.tag is empty" https://redmine.lighttpd.net/issues/3030
* [tests] allow LIGHTTPD_EXE_PATH overrideGlenn Strauss2020-11-091-0/+4
| | | | | | | | | | allow LIGHTTPD_EXE_PATH override to be able to run source tree tests/*.t against installed executable, e.g. LIGHTTPD_EXE_PATH=/usr/sbin/lighttpd Beware that tests might not pass or might not be supported if the target executable is not the same version as that of the source tree (Possible use for this override is by Debian autopkgtests)
* [mod_maxminddb] fix config validation typoGlenn Strauss2020-11-051-1/+1
| | | | | | | | | | (bug on master branch; never released) (thx maxentry) x-ref: "maxminddb.env error 1.4.56" https://redmine.lighttpd.net/boards/2/topics/9480
* [mod_openssl] adjust LIBRESSL_VERSION_NUMBER checkGlenn Strauss2020-11-051-2/+2
| | | | libressl >= 0x3000000fL has SSL_set1_chain(), but not some other APIs
* [core] stat_cache preprocessor paranoiaGlenn Strauss2020-11-051-1/+3
|
* [core] use struct kevent on stack in stat_cacheGlenn Strauss2020-11-051-10/+8
| | | | | | This alternative approach attempts to work around error: invalid application of 'sizeof' to incomplete type 'struct kevent' seen in continuous integration (CI) autoconf build on FreeBSD VM
* [mod_openssl] add LIBRESSL_VERSION_NUMBER checksGlenn Strauss2020-11-041-2/+4
| | | | add some additional LIBRESSL_VERSION_NUMBER checks for feature support
* [core] no graceful-restart-bg on OpenBSD, NetBSDGlenn Strauss2020-11-041-0/+19
| | | | | | | | | | disable server.graceful-restart-bg on OpenBSD and NetBSD kqueue is not inherited across fork, and OpenBSD and NetBSD do not implement rfork() (implemented on FreeBSD and DragonFly) lighttpd has not implemented rebuilding the kqueues after fork, so server.graceful-restart-bg is disabled on OpenBSD and NetBSD.
* [core] use kqueue() instead of FAM/gamin on *BSDGlenn Strauss2020-11-043-4/+139
| | | | | | | | | | | | | | | | | | | | | | Note: there have always been limitations with lighttpd stat_cache.[ch] using FAM/gamin on *BSD via kqueue() as lighttpd stat_cache.[ch] only monitors directories. This kqueue() implementation also only monitors directories and has limitations. lighttpd stat_cache.[ch] is notified about additions and removals of files within a monitored directory but might not be notified of changes such as timestamps (touch), ownership, or even changes in contents (e.g. if a file is edited through a hard link) server.stat-cache-engine = "disable" should be used when files should not be cached. Full stop. Similarly, "disable" is recommended if files change frequently. If using server.stat-cache-engine with any engine, there are caching effects and tradeoffs. On *BSD and using kqueue() on directories, any change detected clears the stat_cache of all entries in that directory, since monitoring only the directory does not indicate which file was added or removed. This is not efficient for directories containing frequently changed files.
* [core] cold func for gw_recv_response error caseGlenn Strauss2020-11-041-1/+12
| | | | gw_recv_response_error()
* [core] set last_used on rd/wr from backend (fixes #3029)Glenn Strauss2020-11-041-3/+16
| | | | | | x-ref: "mod_wstunnel kills child on disconnect after idle-timeout from connection start" https://redmine.lighttpd.net/issues/3029
* [mod_nss] update session ticket NSS devel commentGlenn Strauss2020-11-041-3/+4
| | | | | | | | Update: NSS developer explains: "The way that we currently operate is to tie the session key encryption to the server public key. Which only works if you have an RSA key configured" https://bugzilla.mozilla.org/show_bug.cgi?id=1673254
* [build] detect inotify header <sys/inotify.h>Glenn Strauss2020-11-044-3/+11
|
* [core] use inotify in stat_cache.[ch] on LinuxGlenn Strauss2020-11-042-16/+156
| | | | use inotify in stat_cache.[ch] on Linux, replacing FAM/gamin
* [build] prepend search for lua version 5.4Glenn Strauss2020-10-314-4/+4
|
* [meson] add matching -I for lua lib versionGlenn Strauss2020-10-311-2/+17
|
* [doc] refresh doc/config/conf.d/mime.confGlenn Strauss2020-10-301-4/+114
|
* [build] meson --with-xxhash optionlighttpd-1.4.56-rc7Glenn Strauss2020-10-291-0/+5
|
* [build] option to use system-provided libxxhashlighttpd-1.4.56-rc6Glenn Strauss2020-10-296-2/+69
| | | | --with-xxhash
* [build] fix typo in configure.acGlenn Strauss2020-10-291-1/+1
|
* [core] use system xxhash lib if availableGlenn Strauss2020-10-292-0/+22
|
* [core] set NSS_VER_INCLUDE after crypto lib selectGlenn Strauss2020-10-292-5/+6
|
* [multiple] include wolfssl/options.h after selectGlenn Strauss2020-10-294-29/+19
| | | | | | | | | | | | | 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.
* [multiple] include mbedtls/config.h after selectGlenn Strauss2020-10-294-2/+4
| | | | | include mbedtls/config.h crypto lib config after selecting crypto lib to use
* [multiple] consistent order for crypto lib selectGlenn Strauss2020-10-292-8/+8
|
* [core] adjust wolfssl workaround for another caselighttpd-1.4.56-rc5Glenn Strauss2020-10-291-1/+1
| | | | adjust wolfssl types.h workaround for another edge case