Dan Fandrich [Fri, 13 Oct 2006 21:02:27 +0000 (21:02 +0000)]
The tagging of application/x-www-form-urlencoded POST body data sent
to the CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously
included as part of the header). A message was also added to the
command line tool to show when data is being sent, enabled when
--verbose is used.
Daniel Stenberg [Fri, 13 Oct 2006 07:11:26 +0000 (07:11 +0000)]
Added curl_multi_dump() when built with CURLDEBUG - this is not a stable public
function, this is only meant to allow easier tracking of the internal handle's
state and what sockets they use. Only for research and development.
Daniel Stenberg [Thu, 12 Oct 2006 08:36:47 +0000 (08:36 +0000)]
Jeff Pohlmeyer has been working with the hiperfifo.c example source code,
and while doing so it became apparent that the current timeout system for
the socket API really was a bit awkward since it become quite some work to
be sure we have the correct timeout set.
Jeff then provided the new CURLMOPT_TIMERFUNCTION that is yet another
callback the app can set to get to know when the general timeout time
changes and thus for an application like hiperfifo.c it makes everything a
lot easier and nicer. There's a CURLMOPT_TIMERDATA option too of course in
good old libcurl tradition.
Daniel Stenberg [Mon, 9 Oct 2006 21:29:53 +0000 (21:29 +0000)]
Added test case 536 in an attempt to add Bogdan Nicula's problematic case
with multi interface and pipelining. This test just works and did not repeat
the problem his test code showed, but could still serve as a useful test.
Daniel Stenberg [Mon, 9 Oct 2006 06:58:05 +0000 (06:58 +0000)]
Bogdan Nicula's second test case (posted Sun, 08 Oct 2006) converted to test
case 535 and it now runs fine. Again a problem with the pipelining code not
taking all possible (error) conditions into account.
Daniel Stenberg [Sun, 8 Oct 2006 08:43:32 +0000 (08:43 +0000)]
Fix a "sockfilt" leak. When a new 'data' connection sockfilt server is started,
make sure that a previously used one is killed first (since they re-use the
same .pid file etc)
Daniel Stenberg [Wed, 4 Oct 2006 21:11:08 +0000 (21:11 +0000)]
Dmitriy Sergeyev provided an example source code that crashed CVS libcurl
but that worked nicely in 7.15.5. I converted it into test case 532 and
fixed the problem.
Daniel Stenberg [Thu, 28 Sep 2006 21:26:06 +0000 (21:26 +0000)]
Reported in #1561470 (http://curl.haxx.se/bug/view.cgi?id=1561470), libcurl
would crash if a bad function sequence was used when shutting down after
using the multi interface (i.e using easy_cleanup after multi_cleanup) so
precautions have been added to make sure it doesn't any more - test case 529
was added to verify.
Daniel Stenberg [Sat, 23 Sep 2006 19:07:20 +0000 (19:07 +0000)]
Dmitriy Sergeyev provided a patch that made the SOCKS[45] code work better as
it now will read the full data sent from servers. The SOCKS-related code was
also moved to the new lib/socks.c source file.
Daniel Stenberg [Thu, 21 Sep 2006 20:52:20 +0000 (20:52 +0000)]
Added test case 531 in an attempt to repeat bug report #1561470
(http://curl.haxx.se/bug/view.cgi?id=1561470) that is said to crash when an
FTP upload fails with the multi interface. It did not, but I made a failed
upload still assume the control connection to be fine.
Daniel Stenberg [Wed, 20 Sep 2006 21:49:41 +0000 (21:49 +0000)]
Armel Asselin fixed problems when you gave a proxy URL with user name and
empty password or no password at all. Test case 278 and 279 were added to
verify.
Daniel Stenberg [Wed, 20 Sep 2006 12:03:50 +0000 (12:03 +0000)]
Michael Wallner's test program again help me track down a problem. This time
it basically was that we didn't remove the current connection from the pipe
list when following a redirect. Also in this commit: several cases of
additional debug code for debug builds helping to check and track down some
signs of run-time trouble.
Daniel Stenberg [Sat, 16 Sep 2006 21:50:29 +0000 (21:50 +0000)]
Resize the connection cache upwards when adding more handles than what
currently fits in the cache, to make the cache work better especially for
pipelining cases but also for "mere" (persistent) connection re-use.
Daniel Stenberg [Sat, 16 Sep 2006 20:57:59 +0000 (20:57 +0000)]
Armel Asselin - When the easy handle is removed from the multi while libcurl
is still trying to resolve the host name, it seems that the ftp struct is not
yet initialized, but the removal action calls Curl_done() which calls
Curl_ftp_done. So we simply return success from there if no ftp pointer is
set.
Daniel Stenberg [Mon, 11 Sep 2006 20:50:58 +0000 (20:50 +0000)]
If the current connection doesn't fit to get added to the connection cache,
we certainly MUST NOT kill an active connection... Problem tracked down thanks
to Michael Wallner's excellent test program.
Daniel Stenberg [Mon, 11 Sep 2006 20:25:13 +0000 (20:25 +0000)]
- Guilherme Balena Versiani: I noted a strange BUG in Win32 port
(ares_init.c/get_iphlpapi_dns_info() function): when I disable the network
by hand or disconnect the network cable in Windows 2000 or Windows XP, my
application gets 127.0.0.1 as the only name server. The problem comes from
'GetNetworkParams' function, that returns the empty string "" as the only
name server in that case. Moreover, the Windows implementation of
inet_addr() returns INADDR_LOOPBACK instead of INADDR_NONE.
Daniel Stenberg [Mon, 11 Sep 2006 17:18:18 +0000 (17:18 +0000)]
- Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
handle that is part of a multi handle first removes the handle from the
stack.
- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
session-ID re-use on demand since there obviously are broken servers out
there that misbehave with session-IDs used.