Checkout
Jim Jagielski
committed
on 13 Apr 17
Merge r1790852, r1790853, r1790860 from trunk:
Merge r1761714, r1762512, r1762515, r1771791, r1779077, r1779091, r1779699, r1790852, r179085… Show more
Merge r1790852, r1790853, r1790860 from trunk:

Merge r1761714, r1762512, r1762515, r1771791, r1779077, r1779091, r1779699, r1790852, r1790853, r1790860 from trunk:

mod_brotli: Add initial implementation.

This new module supports dynamic Brotli (RFC 7932) compression.  Existing

mod_deflate installations can benefit from better compression ratio by

sending Brotli-compressed data to the clients that support it:

   SetOutputFilter BROTLI_COMPRESS;DEFLATE

The module features zero-copy processing, which is only possible with the

new API from the upcoming 1.0.x series of brotli [1].  The Linux makefile

works against libbrotli [2], as currently the core brotli repository doesn't

offer a way to build a library [3].  Apart from that, only the CMake build

is now supported.

[1] https://github.com/google/brotli

[2] https://github.com/bagder/libbrotli

[3] https://github.com/google/brotli/pull/332

mod_brotli: Allow compression ratio logging with new BrotliFilterNote

directive.

mod_brotli: Handle new 'no-brotli' internal environment variable that

disables Brotli compression for a particular request.

This mimicks how mod_deflate handles the 'no-gzip' env variable, and

should allow seamless migration for configurations that use it.

mod_brotli: Explicitly cast 'const uint8_t *' to 'const char *' when using

the data received from Brotli to create a bucket.

This fixes a /W4 warning in my environment, and should also allow building

mod_brotli on NetWare.

Submitted by: NormW <normw gknw.net>

unused variable error could mistakenly note that brotli isn't available.

1st draft

Be more consitent in the layout, and fix the display of a multi lines <highlight> section

mod_brotli: Update makefile to allow using Brotli library >= 0.6.0.

The 0.6.0 version has just been released [1], and it contains the

necessary API required for mod_brotli.

[1] https://github.com/google/brotli/releases/tag/v0.6.0

mod_brotli: Fix a minor typo in the description of BrotliAlterETag

that has been referring to httpd 2.2.x.

There's no mod_brotli in 2.2.x.

mod_brotli: Comment on the default choice (0) for BROTLI_PARAM_LGBLOCK.

Submitted by: kotkov, jim, jim, jailletc36, kotkov, kotkov, kotkov

Reviewed by: jim, jorton, icing

mod_brotli: Update makefile to allow using Brotli library >= 0.6.0.

The 0.6.0 version has just been released [1], and it contains the

necessary API required for mod_brotli.

[1] https://github.com/google/brotli/releases/tag/v0.6.0

mod_brotli: Fix a minor typo in the description of BrotliAlterETag

that has been referring to httpd 2.2.x.

There's no mod_brotli in 2.2.x.

mod_brotli: Comment on the default choice (0) for BROTLI_PARAM_LGBLOCK.

Submitted by: kotkov

Reviewed by: jim, jorton, icing

Show less