History log of /lighttpd1.4/src/http-header-glue.c (Results 1 – 25 of 216)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: lighttpd-1.4.69, lighttpd-1.4.68
# 5e14db43 10-Dec-2022 Glenn Strauss <[email protected]>

[multiple] employ ck_calloc, ck_malloc shared code

employ ck_calloc(), ck_malloc() shared code to slightly reduce code size
(centralize the ck_assert() to check that memory allocation succeeded)


# c44adc55 04-Nov-2022 Glenn Strauss <[email protected]>

[core] http_response_body_clear clears body flags

http_response_body_clear() clears body flags
r->resp_body_started
r->resp_body_finished


Revision tags: lighttpd-1.4.67, lighttpd-1.4.66, lighttpd-1.4.65
# 33f73b4d 26-May-2022 Glenn Strauss <[email protected]>

[multiple] application/javascript text/javascript

translate MIME type "application/javascript" to "text/javascript"

(if required, type may still be overwritten by mod_setenv or mod_magnet)

x-ref:

[multiple] application/javascript text/javascript

translate MIME type "application/javascript" to "text/javascript"

(if required, type may still be overwritten by mod_setenv or mod_magnet)

x-ref:
"Updates to ECMAScript Media Types"
https://www.rfc-editor.org/rfc/rfc9239

show more ...


# f2610d23 03-May-2022 Glenn Strauss <[email protected]>

[multiple] use buffer_append_char()


# d0494fc0 14-Apr-2022 Glenn Strauss <[email protected]>

[multiple] recognize HTTP QUERY method

x-ref:
https://www.ietf.org/id/draft-ietf-httpbis-safe-method-w-body-02.html


# 5d1aa5d0 24-Mar-2022 Glenn Strauss <[email protected]>

