Daniel Stenberg [Tue, 20 Nov 2007 23:17:08 +0000 (23:17 +0000)]
While inspecting the Negotiate code, I noticed how the proxy auth was using
the same state struct as the host auth, so both could never be used at the
same time! I fixed it (without being able to check) to use two separate
structs to allow authentication using Negotiate on host and proxy
simultanouesly.
Daniel Stenberg [Tue, 20 Nov 2007 10:03:33 +0000 (10:03 +0000)]
fix the treatment of the parameter-based precision, as in "%.*s%s" as
previously the second %s would wrongly get the numerical argument that is used
for the variable precision for the first %s...
Daniel Stenberg [Mon, 19 Nov 2007 09:24:24 +0000 (09:24 +0000)]
I think this is the right fix for other non-OpenSSL libs, based on the NSS fix
from the other day. It is time to setup the internal SSL libs and treat them
with a "handler" struct similar to how we deal with the protocols these days...
Daniel Stenberg [Thu, 15 Nov 2007 23:42:21 +0000 (23:42 +0000)]
Ates Goral identified a problem in http.c:add_buffer_send() when a debug
callback was used, as it could wrongly pass on a bad size for the outgoing
HTTP header. The bad size would be a very large value as it was a wrapped
size_t content. This happened when the whole HTTP request failed to get sent
in one single send. http://curl.haxx.se/mail/lib-2007-11/0165.html
Daniel Stenberg [Thu, 15 Nov 2007 23:30:59 +0000 (23:30 +0000)]
removed unnecessary check from add_buffer_send() that only was made within
#ifdef CURL_DOES_CONVERSIONS anyway! I turned it into a DEBUGASSERT() instead.
Daniel Stenberg [Thu, 15 Nov 2007 21:45:45 +0000 (21:45 +0000)]
Rearranged code and changed Curl_readwrite_init() and Curl_pre_readwrite() into
do_init() and do_complete() which now are called first and last in the DO
function. It simplified the flow in multi.c and the functions got more
sensible names!
Daniel Stenberg [Thu, 15 Nov 2007 11:03:02 +0000 (11:03 +0000)]
Make the Transfer() function return earlier without doing any initializations
for the cases where there's nothing to do in here, like for SFTP directory
listings that already is complete when this function gets called. The init
stuff clears byte counters which isn't really desired.
When looking up in DNS and then in the hosts file, return the error code from DNS if both fail, instead of returning the error code from the hosts file, as today. Patch from the Google tree.
Daniel Stenberg [Wed, 14 Nov 2007 22:41:42 +0000 (22:41 +0000)]
Fix how TFTP connections are treated when re-used, if the SessionHandle has
been used for other protocols in between. I found this when test 2004 started
to fail for me!
Daniel Stenberg [Mon, 12 Nov 2007 21:38:43 +0000 (21:38 +0000)]
Bug report #1830637 (http://curl.haxx.se/bug/view.cgi?id=1830637), which was
forwarded from the Gentoo bug tracker by Daniel Black and was originally
submitted by Robin Johnson, pointed out that libcurl would do bad memory
references when it failed and bailed out before the handler thing was
setup. My fix is not done like the provided patch does it, but instead I
make sure that there's never any chance for a NULL pointer in that struct
member.
Daniel Stenberg [Thu, 8 Nov 2007 10:22:49 +0000 (10:22 +0000)]
Bug report #1823487 (http://curl.haxx.se/bug/view.cgi?id=1823487) pointed
out that SFTP requests didn't use persistent connections. Neither did SCP
ones. I gave the SSH code a good beating and now both SCP and SFTP should
use persistent connections fine. I also did a bunch for indent changes as
well as a bug fix for the "keyboard interactive" auth.
Dan Fandrich [Wed, 7 Nov 2007 05:52:03 +0000 (05:52 +0000)]
Improved telnet support by drastically reducing the number of write
callbacks needed to pass a buffer to the user. Instead one per byte it
is now as little as one per segment.
Yang Tse [Tue, 6 Nov 2007 17:18:27 +0000 (17:18 +0000)]
Bug report #1824894 (http://curl.haxx.se/bug/view.cgi?id=1824894) pointed
out a problem in curl.h when building C++ apps with MSVC. To fix it, the
inclusion of header files in curl.h is moved outside of the C++ extern "C"
linkage block.
Daniel Stenberg [Mon, 5 Nov 2007 09:30:45 +0000 (09:30 +0000)]
Move connection-oriented variables from the SessionHandle struct to the
connectdata struct. This will in theory enable us to do persistent connections
with SCP+SFTP, but currently the state machine always (and wrongly) cleanup
everything in the 'done' action instead of in 'disconnect'. Also did a bunch
of indent fixes, if () => if() and a few other source cleanups like added
comments etc.
Daniel Stenberg [Thu, 1 Nov 2007 21:49:59 +0000 (21:49 +0000)]
Toby Peterson patched a memory problem in the command line tool that
happened when a user had a home dir as an empty string. curl would then do
free() on a wrong area.
Daniel Stenberg [Wed, 31 Oct 2007 09:21:31 +0000 (09:21 +0000)]
contributor re-count (we'll break the 600 limit very very soon now) and I made
all the numericals at the top phrased "shorter" and I cut out the "number of
releases since the very beginning" since that's just the number curl releases
+ 26 and not a very interesting number anyway.
Daniel Stenberg [Mon, 29 Oct 2007 22:13:00 +0000 (22:13 +0000)]
Based on one of those bug reports that are intercepted by a distro's bug
tracker (https://bugzilla.redhat.com/show_bug.cgi?id=316191), I now made
curl-config --features and --protocols show the correct output when built
with NSS.