aboutsummaryrefslogtreecommitdiff
path: root/lib/transfer.c
AgeCommit message (Collapse)Author
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.
2004-12-03Bug report #1078066: when a chunked transfer was pre-maturely closed exactlyDaniel Stenberg
at a chunk boundary it was not considered an error and thus went unnoticed. Added test case 207 to verify.
2004-11-26I changed my mind. Remove ioctl() macro in setup.h instead.Gisle Vanem
2004-11-26Renamed urldata.h members 'ioctl*' to 'ioctrl*' due toGisle Vanem
clash with djgpp ioctl() macro in setup.h.
2004-11-26As reported in Mandrake's bug tracker bug 12289Daniel Stenberg
(http://qa.mandrakesoft.com/show_bug.cgi?id=12289), curl would print a newline to "finish" the progress meter after each redirect and not only after a completed transfer.
2004-11-24HTTP "auth done right". See lib/README.httpauthDaniel Stenberg
2004-11-19David Phillips' FD_SETSIZE fixDaniel Stenberg
2004-11-18Dan Fandrich fix: eliminates some pedantic CodeWarrior compiler warnings andDaniel Stenberg
errors.
2004-11-02Paul Nolan fix to make libcurl build nicely on Windows CEDaniel Stenberg
2004-10-25Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on aDaniel Stenberg
file that was already completely downloaded caused an error, while it doesn't if you don't use --fail! I added test case 194 to verify the fix. Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in libcurl v8 due to all the kludges needed to support it.
2004-10-19Alexander Krasnostavsky made it possible to make FTP 3rd party transfers withDaniel Stenberg
both source and destination being the same host. It can be useful if you want to move a file on a server or similar.
2004-10-06Chih-Chung Chang reported that if you use CURLOPT_RESUME_FROM and enabledDaniel Stenberg
CURLOPT_FOLLOWLOCATION, libcurl reported error if a redirect happened even if the new URL would provide the resumed file. Test case 188 added to verify the fix (together with existing test 99).
2004-09-16Location: problem with bad original URL, identified in bug report #1029478Daniel Stenberg
2004-09-13no longer includes getdate.h, there's no need for itDaniel Stenberg
2004-08-30Make "Proxy-Connection: close" close the current proxy connection, asDaniel Stenberg
Roman Koifman found out.
2004-08-20Alexander Krasnostavsky made the write callback get called even when a zeroDaniel Stenberg
byte file is downloaded.
2004-08-10more typecasts to please picky compilersDaniel Stenberg
2004-08-09typecast the assigment of an unsigned variable to a signed one to preventDaniel Stenberg
picky warnings
2004-08-09->fread() should get a size_t variable passed inDaniel Stenberg
2004-07-16deal with negative Content-Length: headers by ignoring the infoDaniel Stenberg
2004-07-01Variable type cleanups to please the picky MIPSPro compiler.Daniel Stenberg
2004-06-24Source cleanups. The major one being that we now _always_ use a Curl_addrinfoDaniel Stenberg
linked list for name resolved data, even on hosts/systems with only IPv4 stacks as this simplifies a lot of code.
2004-06-22pass an int pointer when it expects an int pointer...Daniel Stenberg
2004-06-21The read callback can now return CURL_READFUNC_ABORT to stop a transfer.Daniel Stenberg
2004-06-16Alexander Krasnostavsky fixed a flaw in the 3rd party transfer code thatDaniel Stenberg
didn't properly check return code.
2004-06-09Alexander Krasnostavsky's fix to make libcurl build fine with configureDaniel Stenberg
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-03Alexander Krasnostavsky's FTP third party transfer (proxy) supportDaniel Stenberg
2004-05-25initial support for "uploading" to file:// URLsDaniel Stenberg
2004-05-17I made Curl_done() take a pointer-pointer in the first argument instead, andDaniel Stenberg
if the connection is killed it blanks the pointer it points to, to make it easier to detect usage problems whereever Curl_done() is used.