|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #52926 stream_context_set_default() does not work as intended with stream chaining
Submitted: 2010-09-26 15:07 UTC Modified: 2011-04-03 15:15 UTC
From: simast at gmail dot com Assigned: pajoye
Status: Closed Package: Zlib related
PHP Version: 5.3.3 OS: Windows
Private report: No CVE-ID:
 [2010-09-26 15:07 UTC] simast at gmail dot com

I was trying to add gzip/deflate support to standard HTTP streams (code attached). 
It seems stream_context_set_default() works fine as long as stream wrappers are 
not chained, like when used with "compress.zlib://" it will not use options as set 
with this function and will revert to php default ones.


Test script:

	'http' => array(
		'protocol_version' => 1.1, // HTTP 1.1 compatible
		'header' => array(
			'Connection: close', // No Keep-Alive
			'Accept-Encoding: gzip, deflate' // We support content compression


Expected result:
Default stream options should be used for chained streams as well.


zlib_inner_open (last revision 2010-09-26 19:49 UTC) by

Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2010-09-26 21:48 UTC]
-Status: Open +Status: Analyzed -Package: Streams related +Package: Zlib Related
 [2010-09-26 21:48 UTC]
Fixed in attached patch.

The problem is php_stream_gzopen doesn't forward the context when opening the inner stream; this isn't limited to default contexts.
 [2010-09-26 21:49 UTC]
The following patch has been added/updated:

Patch Name: zlib_inner_open
Revision:   1285530552
 [2010-09-26 22:34 UTC] simast at gmail dot com
That was quick! I imagine this patch will fix the following code as well?

	stream_context_create(array('http' => ...))

 [2010-09-26 22:46 UTC]
Automatic comment from SVN on behalf of pajoye
Log: - fix bug #52926, zlib fopen wrapper does not use the context
 [2010-09-26 22:47 UTC]
-Status: Analyzed +Status: Closed -Assigned To: +Assigned To: pajoye
 [2010-09-26 22:47 UTC]
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Sun Nov 29 05:01:53 2015 UTC