- Jul 17, 2010
-
-
Jan Van Boghout authored
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
-
Jeff Pohlmeyer authored
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.
-
- Jul 14, 2010
-
-
Daniel Stenberg authored
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
-
- Jul 13, 2010
-
-
Daniel Stenberg authored
-
Constantine Sapuntzakis authored
Make the multi-interface using examples use curl_multi_timeout to properly educate users how to do things.
-
- Jul 12, 2010
-
-
Daniel Stenberg authored
-
Constantine Sapuntzakis authored
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.
-
Constantine Sapuntzakis authored
Reset old timer first so we can set a new one further in the future.
-
Daniel Stenberg authored
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
-
- Jul 09, 2010
-
-
Dan Fandrich authored
-
- Jul 07, 2010
-
-
Tor Arntsen authored
The test would loop forever if authtype bit 0 wasn't set.
-
- Jul 06, 2010
-
-
Daniel Stenberg authored
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.
-
Daniel Stenberg authored
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
-
Daniel Stenberg authored
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.
-
Daniel Stenberg authored
it makes the --libcurl output easier to follow.
-
Daniel Stenberg authored
And additionally, don't show function or object pointers actual value since they make no sense to anyone. Show 'functionpointer' and 'objectpointer' instead.
-
Daniel Stenberg authored
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.
-
- Jul 01, 2010
-
-
Daniel Stenberg authored
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
-
- Jun 30, 2010
-
-
Pierre Joye authored
-
Daniel Stenberg authored
-
Kamil Dudka authored
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.
-
- Jun 28, 2010
-
-
Daniel Stenberg authored
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
-
Daniel Stenberg authored
-
- Jun 26, 2010
-
-
Daniel Stenberg authored
-
- Jun 24, 2010
-
-
Pavel Raiskup authored
There was a problem when a UNIX-like server returned information about directory size (total NNNNNN) at the first line of response.
-
Pavel Raiskup authored
-
Daniel Stenberg authored
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
-
Pavel Raiskup authored
It was broken for URLs like "ftp://example.com/".
-
- Jun 21, 2010
-
-
Daniel Stenberg authored
It passes the git log output through 'log2changes.pl' to produce the lot.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
CHANGES is no longer used for manually edited content. It is to be generated automatically by maketgz when we make release tarballs.
-
Daniel Stenberg authored
--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.
-
Dan Fandrich authored
Add the ASCII art header, and list version commits by decoding the ref tag names, when available (using the git log --decorate option).
-
- Jun 19, 2010
-
-
Daniel Stenberg authored
$ 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.
-
- Jun 18, 2010
-
-
Daniel Stenberg authored
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.
-
Daniel Stenberg authored
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.
-
Daniel Stenberg authored
Reported-by: Steven M. Schweda
-
- Jun 17, 2010
-
-
Dan Fandrich authored
-
Kamil Dudka authored
-
Krister Johansen authored
-