aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-12-22- Given a recent enough libssh2, libcurl can now seek/resume with SFTP evenDaniel Stenberg
on file indexes beyond 2 or 4GB.
2008-12-22- Anthony Bryan provided a set of patches that cleaned up manual language,Daniel Stenberg
corrected spellings and more.
2008-12-20malloc+memset => callocDaniel Stenberg
2008-12-20same procedure, simpler codeDaniel Stenberg
2008-12-20- Igor Novoseltsev fixed a bad situation for the multi_socket() API when doingDaniel Stenberg
pipelining, as libcurl could then easily get confused and A) work on the handle that was not "first in queue" on a pipeline, or even B) tell the app to REMOVE a socket while it was in use by a second handle in a pipeline. Both errors caused hanging or stalling applications.
2008-12-20make the debug/helper function output to stderr as that makes it play nicerDaniel Stenberg
in combination with infof() calls
2008-12-19- curl_multi_timeout() could return a timeout value of 0 even though nothingDaniel Stenberg
was actually ready to get done, as the internal time resolution is higher than the returned millisecond timer. Therefore it could cause applications running on fast processors to do short bursts of busy-loops. curl_multi_timeout() will now only return 0 if the timeout is actually alreay triggered.
2008-12-19oops, removing debug output that wasn't supposed to be thereDaniel Stenberg
2008-12-19- Using the libssh2 0.19 function libssh2_session_block_directions(), libcurlDaniel Stenberg
now has an improved ability to do right when the multi interface (both "regular" and multi_socket) is used for SCP and SFTP transfers. This should result in (much) less busy-loop situations and thus less CPU usage with no speed loss.
2008-12-17- SCP and SFTP with the multi interface had the same flaw: the 'DONE'Daniel Stenberg
operation didn't complete properly if the EAGAIN equivalent was returned but libcurl would simply continue with a half-completed close operation performed. This ruined persistent connection re-use and cause some SSH-protocol errors in general. The correction is unfortunately adding a blocking function - doing it entirely non-blocking should be considered for a better fix.
2008-12-16Updated dependencies based on "gcc -MM".Gisle Vanem
2008-12-16Added the use of Watt-32 tcp/ip stack for Win32 target.Gisle Vanem
If USE_WATT32=1 one needs to use stack-based calls (-3s). So to keep the makefile nice and clean, specify -3s for Winsock target too (there's hardly any speed-gain using -3r).
2008-12-16Added the use of Watt-32 tcp/ip stack for Win32 targets.Gisle Vanem
2008-12-15- libssh2_sftp_last_error() was wrongly used at some places in libcurl whichDaniel Stenberg
made libcurl sometimes not properly abort problematic SFTP transfers.
2008-12-12- More work with Igor Novoseltsev to first fix the remaining stuff forDaniel Stenberg
removing easy handles from multi handles when the easy handle is/was within a HTTP pipeline. His bug report #2351653 (http://curl.haxx.se/bug/view.cgi?id=2351653) was also related and was eventually fixed by a patch by Igor himself.
2008-12-12Make the getoff all pipelines function only set _inuse to FALSE if theDaniel Stenberg
specified data pointer was head.
2008-12-11- Bug report #2416182 titled "crash in ConnectionExists when usingDaniel Stenberg
duphandle+curl_mutli" (http://curl.haxx.se/bug/view.cgi?id=2416182) showed that curl_easy_duphandle() wrongly also copied the pointer to the connection cache, which was plain wrong and caused a segfault if the handle would be used in a different multi handle than the handle it was duplicated from.
2008-12-11Dan F pointed out that we don't need to scan IPv6 addresses for '%'-lettersDaniel Stenberg
in the parse_remote_port() function as the scope id has already been stripped from the string.
2008-12-11- Keshav Krity found out that libcurl failed to deal with dotted IPv6Daniel Stenberg
addresses if they were very long (>39 letters) due to a too strict address validity parser. It now accepts addresses up to 45 bytes long.
2008-12-11_ Use getaddrinfo/getnameinfo ascii wrappers on OS400.Patrick Monnerat
_ Adjust OS400 make script for non-CVS distributions. _ Upgrade ILE/RPG binding. _ Define CURL_HIDDEN_SYMBOLS on OS400, since only CURL_EXTERN-marked symbols are exported.
2008-12-10- Internet Explorer had a broken HTTP digest authentication before v7 andDaniel Stenberg
there are servers "out there" that relies on the client doing this broken Digest authentication. Apache even comes with an option to work with such broken clients. The difference is only for URLs that contain a query-part (a '?'-letter and text to the right of it). libcurl now supports this quirk, and you enable it by setting the CURLAUTH_DIGEST_IE bit in the bitmask you pass to the CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH options. They are thus individually controlled to server and proxy.
2008-12-09- Ken Hirsch simplified how libcurl does FTPS: now it doesn't assume anyDaniel Stenberg
particular state for the control connection like it did before for implicit FTPS (libcurl assumed such control connections to be encrypted while some FTPS servers such as FileZilla assumes such connections to be clear mode). Use the CURLOPT_USE_SSL option to set your desired level.
2008-12-08- Fred Machado posted about a weird FTP problem on the curl-users list and whenDaniel Stenberg
researching it, it turned out he got a 550 response back from a SIZE command and then I fell over the text in RFC3659 that says: The presence of the 550 error response to a SIZE command MUST NOT be taken by the client as an indication that the file cannot be transferred in the current MODE and TYPE. In other words: the change I did on September 30th 2008 and that has been included in the last two releases were a regression and a bad idea. We MUST NOT take a 550 response from SIZE as a hint that the file doesn't exist.
2008-12-08- Christian Krause filed bug #2221237Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=2221237) that identified an infinite loop during GSS authentication given some specific conditions. With his patience and great feedback I managed to narrow down the problem and eventually fix it although I can't test any of this myself!
2008-12-04Fixed the getifaddrs version of Curl_if2ip to work on systems without IPv6Dan Fandrich
support (e.g. Minix)
2008-12-03- Igor Novoseltsev filed bug #2351645Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=2351645) that identified a problem with the multi interface that occured if you removed an easy handle while in progress and the handle was used in a HTTP pipeline.
2008-12-03- Pawel Kierski pointed out a mistake in the cookie code that could lead to aDaniel Stenberg
bad fclose() after a fatal error had occured. (http://curl.haxx.se/bug/view.cgi?id=2382219)
2008-12-02explain the two *channel_inuse fields somewhat betterDaniel Stenberg
2008-11-29Further adjust a libssh2 preprocessor function-symbol definition checkYang Tse
2008-11-29Adjust some libssh2 preprocessor symbol definition checksYang Tse
2008-11-26narrow the comment to < 80 columnsDaniel Stenberg
2008-11-24- Based on a patch by Vlad Grachov, libcurl now uses a new libssh2 0.19Daniel Stenberg
function when built to support SCP and SFTP that helps the library to know in which direction a particular libssh2 operation would return EAGAIN so that libcurl knows what socket conditions to wait for before trying the function call again. Previously (and still when using libssh2 0.18 or earlier), libcurl will busy-loop in this situation when the easy interface is used!
2008-11-19- I removed the default use of "Pragma: no-cache" from libcurl when a proxy isDaniel Stenberg
used. It has been used since forever but it was never a good idea to use unless explicitly asked for.
2008-11-19- Christian Krause reported and fixed a memory leak that would occur with HTTPDaniel Stenberg
GSS/kerberos authentication (http://curl.haxx.se/bug/view.cgi?id=2284386)
2008-11-19- Andreas Wurf and Markus Koetter helped me analyze a problem that Andreas gotDaniel Stenberg
when uploading files to a single FTP server using multiple easy handle handles with the multi interface. Occasionally a handle would stall in mysterious ways. The problem turned out to be a side-effect of the ConnectionExists() function's eagerness to re-use a handle for HTTP pipelining so it would select it even if already being in use, due to an inadequate check for its chances of being used for pipelnining.
2008-11-18Avoid creating garbage on an OOM errorDan Fandrich
2008-11-18Made an array static constDan Fandrich
2008-11-18Added #include "rawstr.h"Dan Fandrich
2008-11-17the IP address we want/request/use from the interface is the 'local'Yang Tse
address, the one on the box libcurl is running, not the 'remote' one.
2008-11-17fix commentYang Tse
2008-11-17if2ip.c related preprocessor cleanupYang Tse
2008-11-17backport fix for failures to reject certain malformed literalsYang Tse
2008-11-16Christian Krause fixed a build failure when building with gss supportDaniel Stenberg
enabled and FTP disabled.
2008-11-16fix OOM problem reported by Jim MeyeringDaniel Stenberg
2008-11-15based on a report by Jim Meyering, I went over and added checks for returnDaniel Stenberg
codes for all calls to malloc and strdup that were missing. I also changed a few malloc(13) to use arrays on the stack and a few malloc(PATH_MAX) to instead use aprintf() to lower memory use. I also fixed a memory leak in Curl_nss_connect() when CURLOPT_ISSUERCERT is in use.
2008-11-14Added some #ifdefs around header files and change the EAGAIN test toDan Fandrich
fix compilation on Cell (reported by Jeff Curley).
2008-11-14Added .xml as one of the few common file extensions known by the multipartDan Fandrich
form generator. Made the extensions part of the MIME type struct to reduce the size and run-time relocations necessary to build the table.
2008-11-14fix an OOM problem detected by Jim MeyeringDaniel Stenberg
2008-11-14Remove a chunk of unused code that was #ifdef'de on defines we never set.Daniel Stenberg
We do testing of code functions using the test suite instead!
2008-11-13Refactor configure script detection of functions used to set sockets intoYang Tse
non-blocking mode, and decouple function detection from function capability.