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.
Daniel Stenberg [Thu, 25 Oct 2007 21:08:55 +0000 (21:08 +0000)]
Made libcurl built with NSS possible to ignore the peer verification.
Previously it would fail if the ca bundle wasn't present, even if the code
ignored the verification results.
Daniel Stenberg [Thu, 25 Oct 2007 09:41:35 +0000 (09:41 +0000)]
Don't assume there's a sessionhandle around when a connection is disconnected,
so do the data->reqdata.current_conn assignment when we know there is an easy
handle existing! Fixes the valgrind report on test 509.
Daniel Stenberg [Wed, 24 Oct 2007 21:14:11 +0000 (21:14 +0000)]
Curl_ftp_disconnect() no longer relies on anything in the reqdata struct. That
was even mentioned to be bad in a comment! Should make test 2000 and 2001 work
fine.
Also, freedirs() now take a ftp_conn struct pointer which saves some extra
unnecessary variable assignments.
Dan Fandrich [Wed, 24 Oct 2007 19:40:07 +0000 (19:40 +0000)]
Added test cases 2000 and 2001 which test multiple protocols using the
same easy handle
Fixed the filecheck: make target to work outside the source tree
Yang Tse [Wed, 24 Oct 2007 14:39:07 +0000 (14:39 +0000)]
Windows build targets have socklen_t definition in ws2tcpip.h but some
versions of ws2tcpip.h do not have the definition. It seems that when
the socklen_t definition is missing from ws2tcpip.h the definition for
INET_ADDRSTRLEN is also missing, and that when one definition is present
the other one also is available.
Daniel Stenberg [Wed, 24 Oct 2007 09:28:36 +0000 (09:28 +0000)]
Vladimir Lazarenko pointed out that we should do some 'mt' magic when
building with VC8 to get the "manifest" embedded to make fine stand-alone
binaries. The maketgz and the src/Makefile.vc6 files were adjusted
accordingly.
Daniel Stenberg [Tue, 23 Oct 2007 21:00:51 +0000 (21:00 +0000)]
Bug report #1812190 (http://curl.haxx.se/bug/view.cgi?id=1812190) points out
that libcurl tried to re-use connections a bit too much when using non-SSL
protocols tunneled over a HTTP proxy.