Daniel Stenberg [Wed, 25 Oct 2006 20:40:14 +0000 (20:40 +0000)]
Fixed CURLOPT_FAILONERROR to return CURLE_HTTP_RETURNED_ERROR even for the
case when 401 or 407 are returned, *IF* no auth credentials have been given.
The CURLOPT_FAILONERROR option is not possible to make fool-proof for 401
and 407 cases when auth credentials is given, but we've now covered this
somewhat more.
You might get some amounts of headers transferred before this situation is
detected, like for when a "100-continue" is received as a response to a
POST/PUT and a 401 or 407 is received immediately afterwards.
Yang Tse [Tue, 24 Oct 2006 15:51:42 +0000 (15:51 +0000)]
Abort test if it seems that it would have run forever. This is just to prevent
test hanging and actually is an indication that there's a condition that is
not being properly handled at some point in the library.
Remove a pair of braces and adjust indentation appropriately.
Daniel Stenberg [Sat, 21 Oct 2006 11:40:04 +0000 (11:40 +0000)]
Nir Soffer made the tests/libtest/Makefile.am use a proper variable for all
the single test applications' link and dependences, so that you easier can
override those from the command line when using make.
Daniel Stenberg [Sat, 21 Oct 2006 11:32:05 +0000 (11:32 +0000)]
Armel Asselin separated CA cert verification problems from problems with
reading the (local) CA cert file to let users easier pinpoint the actual
problem. CURLE_SSL_CACERT_BADFILE (77) is the new libcurl error code.
Yang Tse [Fri, 20 Oct 2006 17:16:06 +0000 (17:16 +0000)]
Since now src/setup.h includes setup_once.h, src/config-win32.h needs
the definitions for the return type and arguments types of functions
recv() and send().
Yang Tse [Fri, 20 Oct 2006 15:39:54 +0000 (15:39 +0000)]
Decrease the posibility of aborting a test which actually is not
stale by replacing loop counters with timeouts. In this way the
main loop of the test will be allowed to run up to 30 seconds on
any platform before aborting it.
Daniel Stenberg [Fri, 20 Oct 2006 12:25:39 +0000 (12:25 +0000)]
When a resolve is made on a pipelined connection we need to detect it properly
(when the resoling isn't completede yet) and not confuse it with a simple
connection re-use (non-pipelined).
Yang Tse [Thu, 19 Oct 2006 17:29:25 +0000 (17:29 +0000)]
Abort test if it seems that it would have run forever. This is just to prevent
test hanging and actually is an indication that there's a condition that is
not being properly handled at some point in the library.
Loop counter limits might need to be further increased on false positives.
Daniel Stenberg [Thu, 19 Oct 2006 14:28:50 +0000 (14:28 +0000)]
Here's an effort to avoid saying 'data not shown' in the debug parts when the
data is actually shown on screen. Like when you do 'curl -v host' with data
and debug info sent to the same terminal.
Daniel Stenberg [Wed, 18 Oct 2006 15:10:49 +0000 (15:10 +0000)]
When a connection is re-used, it can be flagged for re-use before the name
resolving is completed so we must make sure to survive it and mark the
connection as async (ie not yet connected completely).
Daniel Stenberg [Tue, 17 Oct 2006 21:32:56 +0000 (21:32 +0000)]
Avoid typecasting a signed char to an int when using is*() functions, as that
could very well cause a negate number get passed in and thus cause reading
outside of the array usually used for this purpose.
We avoid this by using the uppercase macro versions introduced just now that
does some extra crazy typecasts to avoid byte codes > 127 to cause negative
int values.
Daniel Stenberg [Tue, 17 Oct 2006 09:05:44 +0000 (09:05 +0000)]
make the low_speed check set the expire timer so that it has a chance to work
even when using curl_multi_socket() or even using the multi_perform() when
relying on multi_timeout() to be good.
Daniel Stenberg [Mon, 16 Oct 2006 08:30:54 +0000 (08:30 +0000)]
Added a check in configure that simply tries to run a program (not when
cross-compiling) in order to detect problems with run-time libraries that
otherwise would occur when the sizeof tests for curl_off_t would run and
thus be much more confusing to users. The check of course should run after
all lib-checks are done and before any other test is used that would run an
executable built for testing-purposes.
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.