- Fixed build on php-trunk
[m6w6/ext-http] / KnownIssues.txt
index e4ce6c8c3d903b821cf381d72dd2e49453e86a45..96b3c0e99fd0d20cadef56986295dfac313956e8 100644 (file)
@@ -2,33 +2,32 @@ Known Issues
 ============
 $Id$
 
-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).
+PHP < 5.1.3:
+       HttpResponse::getHeader() does not work with Apache2 SAPIs.
+       Using an encoding stream filter on a stream you read from doesn't work.
 
 Windows:
        If you keep getting "SSL connect error" when trying to issue 
-requests, try another (newer) libeay32.dll/ssleay32.dll pair.
-
-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 a deflate stream filter on a stream you read from, will
-not work as expected, because the filter does not know when to finish,
-thus the trailing bytes (GZIP and ZLIB, not RAW) won't ever be generated.
+               requests, try another (newer) libeay32.dll/ssleay32.dll pair.
 
 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.
+       Our http_urlencode_hash() does not differentiate between prefixes
+               for numeric or string keys.
+       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.
+       LFS dependant parts of libcurl are left out because of off_t,
+               respectively off64_t confusion.
+       Persistent handles and "cookiestore" request option do interfere,
+               as libcurl saves the cookies to the file on curl_easy_destroy(),
+               cookies are not saved until the CURL handle will be recycled.
+                       Thus one would either need to
+                               * run PHP with http.persistent.handles.limit = 0
+                               * call http_persistent_handles_clean() every request
+                               * call $HttpRequest->flushCookies(), which is available
+                                 since libcurl v7.17.1 and does not work with the
+                                 procedural API
+                       Anyway, none of these options is really perfect.
+       HTTP and Proxy authentication information (username/password) can not be
+               unset with NULL prior libcurl v7.19.6 and separate options for setting
+               username and password--which work--are only available since v7.19.6.