Edit report at http://bugs.php.net/bug.php?id=47178&edit=1
ID: 47178 Updated by: m...@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] m...@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] whar...@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_whar...@uk.ibm.com ------------------------------------------------------------------------ [2009-02-28 14:01:33] m...@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