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

Reply via email to