Daniel Stenberg [Thu, 16 Oct 2008 07:59:00 +0000 (07:59 +0000)]
Curl_ascii_equal() must not assume that the string is actually ASCII (so that a-z
are consecutive and with a 0x20 "distance" to the uppercase letter), since we do
support EBCDIC as well. Thus I replaced the macro with a (larger) switch case.
Daniel Stenberg [Wed, 15 Oct 2008 21:43:48 +0000 (21:43 +0000)]
- Pascal Terjan filed bug #2154627
(http://curl.haxx.se/bug/view.cgi?id=2154627) which pointed out that libcurl
uses strcasecmp() in multiple places where it causes failures when the
Turkish locale is used. This is because 'i' and 'I' isn't the same letter so
strcasecmp() on those letters are different in Turkish than in English (or
just about all other languages). I thus introduced a totally new internal
function in libcurl (called Curl_ascii_equal) for doing case insentive
comparisons for english-(ascii?) style strings that thus will make "file"
and "FILE" match even if the Turkish locale is selected.
Yang Tse [Wed, 15 Oct 2008 18:10:02 +0000 (18:10 +0000)]
Ensure that shell variable contents which have active meaning
to the shell echo command are not interpreted when trying to
remove extra whitespace from shell variable content.
Dan Fandrich [Wed, 15 Oct 2008 17:41:02 +0000 (17:41 +0000)]
A <precheck> command is considered to have failed if it returns a non-zero
return code. This way, if the precheck command can't be run at all for
whatever reason, it's treated as a precheck failure which causes the
test to be skipped.
Daniel Stenberg [Wed, 15 Oct 2008 07:43:48 +0000 (07:43 +0000)]
- John Wilkinson filed bug #2155496
(http://curl.haxx.se/bug/view.cgi?id=2155496) pointing out an error case
without a proper human-readable error message. When a read callback returns
a too large value (like when trying to return a negative number) it would
trigger and the generic error message then makes the proplem slightly
different to track down. I've added an error message for this now.
Daniel Stenberg [Mon, 13 Oct 2008 22:21:01 +0000 (22:21 +0000)]
Prevent the accidental passing along NULL for the cases where the --trace
options don't succeed in opening the target file etc. Detected by coverity.com
Daniel Stenberg [Mon, 13 Oct 2008 21:03:12 +0000 (21:03 +0000)]
Removed superfluous check of clist->name, as in this code path that pointer
has already been dereferenced so it is bound to be valid. Pointed out to us
by coverity.com
Yang Tse [Sun, 12 Oct 2008 16:57:40 +0000 (16:57 +0000)]
LCC compiler adjustments:
Highest warning level is double -A, next is single -A.
Due to the big number of warnings these trigger on third
party header files it is impratical for us to use any of
them here. If you want them simply define it in CPPFLAGS.
Daniel Stenberg [Thu, 9 Oct 2008 21:57:51 +0000 (21:57 +0000)]
I replaced the use of 'struct tm' with a private clone of that struct simply
because the struct is declared on the stack and not all members are used so
we could just as well make struct with only struct members we actually need.
Dan Fandrich [Thu, 9 Oct 2008 19:23:50 +0000 (19:23 +0000)]
Fixed the --interface option to work with IPv6 connections on glibc
systems supporting getifaddrs(). Also fixed a problem where an IPv6
address could be chosen instead of an IPv4 one for --interface when it
involved a name lookup.
Dan Fandrich [Thu, 9 Oct 2008 05:16:06 +0000 (05:16 +0000)]
Added tests 633 through 637 to test the new file range support for SFTP.
All but the first test cause an infinite loop or other failure and so
are added to DISABLED.
Daniel Stenberg [Wed, 8 Oct 2008 21:42:29 +0000 (21:42 +0000)]
- Igor filed bug #2111613 (http://curl.haxx.se/bug/view.cgi?id=2111613) that
eventually identified a flaw in how the multi_socket interface in some cases
missed to call the timeout callback when easy interfaces are removed and
added within the same millisecond.
Daniel Stenberg [Wed, 8 Oct 2008 10:39:43 +0000 (10:39 +0000)]
- Igor Novoseltsev brought a patch that introduced two new options to
curl_easy_setopt: CURLOPT_USERNAME and CURLOPT_PASSWORD that sort of
deprecates the good old CURLOPT_USERPWD since they allow applications to set
the user name and password independently and perhaps more importantly allow
both to contain colon(s) which CURLOPT_USERPWD doesn't fully support.
Dan Fandrich [Wed, 8 Oct 2008 03:32:10 +0000 (03:32 +0000)]
Created test cases 1080 and 1081 to reproduce a problem of
CURLINFO_REDIRECT_URL leaking memory and returning incorrect results when
two URLs are requested. Reported by vmpdemo in bug #2152270
Dan Fandrich [Tue, 7 Oct 2008 23:15:02 +0000 (23:15 +0000)]
Changed the handling of read/write errors in Curl_perform() to allow a
a fresh connection to be made in such cases and the request retransmitted.
This should fix test case 160. Added test case 1079 in an attempt to
test a similar connection dropping scenario, but as a race condition, it's
hard to test reliably.
Daniel Stenberg [Tue, 7 Oct 2008 22:13:34 +0000 (22:13 +0000)]
One fix for CURLINFO_PRIMARY_IP just went in which addressed at least one of
the concerns mentioned for 174 and the other guy hasn't returned so I remove
the entry from here now.
Daniel Stenberg [Tue, 7 Oct 2008 21:56:56 +0000 (21:56 +0000)]
- Fixed CURLINFO_PRIMARY_IP: When libcurl created a connection to host A then
the app re-used the handle to do a connection to host B and then again
re-used the handle to host A, it would not update the info with host A's IP
address (due to the connection being re-used) but it would instead report
the info from host B.