History log of /lighttpd1.4/src/mod_deflate.c (Results 1 – 25 of 107)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: lighttpd-1.4.69
# 6516c5a2 19-Jan-2023 Glenn Strauss <[email protected]>

[multiple] clang -Wstrict-prototypes for C2x

adjustments to compile warnings-free with recent clang changes that
warn about potential behavior change for non-prototypes, including
generic function p

[multiple] clang -Wstrict-prototypes for C2x

adjustments to compile warnings-free with recent clang changes that
warn about potential behavior change for non-prototypes, including
generic function pointers e.g. int(*)()

x-ref:
https://discourse.llvm.org/t/rfc-enabling-wstrict-prototypes-by-default-in-c/60521
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2432.pdf
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2841.htm

show more ...


# 8f84c7be 14-Jan-2023 Glenn Strauss <[email protected]>

[multiple] quiet some coverity false positives


Revision tags: lighttpd-1.4.68
# ff99a35c 01-Jan-2023 Glenn Strauss <[email protected]>

[mod_deflate] "deflate" should include zlib header

(thx schaschlik)

RFC 2616 3.5 Content Codings
https://www.rfc-editor.org/rfc/rfc2616#section-3.5

deflate
The "zlib" format defined in

[mod_deflate] "deflate" should include zlib header

(thx schaschlik)

RFC 2616 3.5 Content Codings
https://www.rfc-editor.org/rfc/rfc2616#section-3.5

deflate
The "zlib" format defined in RFC 1950 [31] in combination with
the "deflate" compression mechanism described in RFC 1951 [29].

RFC 7230 4.2.2. Deflate Coding
https://www.rfc-editor.org/rfc/rfc7230#section-4.2.2

RFC 9110 8.4.1.2. Deflate Coding
https://datatracker.ietf.org/doc/html/rfc9110#section-8.4.1.2

The "deflate" coding is a "zlib" data format [RFC1950] containing a
"deflate" compressed data stream [RFC1951] that uses a combination of
the Lempel-Ziv (LZ77) compression algorithm and Huffman coding.

Note: Some non-conformant implementations send the "deflate"
compressed data without the zlib wrapper.

show more ...


# 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)


# b82d7b8a 06-Dec-2022 Glenn Strauss <[email protected]>

[multiple] mark mod_*_plugin_init() funcs cold


# 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


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

[mod_deflate] skip cache for Cache-Control: private,no-store

skip deflate cache for Cache-Control 'private' or 'no-store' responses


Revision tags: lighttpd-1.4.67, lighttpd-1.4.66
# 5f70dac7 18-Jul-2022 Glenn Strauss <[email protected]>

