aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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>
2010-07-21build: Enable configure --enable-werrorBen Greear
This passes -Werror to gcc when building curl and libcurl, allowing easy dection of compile warnings. Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-07-21pingpong: Fix indentation (whitespace change only)Ben Greear
Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-07-18CUSTOMREQUEST: shouldn't be disabled when HTTP is disabledJan Van Boghout
... since FTP is using it as well, and potentially other protocols! Also, an #endif CURL_DISABLE_HTTP was incorrectly marked, as it seems to end the proxy block instead.
2010-07-18pingpong: response_time is millisecondsJan Van Boghout
Fixed the comment/document for the response_time struct member.
2010-07-18ftp: response timeout bug in "quote" sendingJan Van Boghout
The FTP implementation was missing a timestamp reset point, making the waiting for responses after sending a post-transfer "QUOTE" command not working as supposedly. This bug was introduced in 7.20.0
2010-07-12multi: fix condition that remove timers before triggerConstantine Sapuntzakis
curl_multi perform has two phases: run through every easy handle calling multi_runsingle and remove expired timers (timer removal). If a small timer (e.g. 1-10ms) is set during multi_runsingle, then it's possible that the timer has passed by when the timer removal runs. The timer which was just added is then removed. This will potentially cause the timer list to be empty and cause the next call to curl_multi_timeout to return -1. Ideally, curl_multi_timeout should return 0 in this case. One way to fix this is to move the struct timeval now = Curl_tvnow(); to the top of curl_multi_perform. The change does that.
2010-07-12threaded resolver: fix timeout issueConstantine Sapuntzakis
Reset old timer first so we can set a new one further in the future.
2010-07-06http: don't enable chunked during authentication negotiationsDaniel Stenberg
As mentioned in bug report #2956968, the HTTP code wouldn't send the first empty chunk during the auth negotiation phase of the HTTP request sending, so the server would wait for data to come and libcurl would wait for data to arrive... I've made the code not enable chunked encoding until the auth negotiation is done and thus this scenario doesn't occur anymore. Reported by: Sidney San Martín Bug: http://curl.haxx.se/bug/view.cgi?id=2956968
2010-07-01multi: CURLINFO_LASTSOCKET doesn't work after remove_handleDaniel Stenberg
When curl_multi_remove_handle() is called and an easy handle is returned to the connection cache held in the multi handle, then we cannot allow CURLINFO_LASTSOCKET to extract it since that will more or less encourage that the user uses the socket while it can get used by libcurl again. Without this fix, we'd get a segfault in Curl_getconnectinfo() trying to dereference the NULL pointer in 'data->state.connc'. Bug: http://curl.haxx.se/bug/view.cgi?id=3023840
2010-06-30build: add enable IPV6 option for the VC makefilesPierre Joye
2010-06-30http_ntlm: add support for NSSKamil Dudka
When configured with '--without-ssl --with-nss', NTLM authentication now uses NSS crypto library for MD5 and DES. For MD4 we have a local implementation in that case. More details are available at https://bugzilla.redhat.com/603783 In order to get it working, curl_global_init() must be called with CURL_GLOBAL_SSL or CURL_GLOBAL_ALL. That's necessary because NSS needs to be initialized globally and we do so only when the NSS library is actually required by protocol. The mentioned call of curl_global_init() is responsible for creating of the initialization mutex. There was also slightly changed the NSS initialization scenario, in particular, loading of the NSS PEM module. It used to be loaded always right after the NSS library was initialized. Now the library is initialized as soon as any SSL or NTLM is required, while the PEM module is prevented from being loaded until the SSL is actually required.
2010-06-24ftp wildcard: FTP LIST parser FIXPavel Raiskup
There was a problem when a UNIX-like server returned information about directory size (total NNNNNN) at the first line of response.
2010-06-24multi_socket: re-use of same socket without notifying appDaniel Stenberg
When a hostname resolves to multiple IP addresses and the first one tried doesn't work, the socket for the second attempt may get dropped on the floor, causing the request to eventually time out. The issue is that when using kqueue (as on mac and bsd platforms) instead of select, the kernel removes the first fd from kqueue when it is closed (in trynextip, connect.c:503). Trynextip() then goes on to open a new socket, which gets assigned the same number as the one it just closed. Later in multi.c, socket_cb is not called because the fd is already in multi->sockhash, so the new socket is never added to kqueue. The correct fix is to ensure that socket_cb is called to remove the fd when trynextip() closes the socket, and again to re-add it after singleipsocket(). I'm not sure how to cleanly do that, but the attached patch works around the problem in an admittedly kludgy way by delaying the close to ensure that the newly-opened socket gets a different fd. Daniel's added comment: I didn't spot a way to easily do a nicer fix so I've proceeded with Ben's patch. Bug: http://curl.haxx.se/bug/view.cgi?id=3017819 Patch by: Ben Darnell
2010-06-24ftp-wildcard: avoid tight loop when used without any patternPavel Raiskup
It was broken for URLs like "ftp://example.com/".
2010-06-19sendrecv: treat all negative values from send/recv as errorsDaniel Stenberg
For example the libssh2 based functions return other negative values than -1 to signal errors and it is important that we catch them properly. Right before this, various failures from libssh2 were treated as negative download amounts which caused havoc.
2010-06-18multi: prevent NULL pointer dereferenceDaniel Stenberg
My additional call to Curl_pgrsUpdate() would sometimes get called even though there's no connection (left) so a NULL pointer would get passed, causing a segfault.
2010-06-18smtp: fixed a few uses of size_t that seemed to believe it was signedDaniel Stenberg
Reported-by: Steven M. Schweda
2010-06-17Fixed an OOM memory leak in the FTP wildcard codeDan Fandrich
2010-06-17multi: unmark handle as used when no longer head of pipelineKrister Johansen
2010-06-17multi: call the progress function only once and allow abortDaniel Stenberg
1) no need to call the progress function twice when in the CURLM_STATE_TOOFAST state. 2) Make sure that the progress callback's return code is acknowledged when used
2010-06-17multi: call the progress callback in all statesDaniel Stenberg
As long as no error is reported, the progress function can get called. This may be a little TOO often so we should keep an eye on this and possibly make this conditional somehow.
2010-06-10remove unused 'tmpdata' and 'backup' ftp_parselist_data struct membersYang Tse
2010-06-10replace isprint() with ISPRINT()Yang Tse
2010-06-10ensure that Curl_wildcard_dtor() leaves WildcardData struct zero initializedYang Tse