Important changes
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
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
[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)
Posted by gstrauss
Please note that we won't accept comments for posts older than 3 months! Also please use our bug tracker to reports bugs, and our irc channel #lighttpd@libera to chat.
Enable javascript to load comments.