aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2010-05-14OpenSSL: multi interface handshake could hangDaniel Stenberg
John-Mark Bell filed bug #3000052 that identified a problem (with an associated patch) with the OpenSSL handshake state machine when the multi interface is used: Performing an https request using a curl multi handle and using select or epoll to wait for events results in a hang. It appears that the cause is the fix for bug #2958179, which makes ossl_connect_common unconditionally return from the step 2 loop when fetching from a multi handle. When ossl_connect_step2 has completed, it updates connssl->connecting_state to ssl_connect_3. ossl_connect_common will then return to the caller, as a multi handle is in use. Eventually, the client code will call curl_multi_fdset to obtain an updated fdset to select or epoll on. For https requests, curl_multi_fdset will cause https_getsock to be called. https_getsock will only return a socket handle if the connecting_state is ssl_connect_2_reading or ssl_connect_2_writing. Therefore, the client will never obtain a valid fdset, and thus not drive the multi handle, resulting in a hang. (http://curl.haxx.se/bug/view.cgi?id=3000052)
2010-05-14follow redirect: ignore response-body on redirect even if compressedDaniel Stenberg
Sebastian V reported bug #3000056 identifying a problem with redirect following. It showed that when curl followed redirects it didn't properly ignore the response body of the 30X response if that response was using compressed Content-Encoding! (http://curl.haxx.se/bug/view.cgi?id=3000056)
2010-05-13Remove support for BSD version of PolarSSLHoi-Ho Chan
"The BSD version of PolarSSL was made for migratory purposes only and is not maintained. The GPL version of PolarSSL is actually the only actively developed version, so I would be very reluctant to use the BSD version." / Paul Bakker, PolarSSL hacker. Signed-off-by: Hoi-Ho Chan <hoiho.chan@gmail.com>
2010-05-12Added Polar SSL and RTMP files to the non-autoconf build filesDan Fandrich
I didn't bother with a few that have little hope of running the required dependent libraries.
2010-05-12Added the new ftp source files to the non-autoconf build filesDan Fandrich
2010-05-12style: minor whitespace changeDaniel Stenberg
2010-05-12FTP: WILDCARDMATCH/CHUNKING/FNMATCH addedPavel Raiskup
2010-05-12RTMP: initial support added, powered by librtmpHoward Chu
librtmp is found at http://rtmpdump.mplayerhq.hu/
2010-05-11sendrecv: make them two pairs of send/recv to properly deal with FTPSHoward Chu
FTP(S) use two connections that can be set to different recv and send functions independently, so by introducing recv+send pairs in the same manner we already have sockets/connections we can work with FTPS fine. This commit fixes the FTPS regression introduced in change d64bd82.
2010-05-11nss: make it possible to read ASCII and DER CRLKamil Dudka
2010-05-11nss: add CRL to cache instead of read-only NSS dbKamil Dudka
2010-05-08moved vars into conditional since seems that winsock implementation doesnt ↵Hacki
use them.
2010-05-07multi interface: missed storing connection timeDaniel Stenberg
Dirk Manske reported a regression. When connecting with the multi interface, there were situations where libcurl wouldn't store connect time correctly as it used to (and is documented to) do. Using his fine sample program we could repeat it, and I wrote up test case 573 using that code. The problem does not easily show itself using the local test suite though. The fix, also as suggested by Dirk, is a bit on the ugly side as it adds yet another call to Curl_verboseconnect() and setting the TIMER_CONNECT time. That situation is subject for some closer inspection in the future.
2010-05-07verboseconnect: so the verbose checking within the functionDaniel Stenberg
As the function is used more than once and libcurl can be built without it, do the conditional check within the verboseconnect() function itself.
2010-05-07sendrecv: split the I/O handling into private handlerHoward Chu
Howard Chu brought the bulk work of this patch that properly moves out the sending and recving of data to the parts of the code that are properly responsible for the various ways of doing so. Daniel Stenberg assisted with polishing a few bits and fixed some minor flaws in the original patch. Another upside of this patch is that we now abuse CURLcodes less with the "magic" -1 return codes and instead use CURLE_AGAIN more consistently.
2010-05-05PolarSSL: initial support addedHoi-Ho Chan
This is Hoi-Ho Chan's patch with some minor fixes by me. There are some potential issues in this, but none worse than we can sort out on the list and over time.
2010-04-29telnet: Allow programatic use of telnet.Ben Greear
The main change is to allow input from user-specified methods, when they are specified with CURLOPT_READFUNCTION. All calls to fflush(stdout) in telnet.c were removed, which makes using 'curl telnet://foo.com' painful since prompts and other data are not always returned to the user promptly. Use 'curl --no-buffer telnet://foo.com' instead. In general, the user should have their CURLOPT_WRITEFUNCTION do a fflush for interactive use. Also fix assumption that reading from stdin never returns < 0. Old code could crash in that case. Call progress functions in telnet main loop. Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-04-26SSH: init and cleanup libssh2 in global_init/cleanupDaniel Stenberg
The necessary libssh2 functions require libssh2 1.2.5 or later.
2010-04-24nss: fix SSL handshake timeout underflowKamil Dudka
2010-04-24encourage users to take latest lib dependencies.Guenter Knauf
2010-04-24socks5: please static code analyzerDaniel Stenberg
Make sure we don't call memcpy() if the argument is NULL even though we also passed a zero length then, as the clang analyzer whined and we want to limit warnings (even false positives) when they're this easy to fix. The change of (char) to (unsigned char) will fix long user names and passwords on systems that have the char type signed by default.
2010-04-24gzip: Value stored to 'data' is never readDaniel Stenberg
2010-04-20hmac.c related compilation adjustmentYang Tse
2010-04-20hmac.c related compilation adjustmentYang Tse
2010-04-20Add compilation directives for hmac in Watcom,riscos and vc6 ↵monnerat
platform-specific makefiles.
2010-04-20replaced wsock32.lib usage with ws2_32.lib in MSVC makefilesRuslan Gazizov
2010-04-19Merge branch 'master' of github.com:bagder/curlmonnerat
2010-04-19Remove null-effect leftover code.monnerat
2010-04-19Curl_HMAC_MD5: fix the array init to not warn with picky compilersDaniel Stenberg
2010-04-19Fix GnuTLS compilation problem in md5.cmonnerat
2010-04-19Fix compilation problem: declare Curl_HMAC_MD5 as extern in include file.monnerat
2010-04-19Merge branch 'master' of github.com:bagder/curlmonnerat
2010-04-19Implement SMTP authenticationmonnerat
2010-04-17parsedate: Value stored to 'found' is never readDaniel Stenberg
2010-04-17check_gzip_header: Value stored to 'data' is never readDaniel Stenberg
2010-04-16dprintf_formatf: Value stored to 'left' is never readDaniel Stenberg
2010-04-16curl_version: remove superfluous assignmentsDaniel Stenberg
2010-04-16FTP PORT: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16Curl_setup_transfer: no longer returns anythingDaniel Stenberg
This function could only return CURLE_OK and by changing it to a void instead, we can simplify code all over.
2010-04-16PASV response: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16Curl_perform: Value stored to 'res2' is never readDaniel Stenberg
2010-04-16sftp range: remove unnecessary check for NULL pointerDaniel Stenberg
2010-04-16ftp_range: remove unnecessary check for NULL pointerDaniel Stenberg
2010-04-16file_range: remove unnecessary check for NULL pointerDaniel Stenberg
2010-04-16SOCKS4: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16FTP PASV: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16ftp_range: Value stored to 'totalsize' is never readDaniel Stenberg
Simplified the code by removing a local variable completely.
2010-04-16SOCKS5: when name resolves fail return immediatelyDaniel Stenberg
This makes the code flow more obvious and reacts on the return code properly, even if the code acted the same way before.
2010-04-16POP3: when USER command fails, don't even try PASSDaniel Stenberg
2010-04-16tftp_rx: Value stored to 'sbytes' is never readDaniel Stenberg