Skip to content

bpo-39389: gzip: fix compression level metadata #18077

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

Merged

Conversation

wchargin
Copy link
Contributor

@wchargin wchargin commented Jan 20, 2020

As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the gzip module always indicated maximum compression.

Test Plan:
Unit tests added; they fail before this patch (in 2 of 3 cases) and pass
after it.

wchargin-branch: gzip-compresslevel-metadata

https://bugs.python.org/issue39389

As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.

Test Plan:
Unit tests added; they fail before this patch (in 2 of 3 cases) and pass
after it.

wchargin-branch: gzip-compresslevel-metadata
wchargin-branch: gzip-compresslevel-metadata
@miss-islington
Copy link
Contributor

Thanks @wchargin for the PR, and @serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.7, 3.8.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jan 21, 2020
As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.
(cherry picked from commit eab3b3f)

Co-authored-by: William Chargin <[email protected]>
@bedevere-bot
Copy link

GH-18100 is a backport of this pull request to the 3.8 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jan 21, 2020
As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.
(cherry picked from commit eab3b3f)

Co-authored-by: William Chargin <[email protected]>
@bedevere-bot
Copy link

GH-18101 is a backport of this pull request to the 3.7 branch.

miss-islington added a commit that referenced this pull request Jan 21, 2020
As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.
(cherry picked from commit eab3b3f)

Co-authored-by: William Chargin <[email protected]>
@wchargin
Copy link
Contributor Author

@serhiy-storchaka: Great; thank you for the review!

@wchargin wchargin deleted the wchargin-gzip-compresslevel-metadata branch January 21, 2020 15:45
shihai1991 pushed a commit to shihai1991/cpython that referenced this pull request Jan 31, 2020
As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.
ned-deily pushed a commit that referenced this pull request Mar 4, 2020
…18101)

* bpo-39389: gzip: fix compression level metadata (GH-18077)

As described in RFC 1952, section 2.3.1, the XFL (eXtra FLags) byte of a
gzip member header should indicate whether the DEFLATE algorithm was
tuned for speed or compression ratio. Prior to this patch, archives
emitted by the `gzip` module always indicated maximum compression.
(cherry picked from commit eab3b3f)

Co-authored-by: William Chargin <[email protected]>
webknjaz added a commit to cherrypy/cherrypy that referenced this pull request Nov 15, 2020
This change implements a fix to compression in gzip tool that CPython
applied per https://bugs.python.org/issue39389. It uses proper XFL
value in gzip header per https://tools.ietf.org/html/rfc1952, section
2.3.1.

Refs:
* python/cpython#18077 (CPython 3.9.0+)
* python/cpython#18100 (CPython 3.8.2+)
* python/cpython#18101 (CPython 3.7.7+)

Fixes #1849
webknjaz added a commit to cherrypy/cherrypy that referenced this pull request Nov 15, 2020
This change implements a fix to compression in gzip tool that CPython
applied per https://bugs.python.org/issue39389. It uses proper XFL
value in gzip header per https://tools.ietf.org/html/rfc1952, section
2.3.1.

Refs:
* python/cpython#18077 (CPython 3.9.0+)
* python/cpython#18100 (CPython 3.8.2+)
* python/cpython#18101 (CPython 3.7.7+)

Fixes #1849

(cherry picked from commit 3925ae9)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants