aboutsummaryrefslogtreecommitdiff
path: root/lib/transfer.c
AgeCommit message (Collapse)Author
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-22David McCreedy fixed a remaining mistake from the August 19 TYPE change.Daniel Stenberg
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-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-07-31Silence warning: empty body in an if-statementYang Tse
2006-07-25Georg Horn made the transfer timeout error message include more detailsDaniel Stenberg
2006-06-22Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE andDaniel Stenberg
CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed to send or receive data. This kind of adds the the command line tool's option --limit-rate to the library. The rate limiting logic in the curl app is now removed and is instead provided by libcurl itself. Transfer rate limiting will now also work for -d and -F, which it didn't before.
2006-06-15select_res is not a socket, it should be a plain intDaniel Stenberg
2006-06-09oops, serious breakage in the fdset() functionDaniel Stenberg
2006-04-26David McCreedy brought line end conversions when doing FTP ASCIIDaniel Stenberg
transfers. They are done on non-windows systems and translate CRLF to LF.
2006-04-10First curl_multi_socket() commit. Should primarily be considered as an internalDaniel Stenberg
code rearrange to fit the future better.
2006-04-07First commit of David McCreedy's EBCDIC and TPF changes.Daniel Stenberg
2006-03-28#1451929 (http://curl.haxx.se/bug/view.cgi?id=1451929) detailed a bug thatDaniel Stenberg
occurred when asking libcurl to follow HTTP redirects and the original URL had more than one question mark (?). Added test case 276 to verify.
2006-02-19Shmulik Regev fixed an issue with multi-pass authentication and compressedDaniel Stenberg
content when libcurl didn't honor the internal ignorebody flag.
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-02-07Philippe Vaucher provided a brilliant piece of test code that show a problemDaniel Stenberg
with re-used FTP connections. If the second request on the same connection was set not to fetch a "body", libcurl could get confused and consider it an attempt to use a dead connection and would go acting mighty strange.
2006-01-30Based on an error report by Philippe Vaucher, we no longer count a retriedDaniel Stenberg
connection setup as a follow-redirect. It turns out 1) this fails when a FTP connection is re-setup and 2) it does make the max-redirs counter behave wrong. This fix was not verified since the reporter vanished, but I believe this is the right fix nonetheless.
2005-11-24Doug Kaufman's set of patches to make curl build fine on DJGPP again usingDaniel Stenberg
configure.
2005-11-18fix compiler warningDaniel Stenberg
2005-11-17I extended a patch from David Shaw to make libcurl _always_ provide an errorDaniel Stenberg
string in the given error buffer to address the flaw mention on 21 sep 2005.
2005-10-27Nis Jorgensen filed bug report #1338648Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1338648) which really is more of a feature request, but anyway. It pointed out that --max-redirs did not allow it to be set to 0, which then would return an error code on the first Location: found. Based on Nis' patch, now libcurl supports CURLOPT_MAXREDIRS set to 0, or -1 for infinity. Added test case 274 to verify.
2005-09-27An anonymous submitter filed bug #1299181Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1299181) that identified a silly problem with Content-Range: headers with the 'bytes' keyword written in a different case than all lowercase! It would cause a segfault!
2005-09-21return an error string for the missing URL caseDaniel Stenberg
2005-08-24Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessibleDaniel Stenberg
from the command line tool with --ignore-content-length. This will make it easier to download files from Apache 1.x (and similar) servers that are still having problems serving files larger than 2 or 4 GB. When this option is enabled, curl will simply have to wait for the server to close the connection to signal end of transfer. I wrote test case 269 that runs a simple test that this works.
2005-08-17- Jeff Pohlmeyer found out that if you ask libcurl to load a cookiefile (withDaniel Stenberg
CURLOPT_COOKIEFILE), add a cookie (with CURLOPT_COOKIELIST), tell it to write the result to a given cookie jar and then never actually call curl_easy_perform() - the given file(s) to read was never read but the output file was written and thus it caused a "funny" result. - While doing some tests for the bug above, I noticed that Firefox generates large numbers (for the expire time) in the cookies.txt file and libcurl didn't treat them properly. Now it does.
2005-08-13James Bursa identified a libcurl HTTP bug and a good way to repeat it. If aDaniel Stenberg
site responds with bad HTTP response that doesn't contain any header at all, only a response body, and the write callback returns 0 to abort the transfer, it didn't have any real effect but the write callback would be called once more anyway.
2005-07-12Adrian Schuur added trailer support in the chunked encoding stream. TheDaniel Stenberg
trailer is then sent to the normal header callback/stream.
2005-05-29Eric Cooper reported about a problem with HTTP servers that responds withDaniel Stenberg
binary zeroes within the headers. They confused libcurl to do wrong so the downloaded headers become incomplete. The fix is now verified with test case 262.
2005-05-10Hm, this doesn't feel right. The error bits returned from Curl_select() canDaniel Stenberg
be returned at times when we want to ignore them. Test case 160 fails on Linux, so I modify the comparison to check for _only_ the error bit set...
2005-05-10me stupid, errno is not set for mere select()-exceptionsDaniel Stenberg
2005-05-10include protos to fix warningsDaniel Stenberg
2005-05-10If Curl_select() returns with the error bit set, bail out.Daniel Stenberg
2005-04-30there cannot be chunked problem when no_body (HEAD) is true since withoutDaniel Stenberg
body there is nothing chunked-encoded!
2005-04-26Cory Nelson's work on nuking compiler warnings when building on x64 withDaniel Stenberg
VS2005.
2005-04-08fixed the 304 response-with-content-length problem reported by Cory NelsonDaniel Stenberg
2005-04-07GnuTLS support added. There's now a "generic" SSL layer that we use all overDaniel Stenberg
internally, with code provided by sslgen.c. All SSL-layer-specific code is then written in ssluse.c (for OpenSSL) and gtls.c (for GnuTLS). As far as possible, internals should not need to know what SSL layer that is in use. Building with GnuTLS currently makes two test cases fail. TODO.gnutls contains a few known outstanding issues for the GnuTLS support. GnuTLS support is enabled with configure --with-gnutls
2005-02-16Christopher R. Palmer reported a problem with HTTP-POSTing using "anyauth"Daniel Stenberg
that picks NTLM. Thanks to David Byron letting me test NTLM against his servers, I could quickly repeat and fix the problem. It turned out to be: When libcurl POSTs without knowing/using an authentication and it gets back a list of types from which it picks NTLM, it needs to either continue sending its data if it keeps the connection alive, or not send the data but close the connection. Then do the first step in the NTLM auth. libcurl didn't send the data nor close the connection but simply read the response-body and then sent the first negotiation step. Which then failed miserably of course. The fixed version forces a connection if there is more than 2000 bytes left to send.
2005-02-14Rename Curl_pretransfersec() to *_second_connect() since it does not justDaniel Stenberg
do pretransfer stuff like Curl_pretransfer().
2005-02-09David Byron identified the lack of SSL_pending() use, and this is my takeDaniel Stenberg
at fixing this issue.
2005-02-09FTP code turned into state machine. Not completely yet, but a good start.Daniel Stenberg
The tag 'before_ftp_statemachine' was set just before this commit in case of future need.
2005-02-08Curl_wait_for_resolv() no longer disconnects on failure, but leaves thatDaniel Stenberg
operation to the caller. Disconnecting has the disadvantage that the conn pointer gets completely invalidated and this is not handled on lots of places in the code.
2005-02-04David Byron pointed out that this -1 on the buffer size is pointless sinceDaniel Stenberg
the buffer is already BUFSIZE +1 one big to fit the extra trailing zero. This change is reported to fix David's weird SSL problem...
2005-01-29Using the multi interface, and doing a requsted a re-used connection thatDaniel Stenberg
gets closed just after the request has been sent failed and did not re-issue a request on a fresh reconnect like the easy interface did. Now it does! (define CURL_MULTIEASY, run test case 160)
2005-01-21FTP third transfer support overhaul. See CHANGES for details.Daniel Stenberg
2005-01-11Dan Torop cleaned up a few no longer used variables from David Phillips'Daniel Stenberg
select() overhaul fix.
2005-01-11Cyrill Osterwalder posted a detailed analysis about a bug that occurs whenDaniel Stenberg
using a custom Host: header and curl fails to send a request on a re-used persistent connection and thus creates a new connection and resends it. It then sent two Host: headers. Cyrill's analysis was posted here: http://curl.haxx.se/mail/archive-2005-01/0022.html
2004-12-05Dan Fandrich added the --disable-cookies option to configure to buildDaniel Stenberg
libcurl without cookie support. This is mainly useful if you want to build a minimalistic libcurl with no cookies support at all. Like for embedded systems or similar.