Daniel Stenberg [Thu, 11 Dec 2008 22:22:46 +0000 (22:22 +0000)]
- Keshav Krity found out that libcurl failed to deal with dotted IPv6
addresses if they were very long (>39 letters) due to a too strict address
validity parser. It now accepts addresses up to 45 bytes long.
Patrick Monnerat [Thu, 11 Dec 2008 19:20:03 +0000 (19:20 +0000)]
_ Use getaddrinfo/getnameinfo ascii wrappers on OS400.
_ Adjust OS400 make script for non-CVS distributions.
_ Upgrade ILE/RPG binding.
_ Define CURL_HIDDEN_SYMBOLS on OS400, since only CURL_EXTERN-marked symbols are exported.
Daniel Stenberg [Wed, 10 Dec 2008 23:13:31 +0000 (23:13 +0000)]
- Internet Explorer had a broken HTTP digest authentication before v7 and
there are servers "out there" that relies on the client doing this broken
Digest authentication. Apache even comes with an option to work with such
broken clients.
The difference is only for URLs that contain a query-part (a '?'-letter and
text to the right of it).
libcurl now supports this quirk, and you enable it by setting the
CURLAUTH_DIGEST_IE bit in the bitmask you pass to the CURLOPT_HTTPAUTH or
CURLOPT_PROXYAUTH options. They are thus individually controlled to server
and proxy.
Daniel Stenberg [Tue, 9 Dec 2008 15:02:37 +0000 (15:02 +0000)]
- Ken Hirsch simplified how libcurl does FTPS: now it doesn't assume any
particular state for the control connection like it did before for implicit
FTPS (libcurl assumed such control connections to be encrypted while some
FTPS servers such as FileZilla assumes such connections to be clear
mode). Use the CURLOPT_USE_SSL option to set your desired level.
Daniel Stenberg [Mon, 8 Dec 2008 20:20:51 +0000 (20:20 +0000)]
- Fred Machado posted about a weird FTP problem on the curl-users list and when
researching it, it turned out he got a 550 response back from a SIZE command
and then I fell over the text in RFC3659 that says:
The presence of the 550 error response to a SIZE command MUST NOT be taken
by the client as an indication that the file cannot be transferred in the
current MODE and TYPE.
In other words: the change I did on September 30th 2008 and that has been
included in the last two releases were a regression and a bad idea. We MUST
NOT take a 550 response from SIZE as a hint that the file doesn't exist.
Daniel Stenberg [Mon, 8 Dec 2008 13:52:20 +0000 (13:52 +0000)]
- Christian Krause filed bug #2221237
(http://curl.haxx.se/bug/view.cgi?id=2221237) that identified an infinite
loop during GSS authentication given some specific conditions. With his
patience and great feedback I managed to narrow down the problem and
eventually fix it although I can't test any of this myself!
Daniel Stenberg [Wed, 3 Dec 2008 15:20:27 +0000 (15:20 +0000)]
- Igor Novoseltsev filed bug #2351645
(http://curl.haxx.se/bug/view.cgi?id=2351645) that identified a problem with
the multi interface that occured if you removed an easy handle while in
progress and the handle was used in a HTTP pipeline.
Daniel Stenberg [Wed, 3 Dec 2008 15:08:09 +0000 (15:08 +0000)]
- Pawel Kierski pointed out a mistake in the cookie code that could lead to a
bad fclose() after a fatal error had occured.
(http://curl.haxx.se/bug/view.cgi?id=2382219)
Dan Fandrich [Tue, 25 Nov 2008 23:23:47 +0000 (23:23 +0000)]
If a HTTP request is Basic and num is already >=1000, the HTTP test server
adds 1 to num to get the data section to return. This allows testing
authentication negotiations using the Basic authentication method.
Yang Tse [Tue, 25 Nov 2008 16:26:58 +0000 (16:26 +0000)]
In preparation for the upcomming IPv6 nameservers patch, the internal
ares_addr union is now changed into an internal struct which also holds
the address family.
Daniel Stenberg [Mon, 24 Nov 2008 13:59:51 +0000 (13:59 +0000)]
- Based on a patch by Vlad Grachov, libcurl now uses a new libssh2 0.19
function when built to support SCP and SFTP that helps the library to know
in which direction a particular libssh2 operation would return EAGAIN so
that libcurl knows what socket conditions to wait for before trying the
function call again. Previously (and still when using libssh2 0.18 or
earlier), libcurl will busy-loop in this situation when the easy interface
is used!
Dan Fandrich [Thu, 20 Nov 2008 07:59:26 +0000 (07:59 +0000)]
Make checking for struct ifreq a prerequisite for setting
HAVE_IOCTL_SIOCGIFADDR since it's needed to use SIOCGIFADDR and Watcom C
doesn't currently define it.
Daniel Stenberg [Wed, 19 Nov 2008 22:00:14 +0000 (22:00 +0000)]
- I removed the default use of "Pragma: no-cache" from libcurl when a proxy is
used. It has been used since forever but it was never a good idea to use
unless explicitly asked for.
Daniel Stenberg [Wed, 19 Nov 2008 21:56:11 +0000 (21:56 +0000)]
Josef Wolf's extension that allows a $TESTDIR/gdbinit$testnum file that when
you use runtests.pl -g, will be sourced by gdb to allow additional fancy
or whatever you see fit
Daniel Stenberg [Wed, 19 Nov 2008 15:30:41 +0000 (15:30 +0000)]
I updated this example to use the modern paradigms of the socket API where
*_socket_all() and *_socket() aren't used at all but only *_socket_action()
is.
Daniel Stenberg [Wed, 19 Nov 2008 15:16:16 +0000 (15:16 +0000)]
- Brad Spencer brought the new function ares_gethostbyname_file() which simply
resolves a host name from the given file, using the regular hosts syntax.
Daniel Stenberg [Wed, 19 Nov 2008 14:22:01 +0000 (14:22 +0000)]
- Christian Krause reported and fixed a memory leak that would occur with HTTP
GSS/kerberos authentication (http://curl.haxx.se/bug/view.cgi?id=2284386)
Daniel Stenberg [Wed, 19 Nov 2008 10:15:19 +0000 (10:15 +0000)]
- Andreas Wurf and Markus Koetter helped me analyze a problem that Andreas got
when uploading files to a single FTP server using multiple easy handle
handles with the multi interface. Occasionally a handle would stall in
mysterious ways.
The problem turned out to be a side-effect of the ConnectionExists()
function's eagerness to re-use a handle for HTTP pipelining so it would
select it even if already being in use, due to an inadequate check for its
chances of being used for pipelnining.
Dan Fandrich [Mon, 17 Nov 2008 08:16:25 +0000 (08:16 +0000)]
Fixed an outdated mention of having keep strings around in curl_easy_setopt
calls. Added a paragraph explaining that libcurl takes care of low-level
protocol details. Made a few minor edits.
Daniel Stenberg [Sat, 15 Nov 2008 23:43:10 +0000 (23:43 +0000)]
based on a report by Jim Meyering, I went over and added checks for return
codes for all calls to malloc and strdup that were missing. I also changed
a few malloc(13) to use arrays on the stack and a few malloc(PATH_MAX) to
instead use aprintf() to lower memory use.
I also fixed a memory leak in Curl_nss_connect() when CURLOPT_ISSUERCERT is
in use.
Dan Fandrich [Fri, 14 Nov 2008 19:22:40 +0000 (19:22 +0000)]
Added .xml as one of the few common file extensions known by the multipart
form generator. Made the extensions part of the MIME type struct to reduce
the size and run-time relocations necessary to build the table.
Daniel Stenberg [Fri, 14 Nov 2008 16:42:05 +0000 (16:42 +0000)]
check for NULL returns from strdup() - reported by Jim Meyering
also prevent buffer overflow on MSDOS when you do for example -O on a url
with a file name part longer than PATH_MAX letters