summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-09-23 23:52:27 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-09-29 11:30:06 +0200
commit47a166c8378e8e670994f272c7f948b67014c619 (patch)
tree10433fa8f62d99ba3786644ff5587d61fe7c3696
parent9f5a77188c71bada8175dc48dd20847760bb7b10 (diff)
downloadphp-git-47a166c8378e8e670994f272c7f948b67014c619.tar.gz
Fix #78792: zlib.output_compression disabled by Content-Type: image/
Disabling output compression for images has served to fix bug #16109, where zlib compressed images apparently have caused issues with Navigator 4. This shouldn't be an issue with somewhat contemporary browsers. Other than that, this is an arbitrary restriction – why don't we disable the compression for some other media types as well (e.g. video/* and audio/*)? All in all, we should leave that decision to userland. Closes GH-6198.
-rw-r--r--NEWS4
-rw-r--r--UPGRADING2
-rw-r--r--main/SAPI.c7
3 files changed, 6 insertions, 7 deletions
diff --git a/NEWS b/NEWS
index d9b7b57cfd..f91bd85e71 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,10 @@ PHP NEWS
- SPL:
. SplFixedArray is now IteratorAggregate rather than Iterator. (alexdowad)
+- Zlib:
+ . Fixed bug #78792 (zlib.output_compression disabled by Content-Type: image/).
+ (cmb)
+
17 Sep 2020, PHP 8.0.0beta4
- Core:
diff --git a/UPGRADING b/UPGRADING
index 9fdfe5b6bb..c2e425ef11 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -662,6 +662,8 @@ PHP 8.0 UPGRADE NOTES
. deflate_init() will now return a DeflateContext object rather than a
resource. Return value checks using is_resource() should be replaced with
checks for `false`.
+ . zlib.output_compression is no longer automatically disabled for
+ Content-Type: image/*.
========================================
2. New Features
diff --git a/main/SAPI.c b/main/SAPI.c
index 01ec31f722..0a7f219e84 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -762,13 +762,6 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg)
len--;
}
- /* Disable possible output compression for images */
- if (!strncmp(ptr, "image/", sizeof("image/")-1)) {
- zend_string *key = zend_string_init("zlib.output_compression", sizeof("zlib.output_compression")-1, 0);
- zend_alter_ini_entry_chars(key, "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
- zend_string_release_ex(key, 0);
- }
-
mimetype = estrdup(ptr);
newlen = sapi_apply_default_charset(&mimetype, len);
if (!SG(sapi_headers).mimetype){