changed u_int16_t to unsigned short because it is the only place within ares and curl where such a type would be used;
also it broke many autobuilds. We should probably introduce an ares_port_t if we want to use a type here.
Gisle Vanem [Sat, 5 Sep 2009 12:29:35 +0000 (12:29 +0000)]
Added 'ares_parse_srv_reply.obj'. Added definition of 'u_int16_t'. This is I don't like; we should not depend on such non-universal types in a public header. But this is just a quick fix.
Daniel Stenberg [Tue, 1 Sep 2009 14:27:01 +0000 (14:27 +0000)]
- Peter Sylvester made a debug featuer for Curl_resolv() that now will force
libcurl to resolve 'localhost' whatever name you use in the URL *if* you set
the --interface option to (exactly) "LocalHost". This will enable us to
write tests for custom hosts names but still use a local host server.
Daniel Stenberg [Tue, 1 Sep 2009 06:53:01 +0000 (06:53 +0000)]
- configure now tries to use pkg-config for a number of sub-dependencies even
when cross-compiling. The key to success is then you properly setup
PKG_CONFIG_PATH before invoking configure.
I also improved how NSS is detected by trying nss-config if pkg-config isn't
present, and as a last resort just use the lib name and force the user to
setup the LIBS/LDFLAGS/CFLAGS etc properly. The previous last resort would
add a range of various libs that would almost never be quite correct.
Daniel Stenberg [Mon, 31 Aug 2009 21:57:24 +0000 (21:57 +0000)]
73. if a connection is made to a FTP server but the server then just never
sends the 220 response or otherwise is dead slow, libcurl will not
acknowledge the connection timeout during that phase but only the "real"
timeout - which may surprise users as it is probably considered to be the
connect phase to most people. Brought up (and is being misunderstood) in:
http://curl.haxx.se/bug/view.cgi?id=2844077
Daniel Stenberg [Mon, 31 Aug 2009 20:49:30 +0000 (20:49 +0000)]
- When using the multi interface with FTP and you asked for NOBODY, you did no
QUOTE commands and the request used the same path as the connection had
already changed to, it would decide that no commands would be necessary for
the "DO" action and that was not handled properly but libcurl would instead
hang.
Kamil Dudka [Fri, 28 Aug 2009 12:06:51 +0000 (12:06 +0000)]
- Improved error message for not matching certificate subject name in
libcurl-NSS. Originally reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=516056#c9
Patrick Monnerat [Mon, 24 Aug 2009 12:57:25 +0000 (12:57 +0000)]
- Introduced a SYST-based test to properly set-up name format when dealing with the OS/400 FTP server.
- Fixed an ftp_readresp() bug preventing detection of failing control socket and causing FTP client to loop forever.
Daniel Stenberg [Mon, 24 Aug 2009 10:57:17 +0000 (10:57 +0000)]
- Eric Wong introduced support for the new option -T. (dot) that makes curl
read stdin in a non-blocking fashion. This also brings back -T- (minus) to
the previous blocking behavior since it could break stuff for people at
times.
Daniel Stenberg [Fri, 21 Aug 2009 12:01:36 +0000 (12:01 +0000)]
- Andre Guibert de Bruet pointed out a missing return code check for a
strdup() that could lead to segfault if it returned NULL. I extended his
suggest patch to now have Curl_retry_request() return a regular return code
and better check that.
Daniel Stenberg [Fri, 21 Aug 2009 07:11:20 +0000 (07:11 +0000)]
- Lots of good work by Krister Johansen, mostly related to pipelining:
Fix SIGSEGV on free'd easy_conn when pipe unexpectedly breaks
Fix data corruption issue with re-connected transfers
Fix use after free if we're completed but easy_conn not NULL
Dan Fandrich [Tue, 18 Aug 2009 00:18:54 +0000 (00:18 +0000)]
Pull the certificate files from the source directory. Ensure that the
certificate tests only run on a localhost-hosted test server since the
host name is explicitly checked.
Daniel Stenberg [Fri, 14 Aug 2009 18:09:42 +0000 (18:09 +0000)]
I think it's worth clarifying that curl DOES NOT validate a given URL more
than what's absolutely necessary:
curl will do its best to use what you pass to it as a URL. It is not trying to
validate it as a syntactically correct URL by any means but is instead
VERY liberal with what it accepts.
Kamil Dudka [Thu, 13 Aug 2009 16:04:51 +0000 (16:04 +0000)]
- Changed NSS code to not ignore the value of ssl.verifyhost and produce more
verbose error messages. Originally reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=516056
Daniel Stenberg [Wed, 12 Aug 2009 11:18:55 +0000 (11:18 +0000)]
Added a range of new fun date strings to try. This set of dates come from a
mail posted to the http-state mailing list, from Adam Barth, and is said to be
the set of date formats the Chrome browser code is tested against:
http://www.ietf.org/mail-archive/web/http-state/current/msg00129.html
libcurl parses most of them identically, but not all of them.
Daniel Stenberg [Wed, 12 Aug 2009 08:19:39 +0000 (08:19 +0000)]
- Carsten Lange reported a bug and provided a patch for TFTP upload and the
sending of the TSIZE option. I don't like fixing bugs just hours before
a release, but since it was broken and the patch fixes this for him I decided
to get it in anyway.
Daniel Stenberg [Tue, 11 Aug 2009 21:48:58 +0000 (21:48 +0000)]
- Peter Sylvester made the HTTPS test server use specific certificates for
each test, so that the test suite can now be used to actually test the
verification of cert names etc. This made an error show up in the OpenSSL-
specific code where it would attempt to match the CN field even if a
subjectAltName exists that doesn't match. This is now fixed and verified
in test 311.
Daniel Stenberg [Tue, 11 Aug 2009 20:43:12 +0000 (20:43 +0000)]
- Benbuck Nason posted the bug report #2835196
(http://curl.haxx.se/bug/view.cgi?id=2835196), fixing a few compiler
warnings when mixing ints and bools.
Dan Fandrich [Tue, 11 Aug 2009 18:11:40 +0000 (18:11 +0000)]
Include the Android make file in the source package even though the
config.h issue hasn't been completely solved. This will save some effort
for someone desperate to use curl on Android.
Patrick Monnerat [Tue, 11 Aug 2009 14:07:08 +0000 (14:07 +0000)]
Fix definition of CURLOPT_SOCKS5_GSSAPI_SERVICE from LONG to OBJECTPOINT
Fix OS400 makefile for tests to use the new Makefile.inc in libtest
Update the OS400 wrappers and RPG binding according to the current CVS source state
Gunter Knauf [Thu, 6 Aug 2009 11:10:30 +0000 (11:10 +0000)]
cast to fix 64bit build warnings. From manpage:
POSIX.1-2001. Note that RFC 2553 defines a prototype where the last parameter cnt is of type size_t.
Many systems follow RFC 2553. Glibc 2.0 and 2.1 have size_t, but 2.2 has socklen_t.
Daniel Stenberg [Mon, 3 Aug 2009 11:51:06 +0000 (11:51 +0000)]
- Timo Teras changed the reason code used in the resolve callback done when
ares_cancel() is used, to be ARES_ECANCELLED instead of ARES_ETIMEOUT to
better allow the callback to know what's happening.
Daniel Stenberg [Mon, 3 Aug 2009 11:29:17 +0000 (11:29 +0000)]
- Joshua Kwan fixed the init routine to fill in the defaults for stuff that
fails to get inited by other means. This fixes a case of when the c-ares
init fails when internet access is fone.
Daniel Stenberg [Mon, 3 Aug 2009 08:45:19 +0000 (08:45 +0000)]
Reverted the zero-byte-in-name check to instead rely on the fact that strlen
and the name length differ in those cases and thus leave the matching function
unmodified from before, as the matching functions never have to bother with
the zero bytes in legitimate cases. Peter Sylvester helped me realize that
this fix is slightly better as it leaves more code unmodified and makes the
detection a bit more obvious in the code.
Daniel Stenberg [Sun, 2 Aug 2009 22:34:00 +0000 (22:34 +0000)]
Extended my embedded-zero-in-cert-name fix based on a comment from Scott
Cantor. My previous attempt was half-baked and didn't cover the normal CN
case.
Daniel Stenberg [Sat, 1 Aug 2009 22:11:58 +0000 (22:11 +0000)]
- Curt Bogmine reported a problem with SNI enabled on a particular server. We
should introduce an option to disable SNI, but as we're in feature freeze
now I've addressed the obvious bug here (pointed out by Peter Sylvester): we
shouldn't try to enable SNI when SSLv2 or SSLv3 is explicitly selected.
Code for OpenSSL and GnuTLS was fixed. NSS doesn't seem to have a particular
option for SNI, or are we simply not using it?
Daniel Stenberg [Sat, 1 Aug 2009 21:56:59 +0000 (21:56 +0000)]
- Scott Cantor posted the bug report #2829955
(http://curl.haxx.se/bug/view.cgi?id=2829955) mentioning the recent SSL cert
verification flaw found and exploited by Moxie Marlinspike. The presentation
he did at Black Hat is available here:
https://www.blackhat.com/html/bh-usa-09/bh-usa-09-archives.html#Marlinspike
Apparently at least one CA allowed a subjectAltName or CN that contain a
zero byte, and thus clients that assumed they would never have zero bytes
were exploited to OK a certificate that didn't actually match the site. Like
if the name in the cert was "example.com\0theatualsite.com", libcurl would
happily verify that cert for example.com.
libcurl now better use the length of the extracted name, not assuming it is
zero terminated.
Daniel Stenberg [Sat, 1 Aug 2009 11:09:02 +0000 (11:09 +0000)]
- Tanguy Fautre pointed out that OpenSSL's function RAND_screen() (present
only in some OpenSSL installs - like on Windows) isn't thread-safe and we
agreed that moving it to the global_init() function is a decent way to deal
with this situation.
Daniel Stenberg [Sat, 1 Aug 2009 11:02:10 +0000 (11:02 +0000)]
- Alexander Beedie provided the patch for a noproxy problem: If I have set
CURLOPT_NOPROXY to "*", or to a host that should not use a proxy, I actually
could still end up using a proxy if a proxy environment variable was set.
Daniel Stenberg [Fri, 31 Jul 2009 11:16:04 +0000 (11:16 +0000)]
67. When creating multipart formposts. The file name part can be encoded with
something beyond ascii but currently libcurl will only pass in the verbatim
string the app provides. There are several browsers that already do this
encoding. The key seems to be the updated draft to RFC2231:
http://tools.ietf.org/html/draft-reschke-rfc2231-in-http-02