summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pingpong: response_time is millisecondsJan Van Boghout2010-07-181-2/+2
| | | | Fixed the comment/document for the response_time struct member.
* ftp: response timeout bug in "quote" sendingJan Van Boghout2010-07-181-0/+4
| | | | | | 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
* remote-header-name: chop filename at next semicolonJeff Pohlmeyer2010-07-171-1/+9
| | | | | | | | | | The --remote-header-name option for the command-line tool assumes that everything beyond the filename= field is part of the filename, but that might not always be the case, for example: Content-Disposition: attachment; filename=file.txt; modification-date=... This fix chops the filename off at the next semicolon, if there is one.
* --retry: access violation with URL part sets continuedDaniel Stenberg2010-07-142-2/+4
| | | | | | | | | | | When getting multiple URLs, curl didn't properly reset the byte counter after a successful transfer so if the subsequent transfer failed it would wrongly use the previous byte counter and behave badly (segfault) because of that. The code assumes that the byte counter and the 'stream' pointer is well in synch. Reported by: Jon Sargeant Bug: http://curl.haxx.se/bug/view.cgi?id=3028241
* releasnote: synch up with commit f3b77e5611dDaniel Stenberg2010-07-141-2/+14
|
* examples: add curl_multi_timeoutConstantine Sapuntzakis2010-07-146-0/+66
| | | | | Make the multi-interface using examples use curl_multi_timeout to properly educate users how to do things.
* configure: document the STATICLIB variableDaniel Stenberg2010-07-121-0/+3
|
* multi: fix condition that remove timers before triggerConstantine Sapuntzakis2010-07-121-2/+6
| | | | | | | | | | | | | | 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.
* threaded resolver: fix timeout issueConstantine Sapuntzakis2010-07-121-0/+3
| | | | Reset old timer first so we can set a new one further in the future.
* configure: allow environments variable to override internalsDaniel Stenberg2010-07-121-19/+31
| | | | | | | | | | | configure checks for grep, egrep, sed and ar and set the variables GREP, EGREP, SED and AR accordingly. We now let already set variables override the internal choices to let users make decisions when they know the right choice already. This is a regression as our configure script used to allow this back before commit 0b57c475 (up to 7.18.2). Reported by: "kdekker" Bug: http://curl.haxx.se/bug/view.cgi?id=3028318
* Improved the Android build instructionsDan Fandrich2010-07-092-10/+23
|
* upload: Avoid infinite loop when checking for auth bitsTor Arntsen2010-07-071-1/+1
| | | | The test would loop forever if authtype bit 0 wasn't set.
* upload: warn users trying to upload from stdin with anyauthDaniel Stenberg2010-07-061-0/+25
| | | | | | | | Since uploading from stdin is very likely to not work with anyauth and its multi-phase probing for what authentication to actually use, alert the user about it. Multi-phase negotiate almost certainly will involve sending data and thus libcurl will need to rewind the stream to send again, and it cannot do that with stdin.
* http: don't enable chunked during authentication negotiationsDaniel Stenberg2010-07-061-1/+4
| | | | | | | | | | | | 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
* --libcurl: list the tricky options instead of using [REMARK]Daniel Stenberg2010-07-061-7/+34
| | | | | | | I think the [REMARK] and commented function calls cluttered the code a bit too much and made the generated code ugly to read. Now we instead track the remarks one specially and just lists them at the end of the generated code more as additional information.
* curl: avoid setting libcurl options to its defaultDaniel Stenberg2010-07-061-3/+4
| | | | it makes the --libcurl output easier to follow.
* --libcurl: hide setopt() calls setting default optionsDaniel Stenberg2010-07-061-10/+17
| | | | | | And additionally, don't show function or object pointers actual value since they make no sense to anyone. Show 'functionpointer' and 'objectpointer' instead.
* --libcurl: use *_LARGE options with typecasted constantsDaniel Stenberg2010-07-061-1/+1
| | | | | | 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.
* multi: CURLINFO_LASTSOCKET doesn't work after remove_handleDaniel Stenberg2010-07-011-0/+4
| | | | | | | | | | | | 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
* build: add enable IPV6 option for the VC makefilesPierre Joye2010-06-302-1/+5
|
* FAQ: the threaded resolver works universally nowDaniel Stenberg2010-06-301-4/+4
|
* http_ntlm: add support for NSSKamil Dudka2010-06-309-78/+537
| | | | | | | | | | | | | | | | | | | 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.
* glob: backslash escaping bugDaniel Stenberg2010-06-292-21/+4
| | | | | | | | | | | | | | 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
* release-notes: sync up with recent commitsDaniel Stenberg2010-06-291-7/+9
|
* CONTRIBUTE: the git commit message line length is 72 columnsDaniel Stenberg2010-06-261-1/+1
|
* ftp wildcard: FTP LIST parser FIXPavel Raiskup2010-06-241-2/+51
| | | | | | There was a problem when a UNIX-like server returned information about directory size (total NNNNNN) at the first line of response.
* examples: new FTP wildcard showcasePavel Raiskup2010-06-242-12/+144
|
* multi_socket: re-use of same socket without notifying appDaniel Stenberg2010-06-241-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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
* ftp-wildcard: avoid tight loop when used without any patternPavel Raiskup2010-06-241-1/+1
| | | | It was broken for URLs like "ftp://example.com/".
* maketgz: produce CHANGES automatically with the 1000 most recent commitsDaniel Stenberg2010-06-211-0/+3
| | | | | It passes the git log output through 'log2changes.pl' to produce the lot.
* ignore: CHANGES.dist gets generated by maketgzDaniel Stenberg2010-06-211-0/+1
|
* CHANGES: move all contents from CHANGES to CHANGES.0Daniel Stenberg2010-06-212-2375/+2382
| | | | | | CHANGES is no longer used for manually edited content. It is to be generated automatically by maketgz when we make release tarballs.
* log2changes: correct command line, fix tag usage, change Version outputDaniel Stenberg2010-06-211-6/+7
| | | | | | | | | | | | --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.
* Make the output of log2changes.pl even more closely match CHANGESDan Fandrich2010-06-211-2/+24
| | | | | | Add the ASCII art header, and list version commits by decoding the ref tag names, when available (using the git log --decorate option).
* log2changes: first version of the git log to CHANGES conversion scriptDaniel Stenberg2010-06-191-0/+59
| | | | | | | $ 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.
* sendrecv: treat all negative values from send/recv as errorsDaniel Stenberg2010-06-191-3/+3
| | | | | | | 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.
* multi: prevent NULL pointer dereferenceDaniel Stenberg2010-06-181-1/+2
| | | | | | 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.
* smtp: fixed a few uses of size_t that seemed to believe it was signedDaniel Stenberg2010-06-181-8/+8
| | | | Reported-by: Steven M. Schweda
* Fixed an OOM memory leak in the FTP wildcard codeDan Fandrich2010-06-171-1/+3
|
* test575: do not fail with threaded DNS resolverKamil Dudka2010-06-172-7/+6
|
* multi: unmark handle as used when no longer head of pipelineKrister Johansen2010-06-171-1/+13
|
* multi: call the progress function only once and allow abortDaniel Stenberg2010-06-171-3/+2
| | | | | | | | 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
* multi: call the progress callback in all statesDaniel Stenberg2010-06-171-0/+2
| | | | | | 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.
* configure: spell --disable-threaded-resolver correctlyDaniel Stenberg2010-06-171-2/+2
| | | | | | | Previously we only accepted the option when named --disable-threaded-resover, which wasn't quite intended. Reported by: Helwing Lutz
* release: start on 7.21.1, bump contributor countDaniel Stenberg2010-06-161-29/+5
|
* version: start working on the 7.21.1-dev versionDaniel Stenberg2010-06-161-3/+3
|
* THANKS: added contributors from the 7.21.0 releaseDaniel Stenberg2010-06-161-0/+14
|
* release: 7.21.0curl-7_21_0Daniel Stenberg2010-06-161-0/+2
|
* remove unused 'tmpdata' and 'backup' ftp_parselist_data struct membersYang Tse2010-06-101-11/+0
|
* replace isprint() with ISPRINT()Yang Tse2010-06-101-1/+1
|