- use a more iterative approach in inflate code (instead of a retry-style)
[m6w6/ext-http] / KnownIssues.txt
index 8fa37c75e403221824f75bc2c3ced7dde7104e05..62ba03294c4bc96bb1b98c6c2356ebf110add072 100644 (file)
@@ -2,31 +2,32 @@ Known Issues
 ============
 $Id$
 
-Issues I don't know how to solve yet are as follows:
+HttpResponse (only in PHP-5.1+):
+       HttpResponse::getHeader() does not work in Apache2 with a 
+PHP version lower than 5.1.3 (as mod_php).
 
-There are odd memory corruptions when HttpRequest objects
-are created with urls out of an array and attached to an
-HttpRequestPool object -- see HttpRequestPool_001.phpt
+Windows:
+       If you keep getting "SSL connect error" when trying to issue 
+requests, try another (newer) libeay32.dll/ssleay32.dll pair.
 
-[Tue Jun 14 20:19:34 2005]  Script:  'tests/HttpRequestPool_001.php'
----------------------------------------
-/home/mike/dev/cvs/pecl/http/http_request_api.c(184) : Block 0x082919EF status:
-Beginning:      Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
-      End:      Unknown
----------------------------------------
-[Tue Jun 14 20:19:34 2005]  Script:  'tests/HttpRequestPool_001.php'
----------------------------------------
-/home/mike/dev/cvs/pecl/http/http_request_api.c(184) : Block 0x08291BE7 status:
-Beginning:      Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
-      End:      Unknown
----------------------------------------
-[Tue Jun 14 20:19:34 2005]  Script:  'tests/HttpRequestPool_001.php'
----------------------------------------
-/home/mike/dev/cvs/pecl/http/http_request_api.c(184) : Block 0x08291D3F status:
-Beginning:      Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
-      End:      Unknown
----------------------------------------
-/home/mike/dev/cvs/pecl/http/http_request_api.c(156) :  Freeing 0x08291D68 (36 bytes), script=tests/HttpRequestPool_001.php
-Last leak repeated 2 times
-=== Total 3 memory leaks detected ===
+Deflate/Inflate:
+       http_inflate() resp. the HttpInflateStream should be able to inflate
+any compressed data (gzip, deflate AKA zlib and raw deflate).  However,
+inflating raw deflated data causes a re-initialization of the inflate
+stream where the corresponding window bits are modified to tell libz
+to not check for zlib header bytes.  This is not preventable AFAICS.
+       http_deflate() resp. the HttpDeflateStream should be able to
+generate any compressed data (gzip, deflate AKA zlib and raw deflate);
+just use the flag for the data format you want to generate:
+HTTP_DEFLATE_TYPE_GZIP, HTTP_DEFLATE_TYPE_ZLIB or HTTP_DEFLATE_TYPE_RAW.
+       Using an encoding stream filter on a stream you read from, will
+not work as expected in a PHP version lower than 5.1.3.
 
+Internals:
+       -       there's a memleak with sizeof(zval) for each thrown exception, 
+               which ends up in HttpRequestPoolExcepiont::$exceptionStack, in 
+               HttpRequestPool::__construct(); it doesn't happen with wrapped
+               exceptions in HttpRequestPool::send().
+
+       -       our http_urlencode_hash() only handles arrays and does not
+               differentiate between prefixes for numeric or string keys.