aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
AgeCommit message (Collapse)Author
2007-04-06fix out of memory handling issueYang Tse
2007-04-05runtests -t discovered this out of memory handling issuesYang Tse
2007-04-03Rob Jones fixed better #ifdef'ing for a bunch of #include lines.Daniel Stenberg
2007-03-27Update messageYang Tse
2007-03-26Internal function Curl_select() renamed to Curl_socket_ready()Yang Tse
2007-02-26Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem
since they're already included through "setup.h".
2007-02-25- Adam D. Moss made the HTTP CONNECT procedure less blocking when used fromDaniel Stenberg
the multi interface. Note that it still does a part of the connection in a blocking manner.
2007-02-21curlassert macro replaced with DEBUGASSERT macro defined in setup_once.hYang Tse
2007-02-18- Jeff Pohlmeyer identified two problems: first a rather obscure problem withDaniel Stenberg
the multi interface and connection re-use that could make a curl_multi_remove_handle() ruin a pointer in another handle. The second problem was less of an actual problem but more of minor quirk: the re-using of connections wasn't properly checking if the connection was marked for closure.
2007-02-12Rob Crittenden added support for NSS (Network Security Service) for theDaniel Stenberg
SSL/TLS layer. http://www.mozilla.org/projects/security/pki/nss/
2007-02-06compiler warning fixYang Tse
2007-02-05- Michael Wallner provided a patch that adds support for CURLOPT_TIMEOUT_MSDaniel Stenberg
and CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do the timeouts with millisecond resolution instead. The only restriction to that is the alarm() (sometimes) used to abort name resolves as that uses full seconds. I fixed the FTP response timeout part of the patch. Internally we now count and keep the timeouts in milliseconds but it also means we multiply set timeouts with 1000. The effect of this is that no timeout can be set to more than 2^31 milliseconds (on 32 bit systems), which equals 24.86 days. We probably couldn't before either since the code did *1000 on the timeout values on several places already.
2007-01-29- Michael Wallner reported that when doing a CONNECT with a custom User-AgentDaniel Stenberg
header, you got _two_ User-Agent headers in the CONNECT request...! Added test case 287 to verify the fix.
2007-01-24bail out on strdup() errorsDaniel Stenberg
2007-01-16- Armel Asselin improved libcurl to behave a lot better when an easy handleDaniel Stenberg
doing an FTP transfer is removed from a multi handle before completion. The fix also fixed the "alive counter" to be correct on "premature removal" for all protocols.
2007-01-14- David McCreedy provided libcurl changes for doing HTTP communication onDaniel Stenberg
non-ASCII platforms. It does add some complexity, most notably with more #ifdefs, but I want to see this supported added and I can't see how we can add it without the extra stuff added.
2007-01-03- David McCreedy made changes to allow base64 encoding/decoding to work onDaniel Stenberg
non-ASCII platforms.
2006-12-21Robson Braga Araujo reported bug #1618359Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1618359) and subsequently provided a patch for it: when downloading 2 zero byte files in a row, curl 7.16.0 enters an infinite loop, while curl 7.16.1-20061218 does one additional unnecessary request. Fix: During the "Major overhaul introducing http pipelining support and shared connection cache within the multi handle." change, headerbytecount was moved to live in the Curl_transfer_keeper structure. But that structure is reset in the Transfer method, losing the information that we had about the header size. This patch moves it back to the connectdata struct.
2006-12-15Fix typo.Gisle Vanem
2006-11-03Olaf Stueben provided a patch that I edited slightly. It fixes the notoriousDaniel Stenberg
KNOWN_BUGS #25, which happens when a proxy closes the connection when libcurl has sent CONNECT, as part of an authentication negotiation. Starting now, libcurl will re-connect accordingly and continue the authentication as it should.
2006-10-17Avoid typecasting a signed char to an int when using is*() functions, as thatDaniel Stenberg
could very well cause a negate number get passed in and thus cause reading outside of the array usually used for this purpose. We avoid this by using the uppercase macro versions introduced just now that does some extra crazy typecasts to avoid byte codes > 127 to cause negative int values.
2006-10-17Explicit typecast for Curl_debug() size argumentYang Tse
2006-10-17Compiler warning fixYang Tse
2006-10-15Compiler warning fixYang Tse
2006-10-13The tagging of application/x-www-form-urlencoded POST body data sentDan Fandrich
to the CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously included as part of the header). A message was also added to the command line tool to show when data is being sent, enabled when --verbose is used.
2006-10-11Remove redundant __CYGWIN__ symbol checkYang Tse
2006-09-12Compiler warning fixYang Tse
2006-09-10Compiler warning fixYang Tse
2006-09-07Major overhaul introducing http pipelining support and shared connectionDaniel Stenberg
cache within the multi handle.
2006-09-03Simplified #ifdef on WIN32; the statementGisle Vanem
" !defined(__GNUC__) || defined(__MINGW32__)" implies CygWin.
2006-08-30Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.Gisle Vanem
2006-08-29Watcom lacks <sys/time.h>.Gisle Vanem
2006-08-19Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPEDaniel Stenberg
command on subsequent requests on a re-used connection unless it has to.
2006-08-18Andrew Biggs pointed out a "Expect: 100-continue" flaw where libcurl didn'tDaniel Stenberg
send the whole request at once, even though the Expect: header was disabled by the application. An effect of this change is also that small (< 1024 bytes) POSTs are now always sent without Expect: header since we deem it more costly to bother about that than the risk that we send the data in vain.
2006-08-08Fixed a flaw in the "Expect: 100-continue" treatment. If you did two POSTsDaniel Stenberg
on a persistent connection and allowed the first to use that header, you could not disable it for the second request.
2006-08-02Mark Lentczner fixed how libcurl was not properly doing chunked encodingDaniel Stenberg
if the header "Transfer-Encoding: chunked" was set by the application. http://curl.haxx.se/bug/view.cgi?id=1531838
2006-07-27Yves Lejeune fixed so that replacing Content-Type: when doing multipartDaniel Stenberg
formposts work exactly the way you want it (and the way you'd assume it works)
2006-07-19remove variable declaration shadowing previously declared oneYang Tse
2006-07-19Remove variable declaration shadowing previously declared oneYang Tse
2006-07-04Toshiyuki Maezawa fixed a problem where you couldn't override theDaniel Stenberg
Proxy-Connection: header when using a proxy and not doing CONNECT.
2006-05-05Curl_https_getsock() was OpenSSL-specific and really should not be presentDaniel Stenberg
like this in this source file. The quickfix for now is to provide a simple version for GnuTLS builds. The GnuTLS version of libcurl doesn't yet allow fully non-blocking connects anyway so this function doesn't get used.
2006-05-04Roland Blom filed bug report #1481217Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by Michele Bini and David Byron. libcurl previously wrongly used GetLastError() on windows to get error details after socket-related function calls, when it really should use WSAGetLastError() instead. When changing to this, the former function Curl_ourerrno() is now instead called Curl_sockerrno() as it is necessary to only use it to get errno from socket-related functions as otherwise it won't work as intended on Windows.
2006-04-10First curl_multi_socket() commit. Should primarily be considered as an internalDaniel Stenberg
code rearrange to fit the future better.
2006-03-21Xavier Bouchoux made the SSL connection non-blocking for the multi interfaceDaniel Stenberg
(when using OpenSSL).
2006-02-11Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options thatDaniel Stenberg
an app can use to let libcurl only connect to a remote host and then extract the socket from libcurl. libcurl will then not attempt to do any transfer at all after the connect is done.
2006-01-09Made the copyright year match the latest modification's year.Daniel Stenberg
2006-01-07Mike Jean fixed so that the second CONNECT when doing FTP over a HTTP proxyDaniel Stenberg
actually used a new connection and not sent the second request on the first socket!
2005-10-20Dave Dribin made libcurl understand and handle cases when the serverDaniel Stenberg
(wrongly) sends *two* WWW-Authenticate headers for Digest. While this should never happen in a sane world, libcurl previously got into an infinite loop when this occurred. Dave added test 273 to verify this.
2005-07-05correction for the 407 with response-body caseDaniel Stenberg
2005-07-03Andrew Bushnell provided enough info for me to tell that we badly needed toDaniel Stenberg
fix the CONNECT authentication code with multi-pass auth methods (such as NTLM) as it didn't previously properly ignore response-bodies - in fact it stopped reading after all response headers had been received. This could lead to libcurl sending the next request and reading the body from the first request as response to the second request. (I also renamed the function, which wasn't strictly necessary but...) The best fix would to once and for all make the CONNECT code use the ordinary request sending/receiving code, treating it as any ordinary request instead of the special-purpose function we have now. It should make it better for multi-interface too. And possibly lead to less code... Added test case 265 for this. It doesn't work as a _really_ good test case since the test proxy is too stupid, but the test case helps when running the debugger to verify.