Bug #47178 [Sus->Fbk]: Missing gzip headers in gzencode() output
Edit report at http://bugs.php.net/bug.php?id=47178&edit=1
ID: 47178
Updated by: mike@php.net
Reported by: wharmby at uk dot ibm dot com
Summary: Missing gzip headers in gzencode() output
-Status: Suspended
+Status: Feedback
Type: Bug
Package: Zlib Related
Operating System: Windows XP
PHP Version: 6CVS-2009-01-21 (snap)
Assigned To: mike
New Comment:
So? This code went into trunk now.
Previous Comments:
------------------------------------------------------------------------
[2009-03-03 22:11:13] mike@php.net
Hi Andy!
Sorry for the standard-bla of the quick fix in my previos response.
Interestingly, gzencode(..., FORCE_DEFLATE) does not make any sense to
me in PHP versions lower than v6. I cannot remember why or even if I
noticed this legacy behaviour back when I reimplemented zlib code.
For clarification:
RFC1951 = raw deflate
- not much to say here
RFC1950 = zlib encoding, AKA HTTP deflate;
- being [zlib header][deflated data][adler checksum]
RFC1952 = gzip encoding
- being [gzip header][deflated data][crc32 checksum, original size]
The output of PHP5s gzencode(..., FORCE_DEFLATE) is neither of the
previous formats, but rather zlib encoded data additionally prepended
with a gzip header:
[gzip header][zlib header][deflated data][adler checksum]
This is obscure IMHO.
Obviously, this exists and is even documented for ages, so I kindly ask
you to take this issue to internals@ for discussion, so people can
decide what's going to happen.
Thank you.
------------------------------------------------------------------------
[2009-03-02 11:01:28] wharmby@php.net
Hi Mike
If you think the bug lies in php5 can you re-assign to that release
please. I will fix the PHPT accordingly
Regards
Andy
------------------------------------------------------------------------
[2009-03-02 10:50:14] wharmby at uk dot ibm dot com
Hi Mike
Can you expand on your reason for closing this defect as bogus a
little more please given that:
(1) The same test produces different results on php 5.2 and 5.3,
i.e the output from gzencode() with FORCE_DEFLATE includes the zlib
headers in both cases.
(2) The PHP manual says for the gzencode() option 'encoding mode'
"If you use FORCE_DEFLATE, you get a standard zlib deflated
string (inclusive zlib headers) after the gzip file header
but without the trailing crc32 checksum. "
This suggests that the output should include zlib headers.
So if the PHP 6 behaviour is correct does this not mean there is a
bug in both PHP 5 code and description of the command in the PHP
manual ? I raised the bug against PHP 6 as its behaviour differed to
previous releases and I assumed it was a bug in the new zlib code
but if the bug lies in PHP % I am happy to fix up the new PHPT's and
open a defect against PHP 5.
Regards
Andy
Andy Wharmby
E-mail: andy_wharmby@uk.ibm.com
------------------------------------------------------------------------
[2009-02-28 14:01:33] mike@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
Of course raw deflate encoded data does not have a gzip header.
------------------------------------------------------------------------
[2009-01-21 11:41:35] wharmby at uk dot ibm dot com
New tests dropped for gzencode dropped to php 5.2, 5.3 and 6.
ext/zlib/tests/gzencode_variation2
ext/zlib/tests/gzencode_variation2-win32
in PHP 6 both tagged with XFAIL sections referencing this defect
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=47178
--
Edit this bug report at http://bugs.php.net/bug.php?id=47178&edit=1
Thread (9 messages)