History log of /lighttpd1.4/src/http_header.h (Results 1 – 24 of 24)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: lighttpd-1.4.69
# 25f5085a 09-Jan-2023 Glenn Strauss <[email protected]>

[multiple] spelling: github action check-spelling


Revision tags: lighttpd-1.4.68, lighttpd-1.4.67, lighttpd-1.4.66, lighttpd-1.4.65
# 9a3f6c52 08-Apr-2022 Glenn Strauss <[email protected]>

[core] HTTP/2 PRIORITY_UPDATE frame (experimental)

*experimental* support for HTTP/2 PRIORITY_UPDATE frame

x-ref:
"Extensible Prioritization Scheme for HTTP"
https://datatracker.ietf.org/doc/ht

[core] HTTP/2 PRIORITY_UPDATE frame (experimental)

*experimental* support for HTTP/2 PRIORITY_UPDATE frame

x-ref:
"Extensible Prioritization Scheme for HTTP"
https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-priority-12
https://datatracker.ietf.org/doc/html/rfc9218

show more ...


# 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, lighttpd-1.4.63, lighttpd-1.4.62, lighttpd-1.4.61, lighttpd-1.4.60
# 0f90a9e3 14-Jun-2021 Glenn Strauss <[email protected]>

[core] reduce memcmp in http_request_parse_header

extend http_header_parse_ctx to support enum http_header_h2_e
HTTP/2 pseudo-headers in hpctx->id before using memcmp()


# f8bd028d 25-May-2021 Glenn Strauss <[email protected]>

[core] http_header_hkey_get() perf (better asm)


# 26f354cb 21-Mar-2021 Glenn Strauss <[email protected]>

[multiple] http_header APIs to reduce str copies


Revision tags: lighttpd-1.4.59, lighttpd-1.4.58, lighttpd-1.4.57, lighttpd-1.4.56, lighttpd-1.4.56-rc7, lighttpd-1.4.56-rc6, lighttpd-1.4.56-rc5, lighttpd-1.4.56-rc4, lighttpd-1.4.56-rc3, lighttpd-1.4.56-rc2, lighttpd-1.4.56-rc1
# 3fbb5773 13-Sep-2020 Glenn Strauss <[email protected]>

[core] http_header_e <=> lshpack_static_hdr_idx

map enum http_header_e to enum lshpack_static_hdr_idx
map enum lshpack_static_hdr_idx to enum http_header_e


# 367f30a6 13-Sep-2020 Glenn Strauss <[email protected]>

[multiple] extend enum http_header_e list


# 2e0676fd 11-Sep-2020 Glenn Strauss <[email protected]>

[core] extend (data_string *) to store header id

(optional addition to (data_string *), used by http_header.[ch])

