1.4.70
closedRelease Info¶
- Version: 1.4.70
- Previous version: 1.4.69
- Branch: 1.4
- Status: stable
- Release Purpose: bug fixes
- Release manager: gstrauss
- Released date: 2023-05-10
Important changes from 1.4.69¶
- speed up CGI spawning
- native Windows build (experimental) (not packaged; no installer)
- support HTTP/2 downstream proxy serving multiple clients on single connection
(mod_extforward, mod_maxminddb) - restructure code to isolate HTTP/2
Downloads¶
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.tar.gz
- GPG signature: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.tar.gz.asc
- SHA256:
bc96e5571d937279aa7cfdc9c9de95bcc457ab6feafff6264aa8832d026068bc
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.tar.xz
- GPG signature: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.tar.xz.asc
- SHA256:
921ebe1cf4b6b9897e03779ab7a23a31f4ba40a1abe2067525c33cd3ce61fe85
- SHA256 checksums: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.sha256sum
- SHA512 checksums: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.70.sha512sum
Behavior Changes (previously announced):¶
- no longer building separate modules for built-in modules
lighttpd 1.4.70 omits building separate (unused) modules for:
mod_access mod_alias mod_evhost mod_expire mod_fastcgi mod_indexfile
mod_redirect mod_rewrite mod_scgi mod_setenv mod_simple_vhost mod_staticfile
Future Scheduled Behavior Changes:¶
- HTTP/2 support will be split out into optional separate module (mod_h2)
(static builds will need to list mod_h2 in plugin-static.h to include mod_h2)
Changes from 1.4.69¶
- [autotools] chmod u+w configparser.c for lemon
- [build] skip build separate modules for built-ins
- [core] cache format secs for high prec errlog
- [mod_maxminddb] check remote IP each request (fixes #3191)
- [multiple] store ptrs to remote addr in request_st (#3192)
- [mod_extforward] manage remote addr per request (fixes #3192)
- [core] use C23 memset_explicit() were available
- [mod_accesslog] %{mask}a to mask/anonymize IP
- [core] cast to fix compiler error in prior commit
- [scons] fix static build to include builtin_mods
- [core] h2_recv_headers() tweak to reduce code size
- [core] h2_get_stream_req() code reuse
- [core] h2: remove obsolete comment
- [core] h2 mark :status matching lsxpack enum value
- [core] h2 match w/ lsxpack pseudo-header key only
- [core] limit server.max-request-field-size <=65535
- [core] permit shell HERE docs to specify config
- [core] add members to http_header_parse_ctx
- [mod_extforward] typo in comment
- [mod_openssl] SSL_CTX_set_options() takes uint64_t
- [core] reorder enum handler_t
- [core] connection_handle_request_start_state()
- [core] check chunk file open early in mmap viewadj (fixes #3197)
- [core] h2 http_request_parse_header() tweak
- [mod_extforward] recognize unix domain sockets (fixes #3198)
- [mod_magnet] support ./configure --with-lua=luajit (#3199)
- [core] remove instance of devel debug code
- [core] quiet coverity warning
- [core] connection_check_upgrade() h2_upgrade_h2c()
- [core] CON_STATE_REQUEST_END transient state
- [core] expose request_set_state() for internal use
- [core] h2_send_goaway_graceful()
- [core] h2_check_timeout()
- [core] h2_process_streams()
- [core] h2_recv_reqbody()
- [core] HTTP_VERSION_3 enum value
- [core] r->x union w/ structs for r->x.{h1}
- [core] r->x union w/ structs for r->x.{h1,h2}
- [core] http_dispatch[] tables for HTTP proto vers
- [core] hxcon "base class" for h2con
- [mod_h2] HTTP/2 module: mod_h2
- [multiple] optimistic client read only if HTTP/1.x
- [core] _WIN32 port compatibility headers
- [core] _WIN32 impl of setenv(), unsetenv()
- [multiple] _WIN32 protect code w/ HAVE_SYSLOG_H
- [multiple] _WIN32 protect code w/ HAVE_FORK
- [core] _WIN32 protect code w/ HAVE_IPV6
- [multiple] _WIN32 protect code w/ HAVE_SYS_UN_H
- [multiple] _WIN32 stat() compat sys-stat.h
- [core] _WIN32 uid, gid compat
- [core] _WIN32 signal-related compat
- [multiple] _WIN32 misc compat
- [core] _WIN32 minimal glob() impl for configfile.c
- [core] _WIN32 use gmtime_s(), localtime_s()
- [mod_dirlisting] _WIN32 Find*File()
- [multiple] _WIN32 Find*File() sys-dirent.h
- [core] _WIN32 sys-unistd.h to wrap <unistd.h>
- [core] _WIN32 sys-wait.h to wrap <sys/wait.h>
- [core] _WIN32 implementation of socketpair()
- [core] _WIN32 fdevent_createprocess()
- [core] _WIN32 socket-compat, filesystem-compat
- [core] _WIN32 check WSAGetLastError() w/ sockets
- [mod_cgi] _WIN32 use socketpair instead of pipe
- [core] _WIN32 clock ticks and time
- [core] _WIN32 alternative fdarray for Windows
- [core] _WIN32 basic (very limited) getopt() impl
- [tests] _WIN32 fcgi-responder.c, scgi-responder.c
- [core] _WIN32 rename __WIN32 to _WIN32
- [core] _WIN32 casts to quiet some VS warnings
- [tests] _WIN32 use TMPDIR (or TEMP) for test files
- [build] _WIN32 mingw build
- [multiple] MINGW32 missing strftime() "%F %T"
- [tests] _WIN32 adjustments in LightyTest.pm
- [core] _WIN32 reset std streams at startup
- [core] _WIN32 log_perror() with GetLastError()
- [core] _WIN32 log_serror() for WSAGetLastError()
- [core] _WIN32 use log_serror() for WSAGetLastError
- [core] _WIN32 use rand_s() to init pseudo RNG
- [core] _WIN32 fdevent_kill()
- [multiple] _WIN32 use fdevent_kill()
- [core] _WIN32 stat(), '/' and '\\' adjustments
- [tests] _WIN32 cygwin test support
- [mod_deflate] _WIN32 disable deflate.cache-dir
- [mod_dirlisting] _WIN32 close files before unlink
- [tests] _WIN32 close files before unlink
- [core] _WIN32 close chunk temp files before unlink
- [core] _WIN32 prefer WSAPoll()
- [core] _WIN32 lighttpd winsvc
- [core] _WIN32 custom fs funcs on UTF-8 paths
- [core] _WIN32 scream UTF-8 at MS (does not matter)
- [cmake] _WIN32 build more mods with BUILD_STATIC
- [cmake] _WIN32 remove older build config
- [core] _WIN32 use WSASend for writev-equiv on sock
- [meson] static build option under cygwin
- [build] _WIN32 __declspec(dllexport) *_plugin_init
- [build] _WIN32 shared dll build (autotools, cmake)
- [tests] _WIN32 skip time-sensitive tests during CI
- [core] use posix_spawn() where available
- [mod_cgi] comment about caching target dirname
- [meson] update comment with build flags
- [meson] check FORCE_{WOLFSSL,MBEDTLS}_CRYPTO
- [mod_auth] warn if auth.require path never matches
- [core] h1.[ch] collect some HTTP/1.x specific code
- [core] noinline connection shutdown, reset
- [TLS] $SERVER["socket"] inherit global ssl.engine
- [mod_proxy] match "map-host-response" "-" w/ Host
- [core] noinline stat_cache_sptree_find()
- [core] rename http_kv funcs, reorder http_versions
- [mod_cgi] move fd count to cgi_create_env()
- [mod_cgi] reduce code size
- [mod_cgi] do not issue trace if CGI closes input
- [mod_cgi] cgi_create_err() cold err handling func
- [core] always decr fd count upon socket close()
- [mod_mbedtls] check MBEDTLS_DEBUG_C for debug func
- [core] return pid_t from fdevent_waitpid()
- [core] _WIN32 compile fix
- [meson] build fix for builtin_mods
- [core] move some shared funcs to call from modules
- [build] move some files to call from modules
- [mod_cgi] doubly-linked list of CGI pids
- [mod_cgi] reuse fd already opened to /dev/null
- [mod_cgi] reset upload_temp_file_size in CGI close
- [tests] copy confs for running tests in alt dir
- [scons] avoid dup mod_h2 module in static build
- [autoconf] include fs_win32.h in hdrs for dpkg
- [build] ifdef _WIN32 before include fs_win32.h
- [mod_openssl] SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE
- [mod_dirlisting] _WIN32 fix fstat() after close()
- [core] quiet coverity warning
- [mod_openssl] FreeBSD: check "kern.ipc.tls.enable"
- [core] fix HTTP/2 use of http_response_loop()
- [mod_openssl] check kernel support for KTLS
- [core] posix_spawnattr_setcwd_np() on QNX
- [core] posix_spawn_file_actions_addclosefrom_np()
- [core] Mac OS POSIX_SPAWN_CLOEXEC_DEFAULT
- [core] modify use of posix_spawnattr_setsigdefault
- [mod_dirlisting] _WIN32 compile fix
- [core] fdevent_load_file() check if limit exceeded
- [tests] tests/prepare.sh comment w/ alt build root
- [core] treat mod_h2 as built-in module (for now)
External references¶
Also available in: TXT