Skip to content

gzip: fix handling of concatenated payloads #10204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

edsiper
Copy link
Member

@edsiper edsiper commented Apr 11, 2025

Fixes #9058


Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

edsiper added 2 commits April 10, 2025 22:24
Signed-off-by: Eduardo Silva <eduardo@chronosphere.io>
Signed-off-by: Eduardo Silva <eduardo@chronosphere.io>
Brandon Strub added 2 commits May 8, 2025 08:28
The implementation of flb_gzip_count is flawed as it relies on looking
for valid gzip headers. A gzip payload can be generated that includes
a valid gzip header in the gzip body - see test_header_in_gzip_body.

Removed flb_gzip_count and associated handling in favor of utilizing
mz_inflate to find the boundaries between concatenated gzip payloads
during decompression. mz_inflate will stop when it reaches the end of
the gzip body and mz_stream.in_avail contains the bytes left in the
buffer for processing.

Signed-off-by: Brandon Strub <brandon.strub@veritas.com>
Utilize new flb_gzip_uncompress_multi method to support concatenated
gzip payloads.

Signed-off-by: Brandon Strub <brandon.strub@veritas.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Gzip Decompression Failure Due to 100MB Limit in Fluent Bit 3.0.7
1 participant