Daniel Stenberg [Fri, 18 Feb 2005 23:53:07 +0000 (23:53 +0000)]
Ralph Mitchell reported a flaw when you used a proxy with auth, and you
requested data from a host and then followed a redirect to another
host. libcurl then didn't use the proxy-auth properly in the second request,
due to the host-only check for original host name wrongly being extended to
the proxy auth as well. Added test case 233 to verify the flaw and that the
fix removed the problem.
Daniel Stenberg [Wed, 16 Feb 2005 14:31:23 +0000 (14:31 +0000)]
Christopher R. Palmer reported a problem with HTTP-POSTing using "anyauth"
that picks NTLM. Thanks to David Byron letting me test NTLM against his
servers, I could quickly repeat and fix the problem. It turned out to be:
When libcurl POSTs without knowing/using an authentication and it gets back a
list of types from which it picks NTLM, it needs to either continue sending
its data if it keeps the connection alive, or not send the data but close the
connection. Then do the first step in the NTLM auth. libcurl didn't send the
data nor close the connection but simply read the response-body and then sent
the first negotiation step. Which then failed miserably of course. The fixed
version forces a connection if there is more than 2000 bytes left to send.
Daniel Stenberg [Fri, 11 Feb 2005 22:05:04 +0000 (22:05 +0000)]
Removed per Marty's request: The .h_* files aren't needed anymore, I
consolidated them into one file called config-vms.h. The curlmsg.h and .sdl
files are generated from the curlmsg.msg file and, thus, shouldn't be in the
dist.
Daniel Stenberg [Thu, 10 Feb 2005 08:50:33 +0000 (08:50 +0000)]
Moved out the valgrind report parser to valgrind.pm, to make it easier to
test it outside the test suite. Now we also disable valgrind usage if libcurl
was built shared, as then valgrind is only testing the wrapper-script running
shell which is pointless.
Daniel Stenberg [Wed, 9 Feb 2005 23:16:03 +0000 (23:16 +0000)]
David Byron fixed his SSL problems, initially mentioned here:
http://curl.haxx.se/mail/lib-2005-01/0240.html. It turned out we didn't use
SSL_pending() as we should.
Daniel Stenberg [Wed, 9 Feb 2005 13:06:40 +0000 (13:06 +0000)]
FTP code turned into state machine. Not completely yet, but a good start.
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
Daniel Stenberg [Tue, 8 Feb 2005 07:36:57 +0000 (07:36 +0000)]
Curl_wait_for_resolv() no longer disconnects on failure, but leaves that
operation to the caller. Disconnecting has the disadvantage that the conn
pointer gets completely invalidated and this is not handled on lots of places
in the code.
Daniel Stenberg [Sat, 5 Feb 2005 10:25:20 +0000 (10:25 +0000)]
valgrind errors occur too often when 'make test' is used. It is because too
many third-party libs and tools have problems. When curl is built without
--disable-shared, the testing is done with a front-end script which makes the
valgrind testing include (ba)sh as well and that often causes valgrind
errors. Either we improve the valgrind error scanner a lot to better identify
(lib)curl errors only, or we disable valgrind checking by default
Daniel Stenberg [Fri, 4 Feb 2005 13:42:41 +0000 (13:42 +0000)]
David Byron pointed out that this -1 on the buffer size is pointless since
the buffer is already BUFSIZE +1 one big to fit the extra trailing zero. This
change is reported to fix David's weird SSL problem...
Daniel Stenberg [Sun, 30 Jan 2005 12:56:36 +0000 (12:56 +0000)]
Bugfixed the parser that scans the valgrind report outputs. I noticed that it
previously didn't detect and report the "Conditional jump or move depends on
uninitialised value(s)" error.
When I fixed this, I caught a few curl bugs with it. And then I had to spend
time to make the test suite IGNORE these errors when OpenSSL is used since it
produce massive amounts of valgrind warnings (but only of the "Conditional..."
kind it seems).
So, if a test that requires SSL is run, it ignores the "Conditional..."
errors, and you'll get a "valgrind PARTIAL" output instead of "valgrind OK".
Daniel Stenberg [Sat, 29 Jan 2005 22:31:06 +0000 (22:31 +0000)]
Using the multi interface, and doing a requsted a re-used connection that
gets closed just after the request has been sent failed and did not re-issue
a request on a fresh reconnect like the easy interface did. Now it does!
(define CURL_MULTIEASY, run test case 160)
Daniel Stenberg [Sat, 29 Jan 2005 22:26:38 +0000 (22:26 +0000)]
Define CURL_MULTIEASY when building this, to use my new curl_easy_perform()
that uses the multi interface to run the request. It is a great testbed for
the multi interface and I believe we shall do it this way for real in the
future when we have a successor to curl_multi_fdset().
Daniel Stenberg [Fri, 28 Jan 2005 23:21:24 +0000 (23:21 +0000)]
Connect failures with the multi interface was often returned as "connect()
timed out" even though the reason was different. Fixed this problem by not
setting this timeout to zero when using multi.
Daniel Stenberg [Fri, 28 Jan 2005 22:14:48 +0000 (22:14 +0000)]
KNOWN_BUGS #17 fixed. A DNS cache entry may not remain locked between two
curl_easy_perform() invokes. It was previously unlocked at disconnect, which
could mean that it remained locked between multiple transfers. The DNS cache
may not live as long as the connection cache does, as they are separate.
To deal with the lack of DNS (host address) data availability in re-used
connections, libcurl now keeps a copy of the IP adress as a string, to be able
to show it even on subsequent requests on the same connection.
Daniel Stenberg [Fri, 28 Jan 2005 08:26:36 +0000 (08:26 +0000)]
Stephen More pointed out that CURLOPT_FTPPORT and the -P option didn't work
when built ipv6-enabled. I've now made a fix for it. Writing test cases for
custom port strings turned too tricky so unfortunately there's none.
Daniel Stenberg [Tue, 25 Jan 2005 22:13:12 +0000 (22:13 +0000)]
Ian Ford asked about support for the FTP command ACCT, and I discovered it is
present in RFC959... so now (lib)curl supports it as well. --ftp-account and
CURLOPT_FTP_ACCOUNT set the account string. (The server may ask for an account
string after PASS have been sent away. The client responds with "ACCT [account
string]".) Added test case 228 and 229 to verify the functionality. Updated
the test FTP server to support ACCT somewhat.
Daniel Stenberg [Tue, 25 Jan 2005 09:29:05 +0000 (09:29 +0000)]
David Shaw contributed a fairly complete and detailed autoconf macro you can
use to detect libcurl and setup variables for the protocols the installed
libcurl supports: docs/libcurl/libcurl.m4