[mod_deflate] fix use of libdeflate for files>128k (fixes #3161)

must use mmap MAP_SHARED for writes to modify file on disk
(MAP_PRIVATE does not modify underlying file on disk)

(thx flynn)

x-ref:

[mod_deflate] fix use of libdeflate for files>128k (fixes #3161)

must use mmap MAP_SHARED for writes to modify file on disk
(MAP_PRIVATE does not modify underlying file on disk)

(thx flynn)

x-ref:
"gzip dynamic compression broken with source size bigger than 128k"
https://redmine.lighttpd.net/issues/3161

show more ...


Revision tags: 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


# 2d1b1672 13-Feb-2022 Glenn Strauss <[email protected]>

[core] chunk_file_pread() to wrap pread()


# 14e5404a 08-Feb-2022 Glenn Strauss <[email protected]>

[mod_deflate] improve loop compressing file chunk


# 129cbc1e 08-Feb-2022 Glenn Strauss <[email protected]>

[mod_deflate] use pread if available


# e05ce805 08-Feb-2022 Glenn Strauss <[email protected]>

[multiple] shared code for struct chunk and mmap

chunkqueue_chunk_file_view()

reduces size of struct chunk

use mmap with mod_deflate libdeflate, if mmap available,
even when lighttpd not built w

[multiple] shared code for struct chunk and mmap

chunkqueue_chunk_file_view()

reduces size of struct chunk

use mmap with mod_deflate libdeflate, if mmap available,
even when lighttpd not built with --enable-mmap

avoid using mmap on temp files in chunkqueue (c->file.is_temp)
since pread() with a reasonable block size is typically as fast
or faster than mmap on files read sequentially and used only once,
especially when writing results to limited-size socket buffers
(and lighttpd temp files are, in most cases, by default about 1 MB)
(Exception: sometimes mmap is used for convenience or to fulfill
a requirement, e.g. one-shot libdeflate in mod_deflate)
(There are many factors which influence speed of mmap versus pread,
so this should not be construed as generic usage advice.)

show more ...


# 6cd3b5f8 06-Feb-2022 Glenn Strauss <[email protected]>

[multiple] use new sys_setjmp_eval3() interface

wrap system os setjmp or compiler try/catch and access mmap inside
callback to protect against SIGBUS (or _WIN32 EXCEPTION_IN_PAGE_ERROR)


# d662fae3 06-Feb-2022 Glenn Strauss <[email protected]>

[mod_deflate] mark input bytes const


# 46110127 31-Jan-2022 Glenn Strauss <[email protected]>

[mod_deflate] prototype using libdeflate w/ mmap


# a78f447c 26-Jan-2022 Glenn Strauss <[email protected]>

[mod_deflate] collect mmap code

mmap entire file to compress on 64-bit systems


# 2759d1eb 30-Jan-2022 Glenn Strauss <[email protected]>

[mod_deflate] fix to return 304 with If-None-Match (fixes #3143)

(thx meier22)

Bug in lighttpd 1.4.51 - lighttpd 1.4.64

x-ref:
"mod_deflate not returning 304 Not Modified for If-None-Match reque

[mod_deflate] fix to return 304 with If-None-Match (fixes #3143)

(thx meier22)

Bug in lighttpd 1.4.51 - lighttpd 1.4.64

x-ref:
"mod_deflate not returning 304 Not Modified for If-None-Match request"
https://redmine.lighttpd.net/issues/3143
"How to get 304 Not Modified - response with mod_deflate"
https://redmine.lighttpd.net/boards/2/topics/10253

show more ...


Revision tags: lighttpd-1.4.64
# 96fd7e5d 12-Dec-2021 Glenn Strauss <[email protected]>

[multiple] remove r->physical.etag

(no longer used; was used as temporary buffer)


Revision tags: lighttpd-1.4.63, lighttpd-1.4.62, lighttpd-1.4.61, lighttpd-1.4.60
# 9a2404ce 13-Jul-2021 Glenn Strauss <[email protected]>

[core] quiet compiler warnings

cast away signedness warning in request_check_hostname()
mod_gnutls https_add_ssl_client_entries crts allocated if crt_size != 0
(which is already checked earlier in

[core] quiet compiler warnings

cast away signedness warning in request_check_hostname()
mod_gnutls https_add_ssl_client_entries crts allocated if crt_size != 0
(which is already checked earlier in routine)

report from FaceBook Infer static analysis tool (https://fbinfer.com/)
- quiet dead store warnings
- check return != NULL from allocation funcs

show more ...


# f4ff56e0 12-Jul-2021 Glenn Strauss <[email protected]>

[mod_deflate] use http_header_str_contains_token


# 7a913fb1 23-Jun-2021 Glenn Strauss <[email protected]>

[mod_deflate] improve compress.*->deflate.* remap


# a3603074 23-Jun-2021 Glenn Strauss <[email protected]>

[mod_deflate] use brotli quality 5 by default

BROTLI_DEFAULT_QUALITY is 11, which may lead to a higher compression
ratio, but potentially at a cost of taking *many* multiples of the
time taken to co

[mod_deflate] use brotli quality 5 by default

BROTLI_DEFAULT_QUALITY is 11, which may lead to a higher compression
ratio, but potentially at a cost of taking *many* multiples of the
time taken to compress at quality level 5.

x-ref:
https://almanac.httparchive.org/en/2020/compression#fig-3
https://blog.cloudflare.com/results-experimenting-brotli/
https://blogs.akamai.com/2016/02/understanding-brotlis-potential.html
https://expeditedsecurity.com/blog/nginx-brotli/

show more ...


12345