]> git.kaiwu.me - haproxy.git/commit
MINOR: (de)compression: add decompression infrastructure
authorAurelien DARRAGON <adarragon@haproxy.com>
Wed, 12 Aug 2026 09:58:52 +0000 (11:58 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 28 Aug 2026 15:26:38 +0000 (17:26 +0200)
commit545bfa6a6b72eeb85452680ccb89b0c1ee7c4065
treed8c038e4616e42de7f44c6758095a84db9f11ca9
parent9addb6729d9cb98faedc23ad6c1a3598ade13a62
MINOR: (de)compression: add decompression infrastructure

Add basic decompression infrastructure to haproxy compression API, which
will be used in upcoming commits to implement TCP and HTTP decompression.

For now decompression exclusively leverages uslz (slz decompression API).

As such it supports the following decompression options:

 - uslz-auto: this is automatic format detection from libslz/uslz: it is
   able to guess if the stream is gzip or zlib (deflate) one, and if it
   is none of the two, it fallsback on raw-reflate.
 - gzip: if the stream is valid gzip, it will be decompressed, else the
   filter will refuse to decompress the stream.
 - "deflate": if the stream is valid deflate (zlib), it will be
   decompressed, else the filter will refuse to decompress the stream.
 - "raw-deflate": the stream will be assumed to be raw deflate (deflate
   without enveloppe, also known as (rfc1951), the filter will try to
   decompress it unless the stream is invalid.
include/haproxy/compression.h
include/haproxy/decompression-t.h [new file with mode: 0644]
src/compression.c