aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-06--libcurl: use *_LARGE options with typecasted constantsDaniel Stenberg
In the generated code --libcurl makes, all calls to curl_easy_setopt() that use *_LARGE options now have the value typecasted to curl_off_t, so that it works correctly for 32bit systems with 64bit curl_off_t type.
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-30FAQ: the threaded resolver works universally nowDaniel Stenberg
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-29glob: backslash escaping bugDaniel Stenberg
curl didn't properly handle escaping characters in a URL with the use of backslash. It did an attempt, but that failed as reported in bug 3022551. The described example was using the URL "http://example.com?{AB,C\,D}". I've now removed the special-handling of letters following the backslash and I also removed the bad extra check that triggered this particular bug. Bug: http://curl.haxx.se/bug/view.cgi?id=3022551 Reported by: Jon Sargeant
2010-06-29release-notes: sync up with recent commitsDaniel Stenberg
2010-06-26CONTRIBUTE: the git commit message line length is 72 columnsDaniel Stenberg
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-24examples: new FTP wildcard showcasePavel Raiskup
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-21maketgz: produce CHANGES automatically with the 1000 most recent commitsDaniel Stenberg
It passes the git log output through 'log2changes.pl' to produce the lot.
2010-06-21ignore: CHANGES.dist gets generated by maketgzDaniel Stenberg
2010-06-21CHANGES: move all contents from CHANGES to CHANGES.0Daniel Stenberg
CHANGES is no longer used for manually edited content. It is to be generated automatically by maketgz when we make release tarballs.
2010-06-21log2changes: correct command line, fix tag usage, change Version outputDaniel Stenberg
--decorate=full is needed with my git 1.7.1 to get the necessary output so that the previous edit would work to extract the Version stuff. ... but I had to edit how the refs/tags was extracted since it had a little flaw that made it miss the 7.20.1 output. Finally, I changed so that Version is outputted even more similar to how CHANGES does it.
2010-06-21Make the output of log2changes.pl even more closely match CHANGESDan Fandrich
Add the ASCII art header, and list version commits by decoding the ref tag names, when available (using the git log --decorate option).
2010-06-19log2changes: first version of the git log to CHANGES conversion scriptDaniel Stenberg
$ git log --pretty=fuller --no-color --date=short | ./log2changes.pl Of course, limiting the log output with a range like with "[tag]..HEAD" appended can be very useful too.
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-17test575: do not fail with threaded DNS resolverKamil Dudka
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-17configure: spell --disable-threaded-resolver correctlyDaniel Stenberg
Previously we only accepted the option when named --disable-threaded-resover, which wasn't quite intended. Reported by: Helwing Lutz
2010-06-16release: start on 7.21.1, bump contributor countDaniel Stenberg
2010-06-16version: start working on the 7.21.1-dev versionDaniel Stenberg
2010-06-16THANKS: added contributors from the 7.21.0 releaseDaniel Stenberg
2010-06-16release: 7.21.0Daniel Stenberg
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
2010-06-09ILE/RPG binding updated to current curl.h definitions.Patrick Monnerat
2010-06-09code simplificationYang Tse
2010-06-09add Curl_ prefix to conform with cURL naming standardsYang Tse
2010-06-09Merge branch 'master' of git@github.com:bagder/curlYang Tse
2010-06-09fix compiler warning using curl_socket_t to store socket descriptorYang Tse
2010-06-08inet_pton: warnings: use size_t to store pointer deltasDaniel Stenberg
2010-06-08avoid redundant work when reusing same connectionYang Tse
2010-06-08fix function result checkingYang Tse
2010-06-08transfer: warning: implicit conversionDaniel Stenberg
There is an implicit conversion from "unsigned long" to "long"; rounding, sign extension, or loss of accuracy may result. Fixed by an added typecast.
2010-06-08TFTP: fix compiler warningDaniel Stenberg
Curl_fillreadbuffer()'s second argument takes an int, so typecasting to another is a bad idea.
2010-06-08TFTP: fix warning for sendto() usage on non-POSIX systemsDaniel Stenberg
Older unixes want an 'int' instead of 'size_t' as the 3rd argumment so before this change it would cause warnings such as: There is an implicit conversion from "unsigned long" to "int"; rounding, sign extension, or loss of accuracy may result.
2010-06-07Include Makefile.inc to get the list of source files for AmigaDan Fandrich
Signed-off-by: Diego Casorran <dcasorran@gmail.com>
2010-06-07Curl_updateconninfo() error handling fixYang Tse
2010-06-05OpenSSL: fix spurious SSL connection abortsConstantine Sapuntzakis
Was seeing spurious SSL connection aborts using libcurl and OpenSSL. I tracked it down to uncleared error state on the OpenSSL error stack - patch attached deals with that. Rough idea of problem: Code that uses libcurl calls some library that uses OpenSSL but don't clear the OpenSSL error stack after an error. ssluse.c calls SSL_read which eventually gets an EWOULDBLOCK from the OS. Returns -1 to indicate an error ssluse.c calls SSL_get_error. First thing, SSL_get_error calls ERR_get_error to check the OpenSSL error stack, finds an old error and returns SSL_ERROR_SSL instead of SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. ssluse.c returns an error and aborts the connection Solution: Clear the openssl error stack before calling SSL_* operation if we're going to call SSL_get_error afterwards. Notes: This is much more likely to happen with multi because it's easier to intersperse other calls to the OpenSSL library in the same thread.
2010-06-05replace socklen_t with curl_socklen_tYang Tse
2010-06-05getinfo: added *_PRIMARY_PORT, *_LOCAL_IP and *_LOCAL_PORTFrank Meier