summaryrefslogtreecommitdiff
path: root/ext/zlib/zlib.c
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2012-04-24 19:50:00 +0200
committerMichael Wallner <mike@php.net>2012-04-24 19:50:00 +0200
commitdf00b64cb93dafbe5ae47bf733e826b54b32ae37 (patch)
treef4360b7792e25e56b37986fb00f814abeacd0c82 /ext/zlib/zlib.c
parentf21376d6688ef51d6d6764016f8a4c2e2fd57549 (diff)
downloadphp-git-df00b64cb93dafbe5ae47bf733e826b54b32ae37.tar.gz
fixed bug #61820
using ob_gzhandler will complain about headers already sent when no compression the Vary header should only be sent on the PHP_OUTPUT_HANDLER_START event
Diffstat (limited to 'ext/zlib/zlib.c')
-rw-r--r--ext/zlib/zlib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index d472573b79..545979dc9c 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -187,7 +187,9 @@ static int php_zlib_output_handler(void **handler_context, php_output_context *o
-Vary: $ HTTP_ACCEPT_ENCODING=gzip ./sapi/cgi/php <<<'<?php ob_start("ob_gzhandler"); echo "foo\n"; ob_end_clean();'
-Vary: $ HTTP_ACCEPT_ENCODING= ./sapi/cgi/php <<<'<?php ob_start("ob_gzhandler"); echo "foo\n"; ob_end_clean();'
*/
- if (output_context->op != (PHP_OUTPUT_HANDLER_START|PHP_OUTPUT_HANDLER_CLEAN|PHP_OUTPUT_HANDLER_FINAL)) {
+ if ((output_context->op & PHP_OUTPUT_HANDLER_START)
+ && (output_context->op != (PHP_OUTPUT_HANDLER_START|PHP_OUTPUT_HANDLER_CLEAN|PHP_OUTPUT_HANDLER_FINAL))
+ ) {
sapi_add_header_ex(ZEND_STRL("Vary: Accept-Encoding"), 1, 1 TSRMLS_CC);
}
return FAILURE;