extend (data_string *) instead of creating another data_* TYPE_*
(new data type w

[core] extend (data_string *) to store header id

(optional addition to (data_string *), used by http_header.[ch])

extend (data_string *) instead of creating another data_* TYPE_*
(new data type would probably have (data_string *) as base class)
(might revisit choice in the future)

HTTP_HEADER_UNSPECIFIED has been removed. It was used in select
locations as an optimization to avoid looking up enum header_header_e
before checking the array, but the ordering in the array now relies
on having the id. Having the id allows for a quick check if a common
header is present or not in the htags bitmask, before checking the
array, and allows for integer comparison in the log(n) search of the
array, instead of strncasecmp().

With HTTP_HEADER_UNSPECIFIED removed, add optimization to set bit
in htags for HTTP_HEADER_OTHER when an "other" header is added,
but do not clear the bit, as there might be addtl "other" headers

show more ...


# 92e5a021 11-Sep-2020 Glenn Strauss <[email protected]>

[core] http_header_hkey_get_lc() for HTTP/2

header field-names are required to be lowercase for HTTP/2
so specialize http_header_hkey_get() as http_header_hkey_get_lc()
for simpler comparison

lower

[core] http_header_hkey_get_lc() for HTTP/2

header field-names are required to be lowercase for HTTP/2
so specialize http_header_hkey_get() as http_header_hkey_get_lc()
for simpler comparison

lowercase field-names in http_headers[], as it does not matter for
buffer_eq_icase_ssn(), which is used with http_headers[] for HTTP/1.x

show more ...


# babf0d0e 11-Sep-2020 Glenn Strauss <[email protected]>

[core] separate http_header_e from _htags bitmask

separate http_header_e index from r->{rqst,resp}_htags bitmask
(allows http_header_e remain 32-bit and to be used in array indexes
while also allow

[core] separate http_header_e from _htags bitmask

separate http_header_e index from r->{rqst,resp}_htags bitmask
(allows http_header_e remain 32-bit and to be used in array indexes
while also allowing r->{rqst,resp}_htags to grow to 64-bits wide
in the future, without requiring invasive changes)

show more ...


# db7b51a4 09-Aug-2020 Glenn Strauss <[email protected]>

[core] http_header_parse_hoff()

moved and renamed from connections.c:connection_read_header_hoff()


# 517e3278 30-Jul-2020 Glenn Strauss <[email protected]>

[core] HTTP2-Settings


# 0fb391c0 30-Jul-2020 Glenn Strauss <[email protected]>

[core] http_header_remove_token()


# 10dbe38a 19-May-2020 Glenn Strauss <[email protected]>

[core] stricter parse of numerical digits

stricter parse of numerical digits for http status code, port num,
and a few other places. (stricter parse than that of strtol())

content ranges are still

[core] stricter parse of numerical digits

stricter parse of numerical digits for http status code, port num,
and a few other places. (stricter parse than that of strtol())

content ranges are still parsed more loosely at points of use

show more ...


Revision tags: lighttpd-1.4.55
# a200e0c2 22-Jan-2020 Glenn Strauss <[email protected]>

[core] use uint32_t in http_header.[ch]

headers should never approach anywhere remotely close to > 4 GB


# 7c7f8c46 13-Jan-2020 Glenn Strauss <[email protected]>

[multiple] split con, request (very large change)

NB: r->tmp_buf == srv->tmp_buf (pointer is copied for quicker access)

NB: request read and write chunkqueues currently point to connection
chun

[multiple] split con, request (very large change)

NB: r->tmp_buf == srv->tmp_buf (pointer is copied for quicker access)

NB: request read and write chunkqueues currently point to connection
chunkqueues; per-request and per-connection chunkqueues are
not distinct from one another
con->read_queue == r->read_queue
con->write_queue == r->write_queue

NB: in the future, a separate connection config may be needed for
connection-level module hooks. Similarly, might need to have
per-request chunkqueues separate from per-connection chunkqueues.
Should probably also have a request_reset() which is distinct from
connection_reset().

show more ...


# 88ac4367 08-Jan-2020 Glenn Strauss <[email protected]>

[core] (const connection *) in http_header_*_get()


# 785037dd 02-Oct-2019 Glenn Strauss <[email protected]>

[core] http_header.c internal inline funcs


# 41944e3b 21-Jun-2019 Glenn Strauss <[email protected]>

[core] add User-Agent to http_header_e enum

recognize as common header

(minor performance enhancement)


# e2b4c309 15-Jun-2019 Glenn Strauss <[email protected]>

[core] http_header_str_contains_token()


# 49ed72ce 05-Jun-2019 Glenn Strauss <[email protected]>

[core] mark some more funcs w/ __attribute_pure__


Revision tags: lighttpd-1.4.54, lighttpd-1.4.53, lighttpd-1.4.52
# f13db690 15-Nov-2018 Glenn Strauss <[email protected]>

[core] fix setting of headers previously reset (fixes #2919)

bug may result in long delays when using mod_deflate on connections
with keep-alive, as the result is sent without Content-Length or
Tran

[core] fix setting of headers previously reset (fixes #2919)

bug may result in long delays when using mod_deflate on connections
with keep-alive, as the result is sent without Content-Length or
Transfer-Encoding

(regression in lighttpd 1.4.51)

(thx GilGalaad)

x-ref:
"high latency on 1.4.51 + proxy + deflate"
https://redmine.lighttpd.net/boards/2/topics/8365
https://redmine.lighttpd.net/issues/2919

show more ...


Revision tags: lighttpd-1.4.51
# 3dd3cde9 09-Sep-2018 Glenn Strauss <[email protected]>

[core] abstraction layer for HTTP header manip

http_header.[ch]
convert existing calls to manip request/response headers
convert existing calls to manip environment array (often header-related)