summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* [multiple] optimistic client read only if HTTP/1.xGlenn Strauss2023-05-033-3/+6
| | | | skip optimistic client read if http version >= HTTP/2
* [mod_h2] HTTP/2 module: mod_h2Glenn Strauss2023-05-037-0/+43
| | | | | | (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)
* [core] hxcon "base class" for h2conGlenn Strauss2023-05-038-54/+60
|
* [core] http_dispatch[] tables for HTTP proto versGlenn Strauss2023-05-037-65/+81
|
* [core] r->x union w/ structs for r->x.{h1,h2}Glenn Strauss2023-04-295-115/+120
|
* [core] r->x union w/ structs for r->x.{h1}Glenn Strauss2023-04-294-20/+29
|
* [core] HTTP_VERSION_3 enum valueGlenn Strauss2023-04-294-4/+13
|
* [core] h2_recv_reqbody()Glenn Strauss2023-04-293-20/+61
|
* [core] h2_process_streams()Glenn Strauss2023-04-293-235/+265
|
* [core] h2_check_timeout()Glenn Strauss2023-04-293-66/+82
|
* [core] h2_send_goaway_graceful()Glenn Strauss2023-04-243-4/+23
|
* [core] expose request_set_state() for internal useGlenn Strauss2023-04-242-5/+16
| | | | expose request_set_state() in request.h for internal use
* [core] CON_STATE_REQUEST_END transient stateGlenn Strauss2023-04-242-3/+5
| | | | CON_STATE_REQUEST_END transient state is now implicit; not directly used
* [core] connection_check_upgrade() h2_upgrade_h2c()Glenn Strauss2023-04-243-77/+99
| | | | | separate generic HTTP handling of Upgrade request header from handling of Upgrade: h2c
* [core] quiet coverity warningGlenn Strauss2023-04-151-1/+2
|
* [core] remove instance of devel debug codeGlenn Strauss2023-04-151-6/+2
|
* [mod_magnet] support ./configure --with-lua=luajit (#3199)Glenn Strauss2023-04-111-0/+7
| | | | | x-ref: https://redmine.lighttpd.net/issues/3199
* [mod_extforward] recognize unix domain sockets (fixes #3198)Glenn Strauss2023-04-061-0/+1
| | | | | | | | | recognize unix domain sockets starting with '/' in extforward.forwarder before attempting to parse netmask after last '/' in string x-ref: "Add support for unix domain sockets in extforward.forwarder" https://redmine.lighttpd.net/issues/3198
* [core] h2 http_request_parse_header() tweakGlenn Strauss2023-04-061-0/+4
| | | | do not check for HTTP/2 pseudo headers already tagged by ls-hpack
* [core] check chunk file open early in mmap viewadj (fixes #3197)Glenn Strauss2023-04-041-5/+3
| | | | | | | | | | check chunk file open early in chunkqueue_chunk_file_viewadj() (thx shangzhi_xu) x-ref: "Found an UAF bug in /src/chunk.c" https://redmine.lighttpd.net/issues/3197
* [core] connection_handle_request_start_state()Glenn Strauss2023-04-041-8/+14
| | | | extract to separate func; still gets inlined in optimized builds
* [core] reorder enum handler_tGlenn Strauss2023-04-041-1/+1
|
* [mod_openssl] SSL_CTX_set_options() takes uint64_tGlenn Strauss2023-04-041-1/+8
| | | | SSL_CTX_set_options() takes uint64_t for options in openssl 3.0+
* [mod_extforward] typo in commentGlenn Strauss2023-04-041-1/+1
|
* [core] add members to http_header_parse_ctxGlenn Strauss2023-04-042-5/+6
| | | | add log_request_header to http_header_parse_ctx
* [core] permit shell HERE docs to specify configGlenn Strauss2023-03-271-18/+62
| | | | | | | | | | | e.g. /usr/sbin/lighttpd -D -f <(cat <<END server.document-root = "/web/" END ) x-ref: https://www.reddit.com/r/bash/comments/11wysi0/combining_heredocs_with_process_substitution/
* [core] limit server.max-request-field-size <=65535Glenn Strauss2023-03-271-2/+2
|
* [core] h2 match w/ lsxpack pseudo-header key onlyGlenn Strauss2023-03-253-21/+15
|
* [core] h2 mark :status matching lsxpack enum valueGlenn Strauss2023-03-251-0/+2
|
* [core] h2: remove obsolete commentGlenn Strauss2023-03-251-7/+0
| | | | (see "(lighttpd customization)" in ls-hpack/lshpack.h)
* [core] h2_get_stream_req() code reuseGlenn Strauss2023-03-241-26/+21
|
* [core] h2_recv_headers() tweak to reduce code sizeGlenn Strauss2023-03-221-8/+5
|
* [scons] fix static build to include builtin_modsGlenn Strauss2023-03-121-0/+3
|
* [core] cast to fix compiler error in prior commitGlenn Strauss2023-03-121-1/+1
|
* [mod_accesslog] %{mask}a to mask/anonymize IPGlenn Strauss2023-03-121-2/+59
| | | | | | | | | | | | | | | (thx pmconrad) IPv4: mask final octet (8 bits) of address IPv6: mask final 10 octets (80 bits) of address x-ref: Enable partial masking of IP addresses in access logs https://github.com/lighttpd/lighttpd1.4/pull/124 IP masking in Universal Analytics https://support.google.com/analytics/answer/2763052 github: closes #124
* [core] use C23 memset_explicit() were availableGlenn Strauss2023-03-011-0/+10
|
* [mod_extforward] manage remote addr per request (fixes #3192)Glenn Strauss2023-02-281-98/+81
| | | | | | | | | | | | | | | manage remote addr per request for HTTP/2 requests, rather than remote addr per connection. Modern load balancers often provide options to reuse connections for *different* clients, and therefore mod_extforward might change the remote addr per request. x-ref: "RFE: mod_extforward and multiplexed requests via HTTP/2" https://redmine.lighttpd.net/issues/3192 "Evaluation of remote_addr for mod_maxminddb for multiplexed connections" https://redmine.lighttpd.net/issues/3191
* [multiple] store ptrs to remote addr in request_st (#3192)Glenn Strauss2023-02-2814-28/+32
| | | | | | | | | | | | | | | | | adds two pointers to (request_st *) (cost: 16 bytes in 64-bit builds) prepares for upcoming changes to mod_extforward to manage remote addr per request for HTTP/2 requests, rather than remote addr per connection. Modern load balancers often provide options to reuse connections for *different* clients, and therefore mod_extforward might change the remote addr per request. x-ref: "RFE: mod_extforward and multiplexed requests via HTTP/2" https://redmine.lighttpd.net/issues/3192 "Evaluation of remote_addr for mod_maxminddb for multiplexed connections" https://redmine.lighttpd.net/issues/3191
* [mod_maxminddb] check remote IP each request (fixes #3191)Glenn Strauss2023-02-281-33/+84
| | | | | | | | | | | Many load balancers have options to reuse the same connection for multiple clients, so check remote IP each request to detect if remote IP has changed for a subsequent requests on the same connection, e.g. due to mod_extforward. x-ref: "Evaluation of remote_addr for mod_maxminddb for multiplexed connections" https://redmine.lighttpd.net/issues/3191
* [core] cache format secs for high prec errlogGlenn Strauss2023-02-141-19/+26
| | | | cache formatted secs string for high precision errorlog timestamp
* [build] skip build separate modules for built-insGlenn Strauss2023-02-134-103/+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.
* [core] remove extra HTTP/2 HEADERS frame len checkGlenn Strauss2023-02-101-1/+1
| | | | | remove extra HTTP/2 HEADERS frame len check (now that the check has been added to proper place in prior commit)
* [core] fix HTTP/2 HEADERS frame parsing bugGlenn Strauss2023-02-101-2/+1
| | | | | | | | | (thx Sig Run for reproduction cases, ASAN logs, valgrind logs) credit: sig.run https://hackerone.com/sigrun 2023.02.10 edit: CVE ID assignment requested a few days ago, but id not yet assigned
* [mod_webdav] send 409 Conflict if PUT miss parentGlenn Strauss2023-02-041-1/+9
| | | | send 409 Conflict if PUT into parent collection which does not exist
* [core] reset path-info for cgi.local-redirGlenn Strauss2023-02-041-0/+1
| | | | | | | | | | | cgi.local-redir occurs in the subrequest handler, by which point path-info has been set. Since CGI local redir might restart the request for an entirely different URL, reset the path info. Note: mod_rewrite, mod_magnet, and others which may restart the request do so prior to path-info being set. path-info is always reset between different requests.
* [core] path-info in debug trace may be unsetGlenn Strauss2023-02-041-3/+2
| | | | path-info in debug trace (debug.log-request-handling) may be unset
* [mod_dirlisting] use fdevent_rename() wrapperGlenn Strauss2023-02-041-3/+2
|
* [mod_cgi] cygwin supports CGI file I/O redirectionGlenn Strauss2023-02-041-2/+0
| | | | remove the special-case which disabled this for issue in older cygwin
* [autotools] skip modules build if LIGHTTPD_STATICGlenn Strauss2023-02-041-0/+4
|