[multiple] WebSockets over HTTP/2 (fixes #3151)

Add support for WebSockets over HTTP/2 to lighttpd core and to
mod_cgi w/ config: cgi.upgrade = "enable"
mod_proxy w/ config: proxy.head

[multiple] WebSockets over HTTP/2 (fixes #3151)

Add support for WebSockets over HTTP/2 to lighttpd core and to
mod_cgi w/ config: cgi.upgrade = "enable"
mod_proxy w/ config: proxy.header += ("upgrade" => "enable")
mod_wstunnel

HTTP/2 CONNECT extension defined in RFC8441 is translated to HTTP/1.1
'Upgrade: websocket' requests to mod_cgi or mod_proxy, and is handled
directly in mod_wstunnel.

x-ref:
WebSockets over HTTP/2
https://redmine.lighttpd.net/issues/3151
Bootstrapping WebSockets with HTTP/2
https://datatracker.ietf.org/doc/html/rfc8441

show more ...


Revision tags: lighttpd-1.4.64
# 2335073c 17-Dec-2021 Glenn Strauss <[email protected]>

[core] mark expect cond in http_response_send_file

mark expected branch conditions in http_response_send_file()


# cca340dd 16-Dec-2021 Glenn Strauss <[email protected]>

[core] defer retrieving Last-Modified until needed


# 96fd7e5d 12-Dec-2021 Glenn Strauss <[email protected]>

[multiple] remove r->physical.etag

(no longer used; was used as temporary buffer)


# 8fe93aa5 12-Dec-2021 Glenn Strauss <[email protected]>

[core] use ETag response header to check cachable

honor ETag response header set in lua code in mod_magnet
(instead of having mod_magnet update r->physical.etag)


# 3909e27f 10-Dec-2021 Glenn Strauss <[email protected]>

[core] http_response_send_file() takes const path


Revision tags: lighttpd-1.4.63, lighttpd-1.4.62, lighttpd-1.4.61
# 1acf9db7 21-Oct-2021 Glenn Strauss <[email protected]>

[mod_ajp13,mod_fastcgi] check resp w/ content len

limit response body from mod_ajp13 and mod_fastcgi to Content-Length,
if Content-Length is provided in response headers; discard excess


# 0757d71e 17-Oct-2021 Glenn Strauss <[email protected]>

[core] short-circuit if response body recv w/ hdrs (fixes #3111)

short-circuit if response body completely received with response headers

x-ref:
"HTTP/2 requests sometimes take very long (missing

[core] short-circuit if response body recv w/ hdrs (fixes #3111)

short-circuit if response body completely received with response headers

x-ref:
"HTTP/2 requests sometimes take very long (missing last chunk)"
https://redmine.lighttpd.net/issues/3111

show more ...


Revision tags: lighttpd-1.4.60
# e4cf6998 29-Sep-2021 Glenn Strauss <[email protected]>

[core] limit initial response header backend read


# cb7deb49 25-Sep-2021 Glenn Strauss <[email protected]>

[core] remove obsolete comment about r->gw_dechunk

r->gw_dechunk->b is not a candidate for using generic chunk buffers.
chunked headers are generally smaller and fit in default 64 byte alloc.
Also,

[core] remove obsolete comment about r->gw_dechunk

r->gw_dechunk->b is not a candidate for using generic chunk buffers.
chunked headers are generally smaller and fit in default 64 byte alloc.
Also, lighttpd limits chunked header to 1k.

Avoid unneeded optimization since HTTP/1.1 use is likely to diminish
over time in favor of HTTP/2 or HTTP/3 or later.

show more ...


# 6e62b842 22-Sep-2021 Glenn Strauss <[email protected]>

[core] splice() data from backends to tempfiles

splice() data from backends to tempfiles (where splice() is available);
reduce copying data to userspace when writing data to tempfiles

Note: splice(

[core] splice() data from backends to tempfiles

splice() data from backends to tempfiles (where splice() is available);
reduce copying data to userspace when writing data to tempfiles

Note: splice() on Linux returns EINVAL if target file has O_APPEND set
so lighttpd uses pwrite() (where available) when writing to tempfiles
(instead of lseek() + write(), or O_APPEND and write())

show more ...


# f19f7162 17-Sep-2021 Glenn Strauss <[email protected]>

[multiple] internal control for backend read bytes

separate internal control for backend max_per_read

When not streaming, large reads will be flushed to temp files on disk.
When streaming, use a sm

[multiple] internal control for backend read bytes

separate internal control for backend max_per_read

When not streaming, large reads will be flushed to temp files on disk.
When streaming, use a smaller buffer to help reduce memory usage.

When not streaming, attempt to read and empty kernel socket bufs.
(e.g. MAX_READ_LIMIT 256k)

When writing to sockets (or pipes) attempt to fill kernel socket bufs.
(e.g. MAX_WRITE_LIMIT 256k)

show more ...


# d59d5e59 17-Sep-2021 Glenn Strauss <[email protected]>

[core] improve chunk buffer reuse from backends

improve oversized chunk buffer reuse from backends


# 0b56c16a 16-Sep-2021 Glenn Strauss <[email protected]>

[core] reduce oversized mem alloc for backends

reduce oversized memory allocations when reading from backends:
avoid extra power-2 allocation for 1 byte ('\0') when data
available to read is exactly

[core] reduce oversized mem alloc for backends

reduce oversized memory allocations when reading from backends:
avoid extra power-2 allocation for 1 byte ('\0') when data
available to read is exactly power-2

show more ...


# f99cb7d7 09-Sep-2021 Glenn Strauss <[email protected]>

[core] quiet coverity warnings


# a3e9faa4 09-Sep-2021 Glenn Strauss <[email protected]>

[multiple] quiet coverity warnings


# da562e3f 24-Jul-2021 Glenn Strauss <[email protected]>

[core] http_response_read() indicate resp finished

return HANDLER_FINISHED from http_response_read() if response finished,
whether due to reading EOF (prior behavior), or if Content-Length was
provi

[core] http_response_read() indicate resp finished

return HANDLER_FINISHED from http_response_read() if response finished,
whether due to reading EOF (prior behavior), or if Content-Length was
provided and we have finished reading Content-Length, or if a module
sets r->resp_body_finished for any other reason. This may save an
unnecessary poll() and read() to receive EOF when Content-Length has
already been read.

show more ...


# 39a57798 24-Jul-2021 Glenn Strauss <[email protected]>

[core] improve handling of suboptimal backend wr

more efficiently handle reading of suboptimal backend write behavior

check to accumulate small reads in mem before flushing to temp file


# 833d6587 24-Jul-2021 Glenn Strauss <[email protected]>

[core] http_response_append_{buffer,mem}()

manage r->resp_body_scratchpad in new funcs
http_response_append_buffer()
http_response_append_mem()
rather than
http_chunk_decode_append_buffer()

[core] http_response_append_{buffer,mem}()

manage r->resp_body_scratchpad in new funcs
http_response_append_buffer()
http_response_append_mem()
rather than
http_chunk_decode_append_buffer()
http_chunk_decode_append_mem()
which now only decode chunked encoding, more apropos for the func names

show more ...


# 2ef31a1b 24-Jul-2021 Glenn Strauss <[email protected]>

[core] chunkqueue_append_buffer always clears buf

chunkqueue_append_buffer() always clears buffer
(instead of relying on caller to do so after the call)


123456789