Bug #47178 [Sus->Fbk]: Missing gzip headers in gzencode() output

From: Date: Mon, 31 May 2010 13:23:29 +0000
Subject: Bug #47178 [Sus->Fbk]: Missing gzip headers in gzencode() output
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-150960@lists.php.net to get a copy of this message
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)

« previous php.bugs (#150960) next »