aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2010-08-15multi: use timeouts properly for MAX_RECV/SEND_SPEEDDaniel Stenberg
When detecting that the send or recv speed, the multi interface changes state to TOOFAST and previously there was no timeout set that would force a recheck but it would rely on the application to somehow call libcurl anyway. This now sets a timeout for a suitable future time to check again if the average transfer speed is then below the threshold again.
2010-08-15multi: support timeoutsDaniel Stenberg
Curl_expire() is now expanded to hold a list of timeouts for each easy handle. Only the closest in time will be the one used as the primary timeout for the handle and will be used for the splay tree (which sorts and lists all handles within the multi handle). When the main timeout has triggered/expired, the next timeout in time that is kept in the list will be moved to the main timeout position and used as the key to splay with. This way, all timeouts that are set with Curl_expire() internally will end up as a proper timeout. Previously any Curl_expire() that set a _later_ timeout than what was already set was just silently ignored and thus missed. Setting Curl_expire() with timeout 0 (zero) will cancel all previously added timeouts. Corrects known bug #62.
2010-08-15Curl_llist_insert_next: allow insertion first in the listDaniel Stenberg
When we specify the "insert after" entry as NULL, this function now inserts the new entry first in the list.
2010-08-15multi: make curl_multi_info_read perform O(1)Daniel Stenberg
Instead of looping over all attached easy handles, this now keeps a list of messages in the multi handle. It allows curl_multi_info_read() to perform O(1) no matter how many easy handles that are handled. This is of importance since this function may be polled very frequently by apps using the multi interface.
2010-08-11Added OpenSSL builds to Watcom makefiles.Guenter Knauf
2010-08-11warning: silence the compilerDaniel Stenberg
warning: conversion to 'long int' from 'time_t' may alter its value ... on win64 when time_t is 64bit and long is 32bit.
2010-08-10callbacks: acknowledge progress callback error returnsDaniel Stenberg
When the progress callback is called during the TCP connection, an error return would accidentally not abort the operation as intended but would instead be counted as a failure to connect to that particular IP and libcurl would just continue to try the next. I made singleipconnect() and trynextip() return CURLcode properly. Added bonus: it corrected the error code for bad --interface usages, like tested in test 1084 and test 1085. Reported by: Adam Light Bug: http://curl.haxx.se/mail/lib-2010-08/0105.html
2010-08-10More Watcom makefile fixes ...Guenter Knauf
Final fix (hopefully!) for dll wlink loader; prefer faster internal rm if available.
2010-08-10Fixed my wrong edit.Guenter Knauf
2010-08-10More Watcom makefile fixes.Guenter Knauf
Added the -br switch to dynamic builds which fixes the issue I saw with curl's --version output. Added debug info and symfile for debug builds to linker opts. Added DLL loader for wlink back, but this time dependend on wlink version. Patch posted to the list by malak.jiri AT gmail.com.
2010-08-10Changed test for -u switch in order to enable other wmake switches.Guenter Knauf
The var %MAKEFLAGS is only set in 3 cases: if set as environment var or as macro definition from commandline, and either with the -u or -ms switch. Since all these cases are unlikely for the average user it should be safe to only test if %MAKEFLAGS is defined; this has the benefit that now all other switches can be used again in addition to the -u which was formerly not possible.
2010-08-10llist: hide Curl_llist_initDaniel Stenberg
Curl_llist_init is never used outside of llist.c and thus it should be static. I also removed the protos for Curl_llist_insert_prev and Curl_llist_remove_next which are functions we removed from llist.c ages ago.
2010-08-10Updated lib dependency versions.Guenter Knauf
2010-08-10parse_remote_port: fix ;type= URL suffix over HTTP proxyDaniel Stenberg
Test 563 is enabled now and verifies that the combo FTP type=A URL, CURLOPT_PORT set and proxy work fine. As a bonus I managed to remove the somewhat odd FTP check in parse_remote_port() and instead converted it to a better and more generic 'slash_removed' struct field. Checking the ->protocol field isn't right since when an FTP:// URL is sent over a HTTP proxy, the protocol is HTTP but the URL was handled by the FTP code and thus slash_removed is set TRUE for this case.
2010-08-10indent: white space fixes onlyDaniel Stenberg
2010-08-08typo: remove duplicate semicolonDaniel Stenberg
2010-08-08multi: avoid a malloc() when a transfer is completeDaniel Stenberg
The struct used for storing the message for a completed transfer is now no longer allocated separatly but is kept within the main struct kept for each easy handle so that we avoid one malloc (and the subsequent free).
2010-08-07Fix to overwrite libcurl name.Guenter Knauf
2010-08-07build: allow NTLM tests to run on more build configurationsU-D5B1PQ1J\Administrador
2010-08-07Block created curlbuild.h for NetWare to avoid usage from other platforms.Guenter Knauf
2010-08-06multi_socket: set timeout for 100-continueDaniel Stenberg
When libcurl internally decided to wait for a 100-continue header, there was no call to the timeout function so there was no timeout callback called when the multi_socket API was used and thus applications became either completely wrong or at least ineffecient depending on how they handled the situation. We now set a timeout to get triggered. Reported by: Ben Darnell Bug: http://curl.haxx.se/bug/view.cgi?id=3039744
2010-08-06Some more Watcom makefile massage ...Guenter Knauf
For now removed the .autodepend directive until I've figured out which of my changes broke it again.
2010-08-05build: fix libssh2_scp_send64() availabilityYang Tse
2010-08-04build: remove unneeded cast to (void *)Yang Tse
2010-08-04SCP: send large files properly with new enough libssh2Daniel Stenberg
libssh2 1.2.6 and later handle >32bit file sizes properly even on 32bit architectures and we make sure to use that ability. Reported by: Mikael Johansson Bug: http://curl.haxx.se/mail/lib-2010-08/0052.html
2010-08-03build: add missing new files to non-configure target build filesYang Tse
2010-08-03md4: replace bcopy usage with memcpyYang Tse
2010-08-02Curl_connected_proxy: skip the bits.tcpconnect checkDaniel Stenberg
Simply because the TCP might be connected already we cannot skip the proxy connect procedure. We need to be careful to not overload more meaning to the bits.tcpconnect field like this. With this fix, SOCKS proxies work again when the multi interface is used. I believe this regression was added with commit 4b351d018e, released as 7.20.1. Left todo: add a test case that verifies this functionality that prevents us from breaking it again in the future! Reported by: Robin Cornelius Bug: http://curl.haxx.se/bug/view.cgi?id=3033966
2010-08-02build: add typecast to avoid warningDaniel Stenberg
There is an implicit conversion from "unsigned long" to "long"; rounding, sign extension, or loss of accuracy may result.
2010-08-02Removed ugly dependency lists since wmake knows the .autodepend directive.Guenter Knauf
2010-08-02Removed wlink from DLL loader list because it doesnt work with Watcom < 1.8.Guenter Knauf
2010-08-02Moved the LDAP API defines from Makefile.Watcom to config-win32.h.Guenter Knauf
These defines are only needed for older Watcom versions (< 1280).
2010-08-01multi: fix FTPS connecting the data connection with OpenSSLDaniel Stenberg
Commit 496002ea1cd76af7f (released in 7.20.1) broke FTPS when using the multi interface and OpenSSL was used. The condition for the non-blocking connect was incorrect. Reported by: Georg Lippitsch Bug: http://curl.haxx.se/mail/lib-2010-07/0270.html
2010-08-01Fixed curlbuild.h rule.Guenter Knauf
2010-08-01Added rule to create curlbuild.h if not present (for builds from git).Guenter Knauf
2010-07-31Fixed curl.exe static linking.Guenter Knauf
2010-07-30warning: silence a win64 compiler warningDaniel Stenberg
conversion from 'size_t' to 'curl_socklen_t', possible loss of data Reported by: Adam Light
2010-07-30smtp_connect: always provide host name bufferDaniel Stenberg
Previously the host name buffer was only used if gethostname() exists, but since we converted that into a curl private function that function always exists and will be used so the buffer needs to exist for all cases/systems.
2010-07-30NTLM tests: boost coverage by forcing the hostnameKamil Dudka
A shared library tests/libtest/.libs/lihostname.so is preloaded in NTLM test-cases to override the system implementation of gethostname(). It makes it possible to test the NTLM authentication for exact match, and this way test the implementation of MD4 and DES. If LD_PRELOAD doesn't work, a debug build willl also workk as debug builds are now made to prefer a specific environment variable and will then return that content as host name instead of the actual one. Kamil wrote the bulk of this, Daniel Stenberg polished it.
2010-07-29Added a comment with an alternate idea to avoid the backslash line ↵Guenter Knauf
contination character.
2010-07-29Changed comparison to match size_t var type.Guenter Knauf
2010-07-29Removed unused vars to avoid compiler warnings.Guenter Knauf
2010-07-29Make Watcom makefiles use Makefile.inc to reduce future maintainance.Guenter Knauf
lib/Makefile.Watcom works fine already, for src/Makefile.Watcom we need first to tweak src/Makefile.inc a bit - therefore the handtweaked list still exists for now.
2010-07-29Watcom makefiles overhaul.Guenter Knauf
- make both libcurl and curl makefiles use register calling convention (previously libcurl had stack calling convention). - added include paths to the Watcom headers so its no longer required to set the environment vars for this. - added -wcd=201 to supress compiler warning about unreachable code. - use macros for all tools, and removed dependency on GNU tools like rm. - make ipv6 and debug builds controlable via env vars and so make them optional instead of default. - commented WINLDAPAPI and WINBERAPI since they broke with OW 1.8, and it seems they're not needed (anymore?). - added rule for hugehelp.c.cvs so that it will be created when not already exist - this is required for building from a release tarball since there we have no hugehelp.c.cvs, thus compilation broke. - removed C_ARG creation from lib/Makefile.Watcom and use CFLAGS directly as done too in src/Makefile.Watcom - this has the benefit that we will see all active cflags and defines during compile. - added LINK-ARG to src/Makefile.Watcom in order to better control linker input. - a couple of other minor makefile tweaks here and there ... - added largefile support for Watcom builds to config-win32.h. Not yet tested if it really works, but should since Win32 supports it. - added loaddll stuff to speed up builds if supported.
2010-07-28some cosmetic changes.Guenter Knauf
2010-07-26Added md4.c to the Watcom makefileDan Fandrich
2010-07-24add_buffer_send: fix compiler warningDaniel Stenberg
Win64's 32 bit long but 64 bit size_t caused a warning that we avoid with a typecast. A small whitespace indent fix was also applied. Reported by: Adam Light
2010-07-22Updated library versions.Guenter Knauf
2010-07-22Fixed script version which was still based on CVS Revision tag.Guenter Knauf
2010-07-21ssh: Fix compile error on 64-bit systems.Ben Greear
Signed-off-by: Ben Greear <greearb@candelatech.com>